Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Termux Various Fixes And Improvements #1953

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
136 commits
Select commit Hold shift + click to select a range
f50d15d
Fix "Duplicate finish request for ActivityRecord" errors
agnostic-apollo Feb 26, 2021
00194eb
Add logcat errors in RunCommandService
agnostic-apollo Feb 27, 2021
80858ba
Fix path expansion in RunCommandService
agnostic-apollo Feb 27, 2021
108e4cb
Fix workdir logic in RunCommandService
agnostic-apollo Feb 27, 2021
85b2c44
Fix current working directory default value
agnostic-apollo Feb 27, 2021
5a96075
Update RunCommandService documentation
agnostic-apollo Feb 27, 2021
9fd2cf9
Fix NoClassDefFoundError exceptions for TermuxActivity
agnostic-apollo Feb 27, 2021
356a442
Request android.permission.DUMP permission
agnostic-apollo Mar 1, 2021
93a5bf8
Request android.permission.REQUEST_INSTALL_PACKAGES permission
agnostic-apollo Mar 2, 2021
ada5087
Partial refactor of the mess that is TerminalView
agnostic-apollo Mar 6, 2021
395759c
Restore keyboard input into terminal view when toggling extra-keys sl…
agnostic-apollo Mar 6, 2021
14c4986
Define `TermuxConstants` class to store all shared constants of Termu…
agnostic-apollo Mar 8, 2021
324a69f
Move terminal input related classed to com.termux.app.input package
agnostic-apollo Mar 9, 2021
dbf8477
Fix potential null exceptions
agnostic-apollo Mar 9, 2021
7b4acb5
Move Termux Properties to com.termux.app.settings.properties package
agnostic-apollo Mar 11, 2021
ef9e406
Update TermuxConstants
agnostic-apollo Mar 11, 2021
36be41d
Remove function that reads the "termux.properties" files from RunComm…
agnostic-apollo Mar 11, 2021
319446f
Disable TerminalView logging.
agnostic-apollo Mar 11, 2021
10d6eaa
Make TerminalView agnostic of "termux.properties" files.
agnostic-apollo Mar 11, 2021
5fd91b4
Rename com.termux.app.input package to com.termux.app.terminal
agnostic-apollo Mar 11, 2021
e72841b
Update TermuxConstants
agnostic-apollo Mar 12, 2021
ebf2e47
Fix typo in TermuxPropertyConstants
agnostic-apollo Mar 12, 2021
93b506a
Move Termux Preferences to com.termux.app.settings.preferences package
agnostic-apollo Mar 12, 2021
d39972b
Implement GUI based Termux settings manager and a centralized logging…
agnostic-apollo Mar 13, 2021
0225a8b
Fix hardcoded value in strings.xml
agnostic-apollo Mar 15, 2021
66f15d2
Remove moved files
agnostic-apollo Mar 15, 2021
3b5d311
Prefix DEFAULT_LOG_TAG even when a tag is passed while logging
agnostic-apollo Mar 15, 2021
11a236a
Update TerminalView and TerminalViewClient javadocs
agnostic-apollo Mar 15, 2021
7da847a
Update TermuxConstants
agnostic-apollo Mar 15, 2021
73af5c2
Move terminal io related classed to com.termux.app.terminal.io package
agnostic-apollo Mar 15, 2021
5e0b29b
Move DialogUtils to com.termux.app.utils package
agnostic-apollo Mar 15, 2021
c9e18e5
Refactor TermuxActivity
agnostic-apollo Mar 16, 2021
ff0440d
Allow users to adjust termux toolbar height with termux.properties
agnostic-apollo Mar 16, 2021
6f6d11f
Updated TermuxPreferenceConstants
agnostic-apollo Mar 16, 2021
4427c16
Update TermuxConstants
agnostic-apollo Mar 16, 2021
9e82561
Added SharedPreferenceUtils
agnostic-apollo Mar 16, 2021
2e7fd48
Update TermuxConstants
agnostic-apollo Mar 16, 2021
2a940df
Move general static functions from TermuxSharedProperties to SharedPr…
agnostic-apollo Mar 16, 2021
8c1c7ce
Update TermuxConstants
agnostic-apollo Mar 16, 2021
c1a377d
Update SharedPreferenceUtils
agnostic-apollo Mar 16, 2021
fb6e9b6
Update TermuxConstants
agnostic-apollo Mar 18, 2021
f969c01
Update TermuxConstants
agnostic-apollo Mar 18, 2021
bc02508
Fix dependencies ordering
agnostic-apollo Mar 18, 2021
d9b5344
Refactor TermuxService
agnostic-apollo Mar 18, 2021
ae260fa
Fix old bug where termux app would crash if sessions list ListView wa…
agnostic-apollo Mar 18, 2021
607ba3e
Update TermuxConstants
agnostic-apollo Mar 18, 2021
ec7568d
Add support for session actions for foreground session commands
agnostic-apollo Mar 18, 2021
b4995ef
Refactor RunCommandService
agnostic-apollo Mar 19, 2021
5d6a984
Added TERMUX_SERVICE#ACTION_SERVICE_EXECUTE Intent Logging
agnostic-apollo Mar 19, 2021
7d53a14
Reordered TermuxService.actionAcquireWakeLock()
agnostic-apollo Mar 19, 2021
8612a1d
Added plugin_error_notifications_enabled preference
agnostic-apollo Mar 19, 2021
f393e9b
Allow mPropertiesList to be null for SharedProperties
agnostic-apollo Mar 23, 2021
131f481
Add commonmark-spec markdown support with markwon library
agnostic-apollo Mar 23, 2021
c28990a
Add ShareUtils
agnostic-apollo Mar 23, 2021
134e217
Update Logger
agnostic-apollo Mar 23, 2021
3491956
Update TermuxUtils to add support for getting device and termux info …
agnostic-apollo Mar 23, 2021
9d36e9a
Add ReportActivity and ReportInfo
agnostic-apollo Mar 23, 2021
20d20f4
Added NotificationUtils to build and manage notifications
agnostic-apollo Mar 23, 2021
bccc35b
Added ExectionCommand
agnostic-apollo Mar 23, 2021
ef1ab19
Update TermuxConstants
agnostic-apollo Mar 23, 2021
31371b5
Fully integrate ExectionCommand into RunCommandService
agnostic-apollo Mar 23, 2021
1b5e5b5
Partially integrate ExectionCommand into TermuxService and BackgroundJob
agnostic-apollo Mar 23, 2021
92b804d
Add logging for termux bootstrap package installation and setup of st…
agnostic-apollo Mar 23, 2021
1bdf9bf
Change log level to warn from error when termux.properties file is mi…
agnostic-apollo Mar 23, 2021
b856e16
Move activities and fragments to respective packages
agnostic-apollo Mar 24, 2021
4eced52
Fix xml files naming convention
agnostic-apollo Mar 24, 2021
eeb8554
Fix string resources naming convention
agnostic-apollo Mar 24, 2021
7aa957c
Fix typos
agnostic-apollo Mar 24, 2021
9bbcc08
Fix variable prefix for intent extra
agnostic-apollo Mar 24, 2021
d3d6731
Fix typos
agnostic-apollo Mar 24, 2021
2b3f681
Add SettingsActivity to launcher shortcuts
agnostic-apollo Mar 24, 2021
3e0f74a
Fixed keep screen on default value
agnostic-apollo Mar 24, 2021
dff2794
Add ShellUtils to define shell related utils since they don't belong …
agnostic-apollo Mar 24, 2021
78a99fd
Add the TermuxSession class for linking a TerminalSession to an Execu…
agnostic-apollo Mar 24, 2021
249f7c6
Remove BackgroundJob
agnostic-apollo Mar 25, 2021
df03f0b
Update TermuxConstants
agnostic-apollo Mar 25, 2021
922f4f4
Update TextDataUtils.getTruncatedCommandOutput() to support truncatio…
agnostic-apollo Mar 25, 2021
7ca20fd
Update ExecutionCommand to make current and previous state private to…
agnostic-apollo Mar 25, 2021
f62febb
Add the TermuxTask class for linking a Process to an ExecutionCommand.
agnostic-apollo Mar 25, 2021
977cb34
Provide better errmsg if executable passed to RunCommandService is nu…
agnostic-apollo Mar 25, 2021
0230698
Fix unintentional wordwrap of ExecutionCommand arguments markdown
agnostic-apollo Mar 25, 2021
4e5d14e
Use NotificationUtils to handle TermuxService and RunCommandService n…
agnostic-apollo Mar 25, 2021
8e80e88
Set compileSdkVersion (NOT targetSdkVersion) to 29 so that Build.VERS…
agnostic-apollo Mar 25, 2021
d3ddb21
Warn users if Draw over other apps permission is missing
agnostic-apollo Mar 25, 2021
1ef8eb9
Add hide-soft-keyboard-on-startup property
agnostic-apollo Mar 25, 2021
5dee839
Update TermuxConstants
agnostic-apollo Mar 25, 2021
2cc6285
Remove leftover log entry from TermuxSessionClient
agnostic-apollo Mar 25, 2021
a2209dd
Add support for sending back background and foreground command result…
agnostic-apollo Mar 25, 2021
2afa4b4
Update TermuxConstants
agnostic-apollo Mar 25, 2021
480bad1
Use TermuxConstants for getting urls instead of using hardcoded strings
agnostic-apollo Mar 25, 2021
006d5ab
Disable markdown text selection for now since it stops URL clicks fro…
agnostic-apollo Mar 25, 2021
34bacfd
Fix terminal-emulator constructor used in tests
agnostic-apollo Mar 25, 2021
04da4b2
Send PendingIntent back for pre-execution errors generated for RUN_CO…
agnostic-apollo Mar 26, 2021
2a8d5e2
Add support for disabling soft keyboard completely with the "soft_key…
agnostic-apollo Mar 27, 2021
d7ea770
Move com.termux.models to com.termux.app.models package
agnostic-apollo Mar 27, 2021
15eb56d
Add PackageUtils and fix ReportActivity
agnostic-apollo Mar 28, 2021
49f53f5
Renamed TextDataUtils to DataUtils
agnostic-apollo Mar 28, 2021
d4653d0
Get TERMUX_VERSION while building shell environment via Termux packag…
agnostic-apollo Mar 29, 2021
cdbd38f
Move StreamGobbler to shell package
agnostic-apollo Apr 5, 2021
ada678d
Move get*LogStringEntry() functions to logger class
agnostic-apollo Apr 5, 2021
a323098
Update gradle version to 4.1.3
agnostic-apollo Apr 5, 2021
c0323fe
Move ShellUtils to shell package
agnostic-apollo Apr 5, 2021
d4fc34c
Move FileUtils to file package and define more file util functions
agnostic-apollo Apr 6, 2021
b2cd20c
Use FileUtils for bootstrap and shared storage symlinks setup
agnostic-apollo Apr 6, 2021
8598b92
Use FileUtils for clearing TMPDIR and move clearing function to Shell…
agnostic-apollo Apr 6, 2021
8a5442f
Update TermuxConstants
agnostic-apollo Apr 6, 2021
38323b1
Fix RUN_COMMAND Intent plugin api url
agnostic-apollo Apr 6, 2021
18b004a
Fix Logger function modifier order
agnostic-apollo Apr 6, 2021
cf5bb69
Add crash_report_notifications_enabled shared preferences
agnostic-apollo Apr 6, 2021
325a6f7
Fix SettingsActivity shortcut not showing on android 7 and fixed shor…
agnostic-apollo Apr 6, 2021
07e6ecd
Update TermuxConstants
agnostic-apollo Apr 6, 2021
69e4b57
Implement crash handler and reporting
agnostic-apollo Apr 6, 2021
067709b
Disable obfuscation of termux-app in release builds without disabling…
agnostic-apollo Apr 6, 2021
939338a
Allow users to report an issue from terminal transcript by selection …
agnostic-apollo Apr 6, 2021
81d97c3
Fix potential TransactionTooLargeException when sharing text
agnostic-apollo Apr 6, 2021
9cee710
Replace "if(" with "if ("
agnostic-apollo Apr 6, 2021
c9a476c
Add TermuxTaskerAppSharedPreferences to handle termux-tasker shared p…
agnostic-apollo Apr 6, 2021
682ce08
Create termux-shared library package for all termux constants and sha…
agnostic-apollo Apr 7, 2021
71dfefd
Add termux-shared library to github workflow so that its published
agnostic-apollo Apr 7, 2021
62a2104
Updated RunCommandService javadocs.
agnostic-apollo Apr 7, 2021
0c9b85a
Micro optimization for StreamGobbler
agnostic-apollo Apr 9, 2021
64fb2ce
Update TermuxConstants
agnostic-apollo Apr 10, 2021
df4d8ac
Add support for reporting issues to the termuxreports@groups.io email
agnostic-apollo Apr 10, 2021
0cd7cb8
Improve TermuxSession and TermuxTask
agnostic-apollo Apr 12, 2021
24a5493
Replace "if(" with "if ("
agnostic-apollo Apr 12, 2021
f888f35
Fix issue where TermuxService was stopped and Termux notification can…
agnostic-apollo Apr 12, 2021
a95e187
Assure "Process completed" string is written to terminal before sessi…
agnostic-apollo Apr 12, 2021
824b3e6
Rename termux terminal view and session client classes
agnostic-apollo Apr 12, 2021
192b208
Add support for stdin for background TermuxTasks
agnostic-apollo Apr 12, 2021
153818f
Fix typos
agnostic-apollo Apr 12, 2021
bbf03a0
The `TermuxConstants` class has been updated to `v0.19.0`. Check its …
agnostic-apollo Apr 12, 2021
f1034c2
Add support for stdin for background RUN_COMMAND intent and TERMUX_SE…
agnostic-apollo Apr 12, 2021
e5c5174
Fix TermuxActivityBroadcastReceiver wrongly designed intent actions a…
agnostic-apollo Apr 12, 2021
6293f5f
Added APT package info when generating "Report Issue" text
agnostic-apollo Apr 12, 2021
3d46849
Replace "if(" with "if ("
agnostic-apollo Apr 12, 2021
567eeca
Bump to v0.109
agnostic-apollo Apr 12, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/publish_libraries.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ on:
paths:
- 'terminal-emulator/build.gradle'
- 'terminal-view/build.gradle'
- 'termux-shared/build.gradle'

