Gesture upstream rebase 2025 11 10 - #7
Open
craigcomstock wants to merge 931 commits into
Open
Conversation
…xService starts a session Activity will only be recreated when `termux-reload-settings` is run or `night-mode` config does not equal current system mode when TermuxActivity is initially started. Running `termux-reload-settings` can cause some problems if some variable whose state should be maintained or reset is not being done so correctly, like termux session shortcuts weren't before 4fd48a5. It requires further testing and any bugs should be reported.
… or termux-reload-settings was used If TermuxActivity was recreated then the original intent was re-delivered, resulting in a new session being re-added each time. Closes termux#2566
…terminal on activity re-creation The fix in c6b4114 was not working for it.
Required for day/night theming and should fix issues where both views were translucent with light terminal color themes.
…terOnCreate as per variable naming convention
…ound due to android bg restrictions The crash happens due to android 8.0 background restrictions if TermuxActivity is not in foreground/whitelist and attempts to start TermuxService. With this commit, the app will not crash but will just exit with a toast message. https://developer.android.com/about/versions/oreo/background#services https://cs.android.com/android/platform/superproject/+/android-12.0.0_r4:frameworks/base/services/core/java/com/android/server/am/ActiveServices.java;l=722 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.termux/com.termux.app.TermuxActivity}: java.lang.IllegalStateException: Not allowed to start service Intent { cmp=com.termux/.app.TermuxService }: app is in background uid UidRecord{533ae62 u0a187 TPSL idle procs:1 seq(0,0,0)} at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2947) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3082) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1832) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:201) at android.app.ActivityThread.main(ActivityThread.java:6821) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873) Caused by: java.lang.IllegalStateException: Not allowed to start service Intent { cmp=com.termux/.app.TermuxService }: app is in background uid UidRecord{533ae62 u0a187 TPSL idle procs:1 seq(0,0,0)} at android.app.ContextImpl.startServiceCommon(ContextImpl.java:1587) at android.app.ContextImpl.startService(ContextImpl.java:1542) at android.content.ContextWrapper.startService(ContextWrapper.java:674) at com.termux.app.TermuxActivity.onCreate(TermuxActivity.java:242) at android.app.Activity.performCreate(Activity.java:7224) at android.app.Activity.performCreate(Activity.java:7213) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1272) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2927) ... 11 more Closes termux#2552
…HANTOM_PROCS value in about page MONITOR_PHANTOM_PROCS will only be shown in Android 12+ devices and will be marked "<unsupported>" if its not supported in current android build. It will show in Termux Settings->About->Device Info->Software and in reports. Flag is available on Pixel Android 12L beta 3 and Android 13. Check FeatureFlagUtils for more details. Getting supported feature flags and their values is done through reflection on android "android.util.FeatureFlagUtils" class and requires bypassing android hidden API restrictions. Related issue termux#2366 https://issuetracker.google.com/u/1/issues/205156966#comment27
Docs: Fix typo
…ppSharedProperties class The `TermuxAppSharedProperties.properties` will exist in `termux-shared` library and only the single static instance will be reloaded whenever needed, instead of different activities and services maintaining their own instances. The classes in `termux-shared` library will also get access to the properties for their own needs. The night mode set in `TermuxApplication` and terminal rows set in `TermuxService` will no longer require loading props from disk. Updating `allow-external-apps` value will now require restarting termux or running `termux-reload-settings` since value will no longer be loaded from disk every time.
…d runner This starts the support for adb, root and other custom runners for shell commands. Previously only terminal and background tasks in app shells were supported. `TERMUX_SERVICE.EXTRA_BACKGROUND` and `RUN_COMMAND_SERVICE.EXTRA_BACKGROUND` extras have been deprecated and instead respective `EXTRA_RUNNER` extra keys should be used. Currently supported extra values are `terminal-session` and `app-shell`. In future, `adb-shell` and `root-shell` are planned to be supported as well.
…iple permissions correctly
…EXTERNAL_STORAGE` permission and call `Environment.isExternalStorageManager()`
…muxUtils.getAppInfoMarkdownString()` is a plugin app
… `TermuxUtils.getAppInfoMarkdownString()`
…e plugin apps may need to read values modified by termux app process
…rashHandler` so that `CrashHandlerClient` can decide which exceptions to log and add custom logic
….termux.crash.TermuxCrashUtils` so that plugins trigger plugin notifications too Calls to `notifyAppCrashFromCrashLogFile()` will now be synchronized as well.
…ed by `TermuxActivity` to notify users of plugin app crashes Once plugins integrate changes for `TermuxCrashUtils.onPostLogCrash()`, they will send the `ACTION_NOTIFY_APP_CRASH` broadcast when an uncaught exception is caught by `CrashHandler`. If `TermuxActivity` is in foreground, then it will receive the broadcast and notify user of the crash by reading it from the crash log file without the user having to restart termux app to be notified.
- https://resources.github.com/github-secure-open-source-fund - https://github.blog/open-source/maintainers/securing-the-supply-chain-at-scale-starting-with-71-important-open-source-projects - https://termux.dev/en/posts/general/2025/08/11/termux-selected-for-github-secure-open-source-fund-session-2.html The `github.png` logo is sourced from https://github.com/logos
- https://nlnet.nl/mobifree - https://nlnet.nl/news/2024/20241111-NGI-Mobifree-grants.html - https://termux.dev/en/posts/general/2024/11/11/termux-selected-for-nlnet-ngi-mobifree-grant.html The `nlnet-ngi-mobifree.png` logo is sourced from https://nlnet.nl/logo
- https://www.cloudflare.com - https://packages-cf.termux.dev Clouflare has served around 36TB (32TB cached) data, 39M requests, 1M unique visitors in last 30 days for our https://termux.dev domain, and has potentially served 100s to 1000s of TBs of data over the years for free for Termux, primarily from the https://packages-cf.termux.dev `apt` packages repo, which is a cloudflare backed variant of our primary repo https://packages.termux.dev. The `cloudflare.png` logo is sourced from www.cloudflare.com/press-kit
… everything needed, mostly works on square android watch!
…wn gestures for font increase/decrease since we took away ability to pinch zoom in terminal view
… so updates going the wrong place
…ar sessions maybe
…ich seems to work
…t out responsiveness that I fixed with an interstitial activity
…hard-coded to enable adding more gesture prefix commands like copy paste
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.