Commit Graph

18 Commits

Author SHA1 Message Date
yas99en
2a5d5b9828 Ported ctrl-space workaround from latest termux. 2021-05-30 00:30:08 +09:00
Matthew Tighe
295349e867
Fix compilation issues while targeting Q. (#909)
* Get working nav example for app details.

* Mirror navigation implementation across components.

* Instantiate arg fields lazily.

* Fix navigation.

* Fix styling.

* Fix a bunch of lint warnings.

* Remove most compilation warnings.

* Suppress viewmodel cast warnings.

* Remove viewmodel instantiation experiment.

* Remove usage of generated Directions classes.

* Refactor ServerUtility logging.

* Reset UlaFiles property accessibility.

* Lint

* Fix ServerUtilityTest

* Remove redundant log call.

* Lint
2019-06-20 11:03:42 -07:00
Matthew Tighe
97a6809067
Add clarifier to beta version names. Fix automated changelogs. (#887)
* Add beta build type to gradle.

* Update signing configs and CD jobs.

* Fix automated changelogs.

* Refine version name and add comment.

* Move versionCode to expected directory for fastlane.

* Treat version name the same as code.
2019-06-11 16:01:02 -07:00
Thomas Luong
b73252ea94 Hotfix notification crash (#872)
* Set matching notification channel IDs on terminal and app side

* Remove notification channel id from string resources

* Upgrade version code
2019-06-05 14:46:02 -07:00
Matthew Tighe
8618867acd
Fix executables for older Android versions. (#863)
* Fix libraries to be compatible with older SDK versions.

* Link all lib files to files/support.

* Update test and error handling.

* Lint.

* Remove commented config.
2019-06-04 11:16:37 -07:00
Matthew Tighe
91b8110c2a
Bundle executables in lib directory for Q compliance. (#857)
* Use lib directory for BusyboxExecutor and TermuxService.

* Stop fetching asset lists for support assets.

* Add gradle tasks to fetch, unzip, and move assets into lib.

* Run asset task if files aren't present on build.

* Update asset generation flow to account for ignoring support repo.

* Move assets from lib to support.

* Get implementation into working order.

* Fix test compilation errors.

* Fix BusyboxExecutorTest.

* Fix AssetRepositoryTest.

* Lint.

* Fix comments.

* Write UlaFiles tests.

* Update gradle to work with current assets.

* Lint again.

* Update gradle task to work with updated support release.
2019-05-31 12:56:34 -07:00
Thomas Luong
207dc2f776 Migrate Terminal Code to AndroidX (#856)
* Disable jetifier

* Migrate navigation

* Migrate annotations library

* Migrate support core ui

* Remove enableJetifier
2019-05-30 15:34:36 -07:00
Thomas Luong
cfd9e26195 Improve notifications (#855)
* Add intent extra filter for stopping all sessions

* Change notification ID and set notification groups

* Remove notification channel for terminal

* Add stop sessions action

* Set userland notification as group summary
2019-05-30 15:15:57 -07:00
corbinlc
69f41c163c Support 2nd account (#837)
* Support 2nd account, almost

* linting

* update based on review
2019-05-20 09:00:46 -07:00
Matthew Tighe
2517332db9
Gradle improvements (#833)
* Some small improvements to tasks.

* Update dependencies and build.gradle file structure.

* Upgrade jacoco.
2019-05-15 16:12:02 -07:00
Matthew Tighe
75345bae1f
Androidx migration (#810)
* Migrate to androidx.

* Fix jacoco and upgrade some library versions.

* Remove anko.

* Fix settings.

* Fix nav bar color.

* Fix ktlint.

* Fix connected tests.
2019-05-09 11:10:57 -07:00
Thomas Luong
a639b0a10c Add extra keys to terminal view (#743)
* Add second set of extra-keys, which is accessible by swiping to left

* Extra keys will be reduced in height by half

* When swiping on terminal extra keys row, the first touched key should not be counted as an input

* Revert changes related to having two extra-keys rows, instead opting for a two-row layout
2019-04-02 10:43:37 -07:00
Thomas Luong
b70c25ad37 Fix crash when acquiring wakelock (#663)
* This will give the app permission for acquiring a wake lock

* Update ACRA version which fixes the wakelock permission issue

* Remove previous manifest change since upgrading ACRA version will do the same.
2019-02-28 15:20:17 -08:00
MatthewTighe
18460f5125 Upgrade to v2.1.2. 2019-01-11 17:11:42 -08:00
Thomas Luong
a5932a0676 Handle terminal notification press (#515)
* Check if service is bound before attempting to unbind

* Set initial value of `shouldUnbind`
2019-01-11 16:09:09 -08:00
Matthew Tighe
882cf99633
Gradle improvements (#510)
* Remove unused manifest attribute.

* Trim gradle files and reduce terminal dependency chain.

* Remove terminal minification and remove redundant ktlint task from CircleCI.

* Remove redundant settings.gradle.
2019-01-11 10:34:33 -08:00
Thomas Luong
ef23129861
Hotfix for terminal NPE bug (#492)
* Simplify regex for intent parsing, pass intent data via string extra and add checks for string to ensure not empty.

* Reduce RAM size to 2gb for circle CI

* Handles case when another app sends an ssh intent to UserLAnd by logging an error message.  Also parsing will happen in termuxActivity, where the terminal intent is initially received rather than termuxService.

* Avoid runtime exceptions if intent data is null, instead log an error

* Add parallel building because terminal is a decoupled module.  Also lower the total memory limit for CI to be less than 4gb

* When error occurs, display the error to the user and take them back to the main UserLAnd app.

* Convert the literal strings to string resources.
2019-01-03 16:17:01 -08:00
Thomas Luong
550d482fea Adding built-in terminal (#479)
* Add termux code

* Fix grade to include terminal code as module dependencies

* Add download links to Dbclient and termux dependencies from assets repo.

* Use termux bootstrap files download link as before

* Remove check for if SSH client is present since SSH client will always be available (built in terminal)

* Move intent parsing to TermuxService class

* Add ability to run more than one startup command.  First command will always be "mv libtermuxauth.so libtermux-auth.so" because dependency needs hyphen.  Second is dbclient connection to the filesystem.

* Change intent action to match what terminal activity is expecting

* Change LD_LIBRARY_PATH to be in the support folder

* Copies files instead of renaming to avoid redownloading the incorrectly named file everytime we start a session

* TermuxActivity pass intent data to termux service to use as parameters for dbclient

* Remove DocumentsProvider and FileReceiver classes

* Remove HelpActivity and OpenReciever classes

* Remove readme and text regarding the termux help menu

* Clearing unused values in termux manifest

* Add gradle files for each terminal module

* Changed parsing of intent data because data format changed.  Also remove option to boot into system shell.  Always start with dbclient

* Fix issue of not being able to add a new tab with dbclient

* Check if setup is needed everytime terminal is open

* Only have one activity of terminal at a time

* Add support for filenames that have hyphen characters. Set split() limit to 3 will always return three elements, UserLAnd, the branch and the filename.

* Remove need to download files from termux servers

* Remove need for using cp for renaming downloaded file (libtermux-auth.so)

* Remove need to create a termSession when service starts.  Session will be created upon receiving intent anyways.

* Change "enter" button of keyboard

* Workaround for not being able to use two different host keys.

* Rename notification channel name

* Lint and update UserLAnd gradle version to match termux

* Wrap dbclient in a busybox command

* Use dbclient-cleanup branch rather than add-dbclient branch for the support files.  Revert RemoteAppsSource to use master branch.

* Regex will split the string into two strings:  filename and the numerical timestamp based on the last occurring hyphen.  (fixes situation where filename has a hyphen)

* Update license to GPLv3

* Update gradle version to match termux gradle version

* Remove files unneeded for core functionality such as graphics and CI info

* Rename terminal name, remove termux bootstrap strings and remove terminal styling text

* Now dbclient-cleanup asset branch is merged to staging, use staging branch for support assets

* Readd storage permissions for terminal

* CircleCI use the docker image "circleci/android:api-28-ndk"

* Remove unneeded unit--test

* Re-add notification action handling

* Linting

* Re-add terminal notification ability to release wakelock

* Increasing CircleCI memory availability
2018-12-28 13:17:32 -08:00