jobs:
build:
Expand Down
32 changes: 25 additions & 7 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,36 @@ android {
ndkVersion project.properties.ndkVersion

dependencies {
implementation "androidx.annotation:annotation:1.1.0"
implementation "androidx.viewpager:viewpager:1.0.0"
implementation "androidx.annotation:annotation:1.2.0"
implementation "androidx.core:core:1.5.0-rc01"
implementation "androidx.drawerlayout:drawerlayout:1.1.1"
implementation "androidx.preference:preference:1.1.1"
implementation "androidx.viewpager:viewpager:1.0.0"
implementation "com.google.guava:guava:24.1-jre"
implementation "io.noties.markwon:core:$markwonVersion"
implementation "io.noties.markwon:ext-strikethrough:$markwonVersion"
implementation "io.noties.markwon:linkify:$markwonVersion"
implementation "io.noties.markwon:recycler:$markwonVersion"

implementation project(":terminal-view")
implementation project(":termux-shared")
}

defaultConfig {
applicationId "com.termux"
minSdkVersion project.properties.minSdkVersion.toInteger()
targetSdkVersion project.properties.targetSdkVersion.toInteger()
versionCode 108
versionName "0.108"
versionCode 109
versionName "0.109"

manifestPlaceholders.TERMUX_PACKAGE_NAME = "com.termux"
manifestPlaceholders.TERMUX_APP_NAME = "Termux"
manifestPlaceholders.TERMUX_API_APP_NAME = "Termux:API"
manifestPlaceholders.TERMUX_BOOT_APP_NAME = "Termux:Boot"
manifestPlaceholders.TERMUX_FLOAT_APP_NAME = "Termux:Float"
manifestPlaceholders.TERMUX_STYLING_APP_NAME = "Termux:Styling"
manifestPlaceholders.TERMUX_TASKER_APP_NAME = "Termux:Tasker"
manifestPlaceholders.TERMUX_WIDGET_APP_NAME = "Termux:Widget"

externalNativeBuild {
ndkBuild {
Expand Down Expand Up @@ -76,8 +94,8 @@ android {
}

dependencies {
testImplementation 'junit:junit:4.13.1'
testImplementation 'org.robolectric:robolectric:4.4'
testImplementation "junit:junit:4.13.2"
testImplementation "org.robolectric:robolectric:4.4"
}

task versionName {
Expand Down Expand Up @@ -135,7 +153,7 @@ clean {
}
}

task downloadBootstraps(){
task downloadBootstraps() {
doLast {
def version = "2021.02.19-r1"
downloadBootstrap("aarch64", "1e3d80bd8cc8771715845ab4a1e67fc125d84c4deda3a1a435116fe4d1f86160", version)
Expand Down
5 changes: 3 additions & 2 deletions app/proguard-rules.pro
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,6 @@
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html

-renamesourcefileattribute SourceFile
-keepattributes SourceFile,LineNumberTable
-dontobfuscate
#-renamesourcefileattribute SourceFile
#-keepattributes SourceFile,LineNumberTable
157 changes: 99 additions & 58 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,17 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.termux"
android:installLocation="internalOnly"
android:sharedUserId="com.termux"
android:sharedUserLabel="@string/shared_user_label" >

<uses-feature android:name="android.hardware.touchscreen" android:required="false" />
<uses-feature android:name="android.software.leanback" android:required="false" />

<permission android:name="com.termux.permission.RUN_COMMAND"
android:label="@string/run_command_permission_label"
android:description="@string/run_command_permission_description"
android:sharedUserId="${TERMUX_PACKAGE_NAME}"
android:sharedUserLabel="@string/shared_user_label">

<uses-feature
android:name="android.hardware.touchscreen"
android:required="false" />
<uses-feature
android:name="android.software.leanback"
android:required="false" />

<permission
android:name="${TERMUX_PACKAGE_NAME}.permission.RUN_COMMAND"
android:description="@string/permission_run_command_description"
android:icon="@mipmap/ic_launcher"
android:label="@string/permission_run_command_label"
android:protectionLevel="dangerous" />

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Expand All @@ -20,62 +26,102 @@
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.READ_LOGS" />
<uses-permission android:name="android.permission.DUMP" />
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />

<application
android:extractNativeLibs="true"
android:name=".app.TermuxApplication"
android:allowBackup="false"
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:banner="@drawable/banner"
android:extractNativeLibs="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/application_name"
android:theme="@style/Theme.Termux"
android:supportsRtl="false" >
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="false"
android:theme="@style/Theme.Termux">

<!-- This (or rather, value 2.1 or higher) is needed to make the Samsung Galaxy S8
mark the app with "This app is optimized to run in full screen." -->
<meta-data android:name="android.max_aspect" android:value="10.0" />
<!--
This (or rather, value 2.1 or higher) is needed to make the Samsung Galaxy S8
mark the app with "This app is optimized to run in full screen."
-->
<meta-data
android:name="android.max_aspect"
android:value="10.0" />

<activity
android:name="com.termux.app.TermuxActivity"
android:label="@string/application_name"
android:configChanges="orientation|screenSize|smallestScreenSize|density|screenLayout|uiMode|keyboard|keyboardHidden|navigation"
android:name=".app.TermuxActivity"
android:configChanges="orientation|screenSize|smallestScreenSize|density|screenLayout|uiMode|keyboard|keyboardHidden|navigation"
android:label="@string/application_name"
android:launchMode="singleTask"
android:resizeableActivity="true"
android:windowSoftInputMode="adjustResize|stateAlwaysVisible" >
android:windowSoftInputMode="adjustResize|stateAlwaysVisible">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
</intent-filter>
<meta-data android:name="android.app.shortcuts" android:resource="@xml/shortcuts" />

<meta-data
android:name="android.app.shortcuts"
android:resource="@xml/shortcuts" />
</activity>

<activity-alias
android:name=".HomeActivity"
android:targetActivity=".app.TermuxActivity">

<!-- Launch activity automatically on boot on Android Things devices -->
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.IOT_LAUNCHER" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity-alias>

<activity
android:name="com.termux.app.TermuxHelpActivity"
android:name=".app.activities.HelpActivity"
android:exported="false"
android:theme="@android:style/Theme.Material.Light.DarkActionBar"
android:label="@string/application_name"
android:parentActivityName=".app.TermuxActivity"
android:resizeableActivity="true"
android:label="@string/application_name" />
android:theme="@android:style/Theme.Material.Light.DarkActionBar" />

<activity
android:name="com.termux.filepicker.TermuxFileReceiverActivity"
android:label="@string/application_name"
android:taskAffinity="com.termux.filereceiver"
android:name=".app.activities.SettingsActivity"
android:exported="true"
android:label="@string/title_activity_termux_settings"
android:theme="@style/Theme.AppCompat.Light.DarkActionBar" />

<activity
android:name=".app.activities.ReportActivity"
android:theme="@style/Theme.AppCompat.TermuxReportActivity"
android:documentLaunchMode="intoExisting"
/>

<activity
android:name=".filepicker.TermuxFileReceiverActivity"
android:excludeFromRecents="true"
android:label="@string/application_name"
android:noHistory="true"
android:resizeableActivity="true"
android:noHistory="true">
android:taskAffinity="${TERMUX_PACKAGE_NAME}.filereceiver">

<!-- Accept multiple file types when sending. -->
<intent-filter>
<action android:name="android.intent.action.SEND"/>
<action android:name="android.intent.action.SEND" />

<category android:name="android.intent.category.DEFAULT" />

<data android:mimeType="application/*" />
<data android:mimeType="audio/*" />
<data android:mimeType="image/*" />
Expand All @@ -86,8 +132,10 @@
</intent-filter>
<!-- Accept multiple file types to let Termux be usable as generic file viewer. -->
<intent-filter tools:ignore="AppLinkUrlError">
<action android:name="android.intent.action.VIEW"/>
<action android:name="android.intent.action.VIEW" />

<category android:name="android.intent.category.DEFAULT" />

<data android:mimeType="application/*" />
<data android:mimeType="audio/*" />
<data android:mimeType="image/*" />
Expand All @@ -96,51 +144,44 @@
</intent-filter>
</activity>

<activity-alias
android:name=".HomeActivity"
android:targetActivity="com.termux.app.TermuxActivity">

<!-- Launch activity automatically on boot on Android Things devices -->
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.IOT_LAUNCHER"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity-alias>

<provider
android:name=".filepicker.TermuxDocumentsProvider"
android:authorities="com.termux.documents"
android:grantUriPermissions="true"
android:authorities="${TERMUX_PACKAGE_NAME}.documents"
android:exported="true"
android:grantUriPermissions="true"
android:permission="android.permission.MANAGE_DOCUMENTS">
<intent-filter>
<action android:name="android.content.action.DOCUMENTS_PROVIDER" />
</intent-filter>
</provider>

<service
android:name="com.termux.app.TermuxService"
android:name=".app.TermuxService"
android:exported="false" />

<service
android:name=".app.RunCommandService"
android:exported="true"
android:permission="com.termux.permission.RUN_COMMAND" >
android:permission="${TERMUX_PACKAGE_NAME}.permission.RUN_COMMAND">
<intent-filter>
<action android:name="com.termux.RUN_COMMAND" />
<action android:name="${TERMUX_PACKAGE_NAME}.RUN_COMMAND" />
</intent-filter>
</service>

<receiver android:name=".app.TermuxOpenReceiver" />

<provider android:authorities="com.termux.files"
android:readPermission="android.permission.permRead"
android:exported="true"
android:grantUriPermissions="true"
android:name="com.termux.app.TermuxOpenReceiver$ContentProvider" />
<meta-data android:name="com.sec.android.support.multiwindow" android:value="true" />
<meta-data android:name="com.samsung.android.multidisplay.keep_process_alive" android:value="true"/>
<provider
android:name=".app.TermuxOpenReceiver$ContentProvider"
android:authorities="${TERMUX_PACKAGE_NAME}.files"
android:exported="true"
android:grantUriPermissions="true"
android:readPermission="android.permission.permRead" />

<meta-data
android:name="com.sec.android.support.multiwindow"
android:value="true" />
<meta-data
android:name="com.samsung.android.multidisplay.keep_process_alive"
android:value="true" />
</application>

</manifest>
Loading