From 2c265491627f1d6ce6c593f6f7e812e70098cfc9 Mon Sep 17 00:00:00 2001 From: Fredrik Fornwall Date: Wed, 5 Apr 2017 21:37:45 +0200 Subject: [PATCH 01/98] Add .idea/runConfigurations.xml --- .idea/runConfigurations.xml | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 .idea/runConfigurations.xml diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml new file mode 100644 index 0000000..7f68460 --- /dev/null +++ b/.idea/runConfigurations.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file From 5cf6765726d67ab61fee793059ba7d20fb61485b Mon Sep 17 00:00:00 2001 From: Fredrik Fornwall Date: Mon, 22 May 2017 14:02:22 +0200 Subject: [PATCH 02/98] Change extractNativeLibs to true This is to work around an F-Droid build issue (#4). --- app/build.gradle | 4 ++-- app/src/main/AndroidManifest.xml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 630d918..5b91c89 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -8,8 +8,8 @@ android { applicationId "com.termux.window" minSdkVersion 21 targetSdkVersion 25 - versionCode 9 - versionName "0.9" + versionCode 10 + versionName "0.10" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index b46aca9..2581f9b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -9,7 +9,7 @@ Date: Tue, 7 Nov 2017 02:39:37 +0100 Subject: [PATCH 03/98] Update gradle configuration --- app/build.gradle | 19 ++++++------------- build.gradle | 6 +++--- gradle/wrapper/gradle-wrapper.jar | Bin 54212 -> 54727 bytes gradle/wrapper/gradle-wrapper.properties | 5 ++--- gradlew | 6 +++--- 5 files changed, 14 insertions(+), 22 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 5b91c89..839dd55 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,17 +1,15 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 25 - buildToolsVersion "25.0.2" + compileSdkVersion 27 + buildToolsVersion "27.0.0" defaultConfig { applicationId "com.termux.window" minSdkVersion 21 - targetSdkVersion 25 - versionCode 10 - versionName "0.10" - - testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + targetSdkVersion 27 + versionCode 11 + versionName "0.11" } buildTypes { @@ -24,13 +22,8 @@ android { } dependencies { - compile 'com.android.support:support-annotations:25.3.1' + compile 'com.android.support:support-annotations:27.0.0' compile 'com.termux:terminal-view:0.49' testCompile 'junit:junit:4.12' - - androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { - exclude group: 'com.android.support', module: 'support-annotations' - }) - } diff --git a/build.gradle b/build.gradle index 3ee2d98..d180f8f 100644 --- a/build.gradle +++ b/build.gradle @@ -1,16 +1,16 @@ -// Top-level build file where you can add configuration options common to all sub-projects/modules. - buildscript { repositories { + google() jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:2.3.1' + classpath 'com.android.tools.build:gradle:3.0.0' } } allprojects { repositories { + google() jcenter() } } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index eac8c4a1e1cd4a804d6bb953bd7248e926025859..27768f1bbac3ce2d055b20d521f12da78d331e8e 100644 GIT binary patch delta 20765 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%0D)gzKw;{a6YqQ&12_3@5)J+YcUcegko+iZcea$ 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 delta 20140 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

(Hx9!OIq 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 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index dd9949e..62e1e30 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,5 @@ -#Mon Mar 06 01:34:12 CET 2017 +distributionUrl=https\://services.gradle.org/distributions/gradle-4.3-bin.zip distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-3.4.1-bin.zip +zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index 4453cce..cccdd3d 100755 --- a/gradlew +++ b/gradlew @@ -33,11 +33,11 @@ DEFAULT_JVM_OPTS="" # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" -warn ( ) { +warn () { echo "$*" } -die ( ) { +die () { echo echo "$*" echo @@ -155,7 +155,7 @@ if $cygwin ; then fi # Escape application args -save ( ) { +save () { for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done echo " " } From ef3c3d978cede63b87ab2993c96bdd7a007979dd Mon Sep 17 00:00:00 2001 From: Fredrik Fornwall Date: Tue, 7 Nov 2017 02:40:40 +0100 Subject: [PATCH 04/98] Add VIBRATE permission --- app/src/main/AndroidManifest.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 2581f9b..1c513a2 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -7,6 +7,8 @@ + + Date: Tue, 7 Nov 2017 02:41:09 +0100 Subject: [PATCH 05/98] Do not show a toast when clipboard set --- .../com/termux/window/TermuxFloatService.java | 3 +-- .../java/com/termux/window/TermuxFloatView.java | 17 +---------------- 2 files changed, 2 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/com/termux/window/TermuxFloatService.java b/app/src/main/java/com/termux/window/TermuxFloatService.java index 6720406..70193e4 100644 --- a/app/src/main/java/com/termux/window/TermuxFloatService.java +++ b/app/src/main/java/com/termux/window/TermuxFloatService.java @@ -92,7 +92,7 @@ public void onCreate() { Toast toast = Toast.makeText(this, R.string.initial_instruction_toast, Toast.LENGTH_LONG); toast.setGravity(Gravity.CENTER, 0, 0); - TextView v = (TextView) toast.getView().findViewById(android.R.id.message); + TextView v = toast.getView().findViewById(android.R.id.message); if (v != null) v.setGravity(Gravity.CENTER); toast.show(); @@ -232,7 +232,6 @@ public void onSessionFinished(TerminalSession finishedSession) { @Override public void onClipboardText(TerminalSession pastingSession, String text) { - mFloatingWindow.showToast("Clipboard set:\n\"" + text + "\"", true); ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); clipboard.setPrimaryClip(new ClipData(null, new String[]{"text/plain"}, new ClipData.Item(text))); } diff --git a/app/src/main/java/com/termux/window/TermuxFloatView.java b/app/src/main/java/com/termux/window/TermuxFloatView.java index 0b08044..ce5c07b 100644 --- a/app/src/main/java/com/termux/window/TermuxFloatView.java +++ b/app/src/main/java/com/termux/window/TermuxFloatView.java @@ -30,11 +30,6 @@ public class TermuxFloatView extends LinearLayout { TerminalView mTerminalView; - /** - * The last toast shown, used cancel current toast before showing new in {@link #showToast(String, boolean)}. - */ - Toast mLastToast; - private boolean withFocus = true; int initialX; int initialY; @@ -86,7 +81,7 @@ private static int computeLayoutFlags(boolean withFocus) { } public void initializeFloatingWindow() { - mTerminalView = (TerminalView) findViewById(R.id.terminal_view); + mTerminalView = findViewById(R.id.terminal_view); mTerminalView.setOnKeyListener(new TermuxFloatViewClient(this)); } @@ -207,16 +202,6 @@ void changeFocus(boolean newFocus) { setAlpha(newFocus ? ALPHA_FOCUS : ALPHA_NOT_FOCUS); } - /** - * Show a toast and dismiss the last one if still visible. - */ - void showToast(String text, boolean longDuration) { - if (mLastToast != null) mLastToast.cancel(); - mLastToast = Toast.makeText(getContext(), text, longDuration ? Toast.LENGTH_LONG : Toast.LENGTH_SHORT); - mLastToast.setGravity(Gravity.TOP, 0, 0); - mLastToast.show(); - } - public void closeFloatingWindow() { mWindowManager.removeView(this); } From b274a0987868060f3cff0ce90a0de6b8176d7d6c Mon Sep 17 00:00:00 2001 From: Fredrik Fornwall Date: Tue, 7 Nov 2017 04:12:55 +0100 Subject: [PATCH 06/98] Update buildToolsVersion to 27.0.1 --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 839dd55..3b08a9d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -2,7 +2,7 @@ apply plugin: 'com.android.application' android { compileSdkVersion 27 - buildToolsVersion "27.0.0" + buildToolsVersion "27.0.1" defaultConfig { applicationId "com.termux.window" From 7cbeb652ccf381f9f0add718c664f69b6c66e90b Mon Sep 17 00:00:00 2001 From: Fredrik Fornwall Date: Tue, 7 Nov 2017 04:38:51 +0100 Subject: [PATCH 07/98] Update terminal-view version --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 3b08a9d..2d86fec 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -23,7 +23,7 @@ android { dependencies { compile 'com.android.support:support-annotations:27.0.0' - compile 'com.termux:terminal-view:0.49' + compile 'com.termux:terminal-view:0.50' testCompile 'junit:junit:4.12' } From 11fb650554d971a4dfc297b492a898e1c01a445e Mon Sep 17 00:00:00 2001 From: Fredrik Fornwall Date: Tue, 7 Nov 2017 05:05:29 +0100 Subject: [PATCH 08/98] Use notification channels on Android 8.0+ Also use bin/login when launching a session. --- .../com/termux/window/TermuxFloatService.java | 58 ++++++++++--------- 1 file changed, 30 insertions(+), 28 deletions(-) diff --git a/app/src/main/java/com/termux/window/TermuxFloatService.java b/app/src/main/java/com/termux/window/TermuxFloatService.java index 70193e4..5a2b519 100644 --- a/app/src/main/java/com/termux/window/TermuxFloatService.java +++ b/app/src/main/java/com/termux/window/TermuxFloatService.java @@ -2,6 +2,7 @@ import android.annotation.SuppressLint; import android.app.Notification; +import android.app.NotificationChannel; import android.app.NotificationManager; import android.app.PendingIntent; import android.app.Service; @@ -11,24 +12,25 @@ import android.content.Intent; import android.content.SharedPreferences; import android.content.res.Resources; +import android.os.Build; import android.os.IBinder; import android.os.Vibrator; import android.preference.PreferenceManager; -import android.util.Log; +import android.support.annotation.RequiresApi; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.widget.TextView; import android.widget.Toast; -import com.termux.terminal.EmulatorDebug; import com.termux.terminal.TerminalSession; import java.io.File; -import java.io.IOException; public class TermuxFloatService extends Service { + private static final String NOTIFICATION_CHANNEL_ID = "termux_notification_channel"; + public static final String ACTION_HIDE = "com.termux.float.hide"; public static final String ACTION_SHOW = "com.termux.float.show"; @@ -99,6 +101,18 @@ public void onCreate() { startForeground(NOTIFICATION_ID, buildNotification()); } + @RequiresApi(api = Build.VERSION_CODES.O) + private void setupNotificationChannel() { + String channelName = "Termux"; + String channelDescription = "Notifications from Termux"; + int importance = NotificationManager.IMPORTANCE_LOW; + + NotificationChannel channel = new NotificationChannel(NOTIFICATION_CHANNEL_ID, channelName, importance); + channel.setDescription(channelDescription); + NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); + manager.createNotificationChannel(channel); + } + private Notification buildNotification() { final Resources res = getResources(); final String contentTitle = res.getString(R.string.notification_title); @@ -111,7 +125,13 @@ private Notification buildNotification() { .setPriority(Notification.PRIORITY_MIN).setSmallIcon(R.mipmap.ic_service_notification) .setColor(0xFF000000) .setContentIntent(PendingIntent.getService(this, 0, actionIntent, 0)) - .setOngoing(true).setShowWhen(false); + .setOngoing(true) + .setShowWhen(false); + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + setupNotificationChannel(); + builder.setChannelId(NOTIFICATION_CHANNEL_ID); + } //final int messageId = mVisibleWindow ? R.string.toggle_hide : R.string.toggle_show; //builder.addAction(android.R.drawable.ic_menu_preferences, res.getString(messageId), PendingIntent.getService(this, 0, actionIntent, 0)); @@ -178,31 +198,13 @@ TerminalSession createTermSession() { String executablePath = null; String[] args; String shellName = null; - File shell = new File(HOME_PATH, ".termux/shell"); - if (shell.exists()) { - try { - File canonicalFile = shell.getCanonicalFile(); - if (canonicalFile.isFile() && canonicalFile.canExecute()) { - executablePath = canonicalFile.getAbsolutePath(); - String[] parts = executablePath.split("/"); - shellName = "-" + parts[parts.length - 1]; - } else { - Log.w(EmulatorDebug.LOG_TAG, "$HOME/.termux/shell points to non-executable shell: " + canonicalFile.getAbsolutePath()); - } - } catch (IOException e) { - Log.e(EmulatorDebug.LOG_TAG, "Error checking $HOME/.termux/shell", e); - } - } - if (executablePath == null) { - // Try bash, zsh and ash in that order: - for (String shellBinary : new String[]{"bash", "zsh", "ash"}) { - File shellFile = new File(PREFIX_PATH + "/bin/" + shellBinary); - if (shellFile.canExecute()) { - executablePath = shellFile.getAbsolutePath(); - shellName = "-" + shellBinary; - break; - } + for (String shellBinary : new String[]{"login", "bash", "zsh"}) { + File shellFile = new File(PREFIX_PATH + "/bin/" + shellBinary); + if (shellFile.canExecute()) { + executablePath = shellFile.getAbsolutePath(); + shellName = "-" + shellBinary; + break; } } From 906ca2d1561ec312a2dd2762235677ca0b0711a0 Mon Sep 17 00:00:00 2001 From: Fredrik Fornwall Date: Tue, 7 Nov 2017 05:06:21 +0100 Subject: [PATCH 09/98] Android 8.0 compatibility with overlay type Also check for custom font in ~/.termux/font.ttf --- .../com/termux/window/TermuxFloatView.java | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/termux/window/TermuxFloatView.java b/app/src/main/java/com/termux/window/TermuxFloatView.java index ce5c07b..909731b 100644 --- a/app/src/main/java/com/termux/window/TermuxFloatView.java +++ b/app/src/main/java/com/termux/window/TermuxFloatView.java @@ -4,7 +4,10 @@ import android.content.Context; import android.graphics.PixelFormat; import android.graphics.Point; +import android.graphics.Typeface; +import android.os.Build; import android.util.AttributeSet; +import android.util.Log; import android.view.Gravity; import android.view.MotionEvent; import android.view.ScaleGestureDetector; @@ -14,8 +17,11 @@ import android.widget.LinearLayout; import android.widget.Toast; +import com.termux.terminal.EmulatorDebug; import com.termux.view.TerminalView; +import java.io.File; + public class TermuxFloatView extends LinearLayout { public static final float ALPHA_FOCUS = 0.9f; @@ -94,7 +100,17 @@ protected void onAttachedToWindow() { DISPLAY_WIDTH = displaySize.x; DISPLAY_HEIGHT = displaySize.y; - // mTerminalView.checkForFontAndColors(); + checkForFont(); + } + + void checkForFont() { + try { + @SuppressLint("SdCardPath") File fontFile = new File("/data/data/com.termux/files/home/.termux/font.ttf"); + final Typeface newTypeface = (fontFile.exists() && fontFile.length() > 0) ? Typeface.createFromFile(fontFile) : Typeface.MONOSPACE; + mTerminalView.setTypeface(newTypeface); + } catch (Exception e) { + Log.e(EmulatorDebug.LOG_TAG, "Error in checkForFont()", e); + } } @SuppressLint("RtlHardcoded") @@ -103,7 +119,11 @@ public void launchFloatingWindow() { layoutParams.flags = computeLayoutFlags(true); layoutParams.width = widthAndHeight; layoutParams.height = widthAndHeight; - layoutParams.type = WindowManager.LayoutParams.TYPE_PHONE; + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + layoutParams.type = WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY; + } else { + layoutParams.type = WindowManager.LayoutParams.TYPE_PHONE; + } layoutParams.format = PixelFormat.RGBA_8888; layoutParams.gravity = Gravity.TOP | Gravity.LEFT; From 914a1132b3ebe295450fa1477a44dd3fffe07eeb Mon Sep 17 00:00:00 2001 From: TacoTheDank Date: Fri, 21 Sep 2018 19:36:43 -0400 Subject: [PATCH 10/98] Update gradle configuration and code --- .gitignore | 44 +----------------- .idea/gradle.xml | 18 ------- .idea/runConfigurations.xml | 12 ----- README.md | 2 +- app/build.gradle | 24 ++++++---- app/src/main/AndroidManifest.xml | 4 +- .../termux/window/TermuxFloatActivity.java | 1 - .../window/TermuxFloatPermissionActivity.java | 1 - .../com/termux/window/TermuxFloatPrefs.java | 1 - .../com/termux/window/TermuxFloatService.java | 1 - .../com/termux/window/TermuxFloatView.java | 8 +--- .../termux/window/TermuxFloatViewClient.java | 1 - .../main/res/layout/activity_permission.xml | 8 ++-- build.gradle | 7 +-- gradle/wrapper/gradle-wrapper.jar | Bin 54727 -> 56177 bytes gradle/wrapper/gradle-wrapper.properties | 4 +- 16 files changed, 32 insertions(+), 104 deletions(-) delete mode 100644 .idea/gradle.xml delete mode 100644 .idea/runConfigurations.xml diff --git a/.gitignore b/.gitignore index 3daa7a4..466b131 100644 --- a/.gitignore +++ b/.gitignore @@ -1,45 +1,5 @@ -# From https://gist.github.com/iainconnor/8605514 -# with the addition of the /captures below. -/captures - -# Built application files build/ -*.apk -*.so -.externalNativeBuild - -# Crashlytics configuations -com_crashlytics_export_strings.xml - -# Local configuration file (sdk path, etc) local.properties - -# Gradle generated files .gradle/ - -# Signing files -.signing/ - -# User-specific configurations -.idea/libraries/ -.idea/workspace.xml -.idea/tasks.xml -.idea/.name -.idea/compiler.xml -.idea/copyright/profiles_settings.xml -.idea/encodings.xml -.idea/misc.xml -.idea/modules.xml -.idea/scopes/scope_settings.xml -.idea/vcs.xml -.idea/dictionaries/ -*.iml - -# OS-specific files -.DS_Store -.DS_Store? -._* -.Spotlight-V100 -.Trashes -ehthumbs.db -Thumbs.db +.idea/ +*.iml \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml deleted file mode 100644 index 7ac24c7..0000000 --- a/.idea/gradle.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml deleted file mode 100644 index 7f68460..0000000 --- a/.idea/runConfigurations.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/README.md b/README.md index 1bf60e9..4b6e214 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,6 @@ Termux:Float A [Termux](https://termux.com/) add-on app to show the terminal in a floating terminal window. - [Termux:Float on Google Play](https://play.google.com/store/apps/details?id=com.termux.window) -- [Termux:Float on F-Droid](https://f-droid.org/repository/browse/?fdid=com.termux.window) +- [Termux:Float on F-Droid](https://f-droid.org/packages/com.termux.window) When developing (or packaging), note that this app needs to be signed with the same key as the main Termux app in order to have the permission to modify the required font or color files. diff --git a/app/build.gradle b/app/build.gradle index 2d86fec..7ece219 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,15 +1,14 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 27 - buildToolsVersion "27.0.1" - + compileSdkVersion 28 + buildToolsVersion '28.0.2' defaultConfig { applicationId "com.termux.window" minSdkVersion 21 - targetSdkVersion 27 - versionCode 11 - versionName "0.11" + targetSdkVersion 28 + versionCode 12 + versionName "0.12" } buildTypes { @@ -18,12 +17,19 @@ android { shrinkResources true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } + debug { + zipAlignEnabled true + } + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 } } dependencies { - compile 'com.android.support:support-annotations:27.0.0' - compile 'com.termux:terminal-view:0.50' + implementation 'com.android.support:support-annotations:28.0.0-rc02' + implementation 'com.termux:terminal-view:0.50' - testCompile 'junit:junit:4.12' + testImplementation 'junit:junit:4.12' } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 1c513a2..ece12de 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,5 +1,6 @@ @@ -15,7 +16,8 @@ android:icon="@mipmap/ic_launcher" android:roundIcon="@mipmap/ic_launcher_round" android:label="@string/app_name" - android:theme="@style/AppTheme" > + android:theme="@style/AppTheme" + tools:targetApi="m"> imm.showSoftInput(mTerminalView, InputMethodManager.SHOW_IMPLICIT)); } void updateLongPressMode(boolean newValue) { @@ -225,5 +220,4 @@ void changeFocus(boolean newFocus) { public void closeFloatingWindow() { mWindowManager.removeView(this); } - } diff --git a/app/src/main/java/com/termux/window/TermuxFloatViewClient.java b/app/src/main/java/com/termux/window/TermuxFloatViewClient.java index b531fdd..bf9995a 100644 --- a/app/src/main/java/com/termux/window/TermuxFloatViewClient.java +++ b/app/src/main/java/com/termux/window/TermuxFloatViewClient.java @@ -215,5 +215,4 @@ private boolean handleVirtualKeys(int keyCode, KeyEvent event, boolean down) { } return false; } - } diff --git a/app/src/main/res/layout/activity_permission.xml b/app/src/main/res/layout/activity_permission.xml index 7027eb7..54009e0 100644 --- a/app/src/main/res/layout/activity_permission.xml +++ b/app/src/main/res/layout/activity_permission.xml @@ -1,9 +1,9 @@ + android:layout_width="match_parent" + android:layout_height="match_parent" + android:gravity="center" + android:orientation="vertical"> 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≫UTSDPWw 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 I_Wfh~f4qVHCjbBd diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 62e1e30..5c1b6c9 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ -distributionUrl=https\://services.gradle.org/distributions/gradle-4.3-bin.zip distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-bin.zip zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists From 3cfd28dce1f9b877cfce8c008fc98afc7700d533 Mon Sep 17 00:00:00 2001 From: Henrik Grimler Date: Tue, 25 Dec 2018 18:59:43 +0100 Subject: [PATCH 11/98] Add bug_report and feature_request templates --- .github/ISSUE_TEMPLATE/bug_report.md | 20 ++++++++++++++++++++ .github/ISSUE_TEMPLATE/feature_request.md | 11 +++++++++++ 2 files changed, 31 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..24b6757 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,20 @@ +--- +name: Bug report +about: Create a report to help us improve termux-float + +--- + + + +**Problem description** +A clear and concise description of what the problem with termux-float is. You may post screenshots in addition to description. + +**Steps to reproduce** +Please post all steps that are needed to reproduce the issue. + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Additional information** +Post output of command `termux-info`. +If you are rooted or have access to adb then capture a logcat with `logcat -d "*:W"`, from a adb or root shell. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..1c6924c --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,11 @@ +--- +name: Feature request +about: Suggest a new feature in termux-float + +--- + +**Feature description** +Describe the feature and why you want it. + +**Background information** +Do you know of other apps that has a similar feature as the one you want? (Provide links) From 0af3cf6580f387054a5bd339b779b23a3968946b Mon Sep 17 00:00:00 2001 From: Yuvraj Saxena Date: Sat, 19 Jan 2019 03:35:29 +0530 Subject: [PATCH 12/98] termux-float: Migrate to AndroidX (#17) --- app/build.gradle | 2 +- app/src/main/java/com/termux/window/TermuxFloatService.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 7ece219..355d900 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -28,7 +28,7 @@ android { } dependencies { - implementation 'com.android.support:support-annotations:28.0.0-rc02' + implementation 'androidx.annotation:annotation:1.0.1' implementation 'com.termux:terminal-view:0.50' testImplementation 'junit:junit:4.12' diff --git a/app/src/main/java/com/termux/window/TermuxFloatService.java b/app/src/main/java/com/termux/window/TermuxFloatService.java index a088f60..311aa0b 100644 --- a/app/src/main/java/com/termux/window/TermuxFloatService.java +++ b/app/src/main/java/com/termux/window/TermuxFloatService.java @@ -16,7 +16,7 @@ import android.os.IBinder; import android.os.Vibrator; import android.preference.PreferenceManager; -import android.support.annotation.RequiresApi; +import androidx.annotation.RequiresApi; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; From c77d92a826842d3059761caea628cf9a2a7a4615 Mon Sep 17 00:00:00 2001 From: Leonid Plyushch Date: Sun, 8 Sep 2019 21:11:16 +0300 Subject: [PATCH 13/98] use determined minimal font size instead of hardcoded (#20) --- .../com/termux/window/TermuxFloatService.java | 30 ++++++++++++++++--- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/termux/window/TermuxFloatService.java b/app/src/main/java/com/termux/window/TermuxFloatService.java index 311aa0b..aa64e68 100644 --- a/app/src/main/java/com/termux/window/TermuxFloatService.java +++ b/app/src/main/java/com/termux/window/TermuxFloatService.java @@ -16,6 +16,7 @@ import android.os.IBinder; import android.os.Vibrator; import android.preference.PreferenceManager; +import android.util.TypedValue; import androidx.annotation.RequiresApi; import android.view.Gravity; import android.view.LayoutInflater; @@ -49,11 +50,12 @@ public class TermuxFloatService extends Service { */ private static final int NOTIFICATION_ID = 0xdead1337; - private static final int MIN_FONTSIZE = 16; - private static final int DEFAULT_FONTSIZE = 24; + private int MIN_FONTSIZE; + private static final int MAX_FONTSIZE = 256; private static final String FONTSIZE_KEY = "fontsize"; private TermuxFloatView mFloatingWindow; private int mFontSize; + private boolean mVisibleWindow = true; @Override @@ -61,18 +63,38 @@ public IBinder onBind(Intent intent) { return null; } + /** + * If value is not in the range [min, max], set it to either min or max. + */ + static int clamp(int value, int min, int max) { + return Math.min(Math.max(value, min), max); + } + @SuppressLint({"InflateParams"}) @Override public void onCreate() { super.onCreate(); + float dipInPixels = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 1, getApplicationContext().getResources().getDisplayMetrics()); + + // This is a bit arbitrary and sub-optimal. We want to give a sensible default for minimum font size + // to prevent invisible text due to zoom be mistake: + MIN_FONTSIZE = (int) (4f * dipInPixels); + + // http://www.google.com/design/spec/style/typography.html#typography-line-height + int defaultFontSize = Math.round(12 * dipInPixels); + // Make it divisible by 2 since that is the minimal adjustment step: + if (defaultFontSize % 2 == 1) defaultFontSize--; + final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); try { - mFontSize = Integer.parseInt(prefs.getString(FONTSIZE_KEY, Integer.toString(DEFAULT_FONTSIZE))); + mFontSize = Integer.parseInt(prefs.getString(FONTSIZE_KEY, Integer.toString(defaultFontSize))); } catch (NumberFormatException | ClassCastException e) { - mFontSize = DEFAULT_FONTSIZE; + mFontSize = defaultFontSize; } + mFontSize = clamp(mFontSize, MIN_FONTSIZE, MAX_FONTSIZE); + TermuxFloatView floatingWindow = (TermuxFloatView) ((LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.activity_main, null); floatingWindow.initializeFloatingWindow(); floatingWindow.mTerminalView.setTextSize(mFontSize); From 3964282b127995c5c8a10b35f18fa1d8b65b5a04 Mon Sep 17 00:00:00 2001 From: Fredrik Fornwall Date: Sun, 8 Sep 2019 22:07:04 +0200 Subject: [PATCH 14/98] Bump version to 0.13 --- app/build.gradle | 5 ++--- build.gradle | 2 +- gradle/wrapper/gradle-wrapper.jar | Bin 56177 -> 55616 bytes gradle/wrapper/gradle-wrapper.properties | 2 +- gradlew | 22 +++++++++++++++++++--- gradlew.bat | 18 +++++++++++++++++- 6 files changed, 40 insertions(+), 9 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 355d900..6fc1e48 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -2,13 +2,12 @@ apply plugin: 'com.android.application' android { compileSdkVersion 28 - buildToolsVersion '28.0.2' defaultConfig { applicationId "com.termux.window" minSdkVersion 21 targetSdkVersion 28 - versionCode 12 - versionName "0.12" + versionCode 13 + versionName "0.13" } buildTypes { diff --git a/build.gradle b/build.gradle index eefddd1..658038a 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:3.1.4' + classpath 'com.android.tools.build:gradle:3.5.0' } } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 13536770052936a92b204cc34e72284a03a6903c..5c2d1cf016b3885f6930543d57b744ea8c220a1a 100644 GIT binary patch delta 47360 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 delta 47987 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 PKYfr|!6OI@2KN5|iDBJb diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 5c1b6c9..4b7e1f3 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.5.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index cccdd3d..83f2acf 100755 --- a/gradlew +++ b/gradlew @@ -1,5 +1,21 @@ #!/usr/bin/env sh +# +# Copyright 2015 the original author or authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + ############################################################################## ## ## Gradle start up script for UN*X @@ -28,7 +44,7 @@ APP_NAME="Gradle" APP_BASE_NAME=`basename "$0"` # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" @@ -109,8 +125,8 @@ if $darwin; then GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" fi -# For Cygwin, switch paths to Windows format before running java -if $cygwin ; then +# For Cygwin or MSYS, switch paths to Windows format before running java +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then APP_HOME=`cygpath --path --mixed "$APP_HOME"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` JAVACMD=`cygpath --unix "$JAVACMD"` diff --git a/gradlew.bat b/gradlew.bat index e95643d..24467a1 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -1,3 +1,19 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + @if "%DEBUG%" == "" @echo off @rem ########################################################################## @rem @@ -14,7 +30,7 @@ set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome From 25047f711b0c0a2341c1c44b948138da97bc0fc1 Mon Sep 17 00:00:00 2001 From: Fredrik Fornwall Date: Sun, 8 Sep 2019 22:08:17 +0200 Subject: [PATCH 15/98] Add versionName gradle task --- app/build.gradle | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/build.gradle b/app/build.gradle index 6fc1e48..86fecdf 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -32,3 +32,9 @@ dependencies { testImplementation 'junit:junit:4.12' } + +task versionName { + doLast { + print android.defaultConfig.versionName + } +} From a0e6d54d28eda21cb7433d323468682282da4801 Mon Sep 17 00:00:00 2001 From: Fredrik Fornwall Date: Tue, 10 Sep 2019 21:44:51 +0200 Subject: [PATCH 16/98] Update icon --- app/src/main/AndroidManifest.xml | 3 +- .../res/drawable-anydpi-v26/ic_launcher.xml | 5 +++ app/src/main/res/drawable/ic_foreground.xml | 28 +++++++++++++++ app/src/main/res/drawable/ic_launcher.xml | 34 ++++++++++++++++++ app/src/main/res/mipmap-hdpi/ic_launcher.png | Bin 338 -> 0 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 1699 -> 0 bytes app/src/main/res/mipmap-mdpi/ic_launcher.png | Bin 203 -> 0 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 1110 -> 0 bytes app/src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 331 -> 0 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 2292 -> 0 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 505 -> 0 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 3739 -> 0 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 691 -> 0 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 5058 -> 0 bytes 14 files changed, 68 insertions(+), 2 deletions(-) create mode 100644 app/src/main/res/drawable-anydpi-v26/ic_launcher.xml create mode 100644 app/src/main/res/drawable/ic_foreground.xml create mode 100644 app/src/main/res/drawable/ic_launcher.xml delete mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher.png delete mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_round.png delete mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher.png delete mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_round.png delete mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher.png delete mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_round.png delete mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher.png delete mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png delete mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index ece12de..45b020c 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -13,8 +13,7 @@ diff --git a/app/src/main/res/drawable-anydpi-v26/ic_launcher.xml b/app/src/main/res/drawable-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..6192469 --- /dev/null +++ b/app/src/main/res/drawable-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/app/src/main/res/drawable/ic_foreground.xml b/app/src/main/res/drawable/ic_foreground.xml new file mode 100644 index 0000000..3f3e59b --- /dev/null +++ b/app/src/main/res/drawable/ic_foreground.xml @@ -0,0 +1,28 @@ + + + + + + + + diff --git a/app/src/main/res/drawable/ic_launcher.xml b/app/src/main/res/drawable/ic_launcher.xml new file mode 100644 index 0000000..749a55b --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher.xml @@ -0,0 +1,34 @@ + + + + + + + + + + diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.png b/app/src/main/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index 379cce936916c8591373ce93422ab85fb0105691..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 338 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY3?!3`olAjKV1Q4EE0Es5fB)W7=k}dBv;WMw z{in|EKXZ2f>9Yq;pWAmD$T+iZ=kB7)sTAFs+a%tdM;3rbV-n3FawKSUb)Bp|DJ#E0hItj?*H2V4IoB`<)PRm zKxI=sT^vIy7~kGF%FDti()6(K*xldni|@{TGS}=6YfX8<6sspybq-If-)XD&IEc5N z_nXte@A>D&4$TQqSwrVBuKdkV=@5A}C6u#*KY)3QX)L!1e*pUzn=8zBnN1j!`Fjs2 zym-Ih<&86rO)Q*3E-D@q6o9PA9;wYUQ*HjpEqk#;pqD@RN`j2^xv$5W6C*m?J~uA7 aBBsfE!ol&<9ZR4C89ZJ6T-G@yGywn$rkV@@ diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/app/src/main/res/mipmap-hdpi/ic_launcher_round.png deleted file mode 100644 index 7eca6a5d5733446c3531e5a06f6bb59797303073..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1699 zcmV;U23+}xP)(vug zs#X;Me#YPM+29c)#Ekh1#Fjn#aBoPW{#%y%F^%(AEK5vbVPV}o#&<}8{|p?!#XI-J zyd_ITi`K10l`2()ygVl0-j;3Jh^giTm?$i3T_2NnVl+*wAy1eCfdXzna8NXF)fxjy z2{1Ev95@teM(w@z@yFHEwh7}HrUIS6bzAfqFc3ng1^ovP5f^UX4cwnNRErcZDQ|O} zAXJdo*KZKDYS)IKX+`Zib;O$+HwVt7uX0P>%~C^-u6K4a_m9TI?-rGak>kcgI7?yl zgbCuFl+BP6GDG&H&m2n5t^5Mfp>t;lWJ$DX-(K9%^65dlWyEToWKbq2uC^Hb6U4+ zj|bZdZ98IA`TBFpT9N1k3Z`hW<7>I7koG+Gid zIO$~Wsm6r}&7cF-2?Dn6J3vk|J~@)rzQ(w4`rLULL(t6m3+Xa@Gb}-fl^Yih8a6y* z2pTeCB(d=IQ(+0BQ3^ygGlZZ(ty+&n&=iYCFr*-LFNfEzr>VscbH#dCN^pHfm|dS68bbOK{WQ& ztYyoLAqbf$WCk&FisJAQ8AH&}k)zBhiqzCVid?1;G;4uLQv<2C#)ZfU%oKvQ?Kf$x zQg_Flf+BL%D+`PfW3BKi7JHvI?J#TAwyp96Aw`BPulJ*Jxz1m`qRdx^+=pLub$C1g79^wmm_sH*fJvSctna2vswrLu9bqmYlJZ zCR1|$ak}_OMt6*#wz6Kjd@XG?nF0*praK zZpjUq?l~am0b`w#N)DY#I3mfzp#oS!PlBGaX3N&Vs>3gnJ9EN&A9X4Sl*#@>hNR7W zfQD=+fdnjVZ*0IxfU21g)y}E(M#At6RsH-Aj`DNwzFWUx9>4#KGf=p~Hs^H|gbjxuJ;p1Gd#&pRcyV zsttu9sC}URBmzVbkQ0csHw5gEycG7;6!;9+;97)c?i3b>eKm!|VOZt1dJPWJ`{`+y zXy9~$C(zcf&4Hg68SLd{ogXBCnD?DJ-wy{n^&ukU3drFq3GxeOu-*UW|39GM+sISO_kg1Qo-U3d6^zLe844+n znwaK@Dn9B_)XO*!%Aj-bN!Z0krdz=x2ZZLllg(Ig1Ss^VQSag-hxpFW)nPp*oWIzA ouV6Ws(_sAg!I>-zFVdQ&MBb@09K(-i2wiq diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/app/src/main/res/mipmap-mdpi/ic_launcher_round.png deleted file mode 100644 index f27389931c3c8c050a4564a71edd9ab57f6bc8fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1110 zcmV-c1gZOpP)#zBTAAQ6D{2Biio0!C#ySn+JWh?N^Q!>4hd`u-%?03V>V@D&^1+BF3#@%~) zd2Jp4@u#1;I_(zlOhsKi-?(QV5djX{WI5bFer}hm)dg-~q3wsvJUhPty9;By0^X5R zSj2Z6wh)QyYK&C))YlPsv`c@^oCTM_;y%UK-+aUWo;^n+0od70tnIz=5?g{79v&IP zu46I30$&4bVNI)DS?m=FD^up+MF$3k_|)H{uz(?$8Wn{#>1)jL)aT1+=gD{@F>%UN zet38k1UTZ)?QBBQ*3B3(fSXYXa-tY&3k3RmGZ`!L>Y&3%75^ywT zXb_%vXMt`ZN3 zMgUl{VwD!mvYe*pKJze%mRM8*EnPhzz|kS-Ro>m0jEPSWmOxxmvLg=I4jmU_=P(%@ z8YV1((C}~ya1VSSs#t&jjqmV^JB@mzNB#qL+9lDLE1X{a$NJpBj_XW~13DHSZ0!vnEt%QZK zR9$@&jS?Cr5~@VP&%gdk&D`zXjD2p>8_+7j5Q>>-1gh#AD1g_S#v7W#EJN;dUv=|y z{@=WBKPeRHPLGtD&?@uXqGDkP6qJ@x_Brxep$i9R{AXyDI8cjFymnb^8Ue=gO|A^6 z#CYJZS+fI9;NQ9P$#o8xTpbXRASS7RxD-G&qJ;APH49^5ZeL>1gfrUP~;Gi!7K&wP{ z@XKbKa)QOvJ<6P0CFD`v!8zc#Ur5# z?EzI-N|k0w3N_-IwGcw<^Vh5pouJ!5`oO^hZbsLv_%r?ub7+atRnj#pRamQZB+u}R zZikw;0bMK%aTB-En4!0!_8?#bS|#K@C}ye;?^F#tjWafc0*6>|5&wph6b>Wk=cy%r c)5rhg32FVBlO=4H6951J07*qoM6N<$f=<^CDF6Tf diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/app/src/main/res/mipmap-xhdpi/ic_launcher.png deleted file mode 100644 index b348104de6a4c951e2bb2e28455f3b6671ead24c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 331 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD3?#3*wSy!q1AIbUf%LIs$M&B-3qohWB#3<) zBC_}7>6EN&c|}DwHa4Kj{in|W#sB~R&(6;NVB&j_S%M`&e!&c!>6@N>`|t4VH&E{X z|Ht3;^!q0PB{z7wIEGX(zBzlGky%mTfWx8_3;$=;vg)jVTD)yJ!^uB?|JKUBuIbP? z@?fs1yJoSY-|@PKT}2i*&Zyq(VrIW`?Rbd9-p~V`%=}wcUSrVb6T7fHihY{JjRP~X zm~T94IKHRh_;Ooobq0a1MvWDWf2yChO?xHpna1n0pPyj{JA=-BHzuGXfZ!iHga(pQ z^B%vRS#<0E@3+jZzmHt96WV${=B;z=<|{LD)3z~p-H|N&RaWZ>Qts*M=d#Wzp$Pya CrjKU; diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png deleted file mode 100644 index 00661c01f19467ef23b83f37f05ef6f0c913f402..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2292 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 diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png deleted file mode 100644 index 66d02400153f0f3b3947ccbff49d6359d5e1a4f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3739 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 diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100644 index b0d21aef2d9f2afb746f2054f81647dbbd77f488..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 691 zcmeAS@N?(olHy`uVBq!ia0vp^2SAvE8Azrw%`pX1a{_!qT!Hkq6DRhcI=k=Gx&5cl z?mvCz0Eh&kJ*Q6}ICT!f-FN!z!Lw&KpE(0$0MY)lXCdMTPn-v;Ja+6DM9a>L7x$dJ z0Ax>@H$NyMLPJYiSVV-4jSXna)`N#_9US+aJ-h$Zndu7_0o7<|YXeCkVPS~g|NsB9 zv$G3}icVj+=)jqC`_G)Ij7UfX>NF_{@(X6*^Jv<0<>|NoN)x~SSft4{@2|?m>#FZK z&t2kHn*r1c2JX%OcmIF>|JipCuTkSyYoZqe1LGu57srqa#y1CD84m|AIBY!M^Y83A z2mRC=-ba{##xpP|Of|dqvq1R$nu}gtYm-hrWc12S>b6U(=&=0NZ@I&5gG9$dhG$Q& zw|sP-@$%pC=ub<&hir7Yc8H_vh+d>u(27ZFDXOOzo_XtMR1owZAgd(J$SZ=YDNeSQ1%7vG!LtxMP>YF9h(Co8NJ%*hJXIB?G+i%mOP)N8}c zC3Xj(ymvv4FO#l*_FarPp diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png deleted file mode 100644 index 747fa10ffc42ba4c75d0af15770541965d79b84b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5058 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 Y1J6f(x8HTN2><{907*qoM6N<$f@u(sxBvhE From 81658f8febd4ddc010a1b3fa701980a6a688a2ba Mon Sep 17 00:00:00 2001 From: Leonid Plyushch Date: Fri, 4 Oct 2019 23:33:08 +0300 Subject: [PATCH 17/98] CI: add configuration for Cirrus --- .cirrus.yml | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 .cirrus.yml diff --git a/.cirrus.yml b/.cirrus.yml new file mode 100644 index 0000000..1ddaa48 --- /dev/null +++ b/.cirrus.yml @@ -0,0 +1,40 @@ +container: + image: cirrusci/android-sdk:28 + cpu: 4 + memory: 8G + +task: + name: Run tests + script: ./gradlew test + +task: + name: Build release apk + + depends_on: + - Run tests + +# environment: +# KEYSTORE: +# KEYSTORE_PASSWORD: + + build_release_apk_script: | + ./gradlew assembleRelease + + build_apksigner_script: | + cd ../ + git clone https://github.com/fornwall/apksigner + cd apksigner + ./gradlew + cp ./build/libs/apksigner-all.jar /tmp/apksigner.jar + + sign_release_apk_script: | + echo "$KEYSTORE" | base64 -d > keystore.jks + java -jar /tmp/apksigner.jar -p "$KEYSTORE_PASSWORD" keystore.jks \ + ./app/build/outputs/apk/release/app-release-unsigned.apk \ + ./termux-float-release-g${CIRRUS_CHANGE_IN_REPO:0:8}.apk + + release_artifacts: + path: "./*.apk" + + unsigned_artifacts: + path: "./app/build/outputs/apk/release/*.apk" From c3e9f6180790ee3f372ecc9eeea672ff23fb0180 Mon Sep 17 00:00:00 2001 From: Leonid Plyushch Date: Sat, 5 Oct 2019 00:31:30 +0300 Subject: [PATCH 18/98] CI: add sample keystore --- .cirrus.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.cirrus.yml b/.cirrus.yml index 1ddaa48..91371d3 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -13,9 +13,9 @@ task: depends_on: - Run tests -# environment: -# KEYSTORE: -# KEYSTORE_PASSWORD: + environment: + KEYSTORE: ENCRYPTED[48e78c48ca1c9c94cb3b145cfc9a70a6e0aad21dc0bce85636f2dfd19da43b573646fc3f3697b87a45a5ef74aa81442c] + KEYSTORE_PASSWORD: ENCRYPTED[ba427c6cdc9d4dbcc23d938c905a6fcb1515ec7fdaee760b8712d79a013957d1f2e5f5d12b3c27ceb8d21f85c5573559] build_release_apk_script: | ./gradlew assembleRelease From 29c2c406fda970daaeeab3bc2742a433f4600197 Mon Sep 17 00:00:00 2001 From: Leonid Plyushch Date: Sat, 5 Oct 2019 00:31:47 +0300 Subject: [PATCH 19/98] update readme --- README.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 4b6e214..f8730b8 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,14 @@ -Termux:Float ------------- +# Termux:Float + +[![Build status](https://api.cirrus-ci.com/github/termux/termux-api.svg?branch=master)](https://cirrus-ci.com/termux/termux-api) [![Join the chat at https://gitter.im/termux/termux](https://badges.gitter.im/termux/termux.svg)](https://gitter.im/termux/termux) -A [Termux](https://termux.com/) add-on app to show the terminal in a floating terminal window. +A [Termux](https://termux.com/) add-on app to show the terminal in a floating +terminal window. - [Termux:Float on Google Play](https://play.google.com/store/apps/details?id=com.termux.window) - [Termux:Float on F-Droid](https://f-droid.org/packages/com.termux.window) -When developing (or packaging), note that this app needs to be signed with the same key as the main Termux app in order to have the permission to modify the required font or color files. +When developing (or packaging), note that this app needs to be signed with the +same key as the main Termux app in order to have the permission to modify the +required font or color files. From 8cd31f20d2b6b2984d7ca94a9898e7c3af266c9a Mon Sep 17 00:00:00 2001 From: Leonid Plyushch Date: Sat, 5 Oct 2019 00:34:46 +0300 Subject: [PATCH 20/98] readme: fix status badge link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f8730b8..0c4cb38 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Termux:Float -[![Build status](https://api.cirrus-ci.com/github/termux/termux-api.svg?branch=master)](https://cirrus-ci.com/termux/termux-api) +[![Build status](https://api.cirrus-ci.com/github/termux/termux-float.svg?branch=master)](https://cirrus-ci.com/termux/termux-float) [![Join the chat at https://gitter.im/termux/termux](https://badges.gitter.im/termux/termux.svg)](https://gitter.im/termux/termux) A [Termux](https://termux.com/) add-on app to show the terminal in a floating From 184a5ddfd6e211f755b3ae5b1069f8f94cfca01d Mon Sep 17 00:00:00 2001 From: Leonid Plyushch Date: Sat, 5 Oct 2019 00:56:54 +0300 Subject: [PATCH 21/98] CI: remove tests task Application doesn't have tests. --- .cirrus.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.cirrus.yml b/.cirrus.yml index 91371d3..019ac92 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -3,16 +3,9 @@ container: cpu: 4 memory: 8G -task: - name: Run tests - script: ./gradlew test - task: name: Build release apk - depends_on: - - Run tests - environment: KEYSTORE: ENCRYPTED[48e78c48ca1c9c94cb3b145cfc9a70a6e0aad21dc0bce85636f2dfd19da43b573646fc3f3697b87a45a5ef74aa81442c] KEYSTORE_PASSWORD: ENCRYPTED[ba427c6cdc9d4dbcc23d938c905a6fcb1515ec7fdaee760b8712d79a013957d1f2e5f5d12b3c27ceb8d21f85c5573559] From ee8388266dcd696901ef2eaf0d2a1ae65ceee908 Mon Sep 17 00:00:00 2001 From: Leonid Plyushch Date: Mon, 7 Oct 2019 14:44:32 +0300 Subject: [PATCH 22/98] CI: development builds are now signed with publically-shared key This commit adds keystore which is shared with community. People freely can use it for creating own Termux app and plugin builds. However, builds signed with such keystore cannot be proven as official. Signed-off-by: Leonid Plyushch --- .cirrus.yml | 32 ++++++-------------------------- app/build.gradle | 11 +++++++++++ app/dev_keystore.jks | Bin 0 -> 2097 bytes 3 files changed, 17 insertions(+), 26 deletions(-) create mode 100644 app/dev_keystore.jks diff --git a/.cirrus.yml b/.cirrus.yml index 019ac92..4285ac2 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -1,33 +1,13 @@ container: image: cirrusci/android-sdk:28 - cpu: 4 + cpu: 1 memory: 8G task: - name: Build release apk + name: debug-build - environment: - KEYSTORE: ENCRYPTED[48e78c48ca1c9c94cb3b145cfc9a70a6e0aad21dc0bce85636f2dfd19da43b573646fc3f3697b87a45a5ef74aa81442c] - KEYSTORE_PASSWORD: ENCRYPTED[ba427c6cdc9d4dbcc23d938c905a6fcb1515ec7fdaee760b8712d79a013957d1f2e5f5d12b3c27ceb8d21f85c5573559] + script: | + ./gradlew assembleDebug - build_release_apk_script: | - ./gradlew assembleRelease - - build_apksigner_script: | - cd ../ - git clone https://github.com/fornwall/apksigner - cd apksigner - ./gradlew - cp ./build/libs/apksigner-all.jar /tmp/apksigner.jar - - sign_release_apk_script: | - echo "$KEYSTORE" | base64 -d > keystore.jks - java -jar /tmp/apksigner.jar -p "$KEYSTORE_PASSWORD" keystore.jks \ - ./app/build/outputs/apk/release/app-release-unsigned.apk \ - ./termux-float-release-g${CIRRUS_CHANGE_IN_REPO:0:8}.apk - - release_artifacts: - path: "./*.apk" - - unsigned_artifacts: - path: "./app/build/outputs/apk/release/*.apk" + output_artifacts: + path: "./app/build/outputs/apk/debug/*.apk" diff --git a/app/build.gradle b/app/build.gradle index 86fecdf..523f5bf 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,13 +10,24 @@ android { versionName "0.13" } + signingConfigs { + debug { + storeFile file('dev_keystore.jks') + keyAlias 'alias' + storePassword 'xrj45yWGLbsO7W0v' + keyPassword 'xrj45yWGLbsO7W0v' + } + } + buildTypes { release { minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } + debug { + signingConfig signingConfigs.debug zipAlignEnabled true } } diff --git a/app/dev_keystore.jks b/app/dev_keystore.jks new file mode 100644 index 0000000000000000000000000000000000000000..174cc95acd605bf557f9e63983f55fadc5ae44bd GIT binary patch literal 2097 zcmbW1dpOgJAIJCIMROk`WY(HSNXCZ42syb#xvfbXBITaTl-rTawPUPoP84wxvzSX) z*WsklYK7d&_2d##Bndwpzsq@^^Y`zM_aCq4^E{vDb9tWE*22~T2m}J}1o%&2J|TfV z^c@OikDxq3AQ*sWKsWI+ViG!H02I&$%K-ok1Z6;H@f7nw;XKE~r-Rc}UysG8b8`+3 zaKmS-jr5o{SCP8uu-J*^GyFYRWhu#0 z>t<$WClxHdNaB(zFReHwKYsVzqu=L%i!WGRZZ$pf#Yu6ZsC9QL5?Q;;{^9wK<&0DX zmNu_>81-1Q>Z#=y4=1WFfT+3S>UR4SO7BkZT+dH`z?dc%PuSvpeuPv6|!-(VL zQ^%PiH=6;~;fxshnQJ)l$%_Sy6P#FyTqWbyP>t=M_}R}SXYn_xQIwBH^PG6a-0GB2 zL?60;HtO2fX;T;X(87|~0+Xc%yo$kU>6XS*3{4#~(zS>~Z$$XTsXmgoP0Tx#P5nXG z*U>26+8Y5;Nd9qR!q^9%=&_|A`=*=kp6)-zCn201>!oE?Hv{DYR75qdA|-EAcLzkQ0^ z4L@?sdV*7{T#(@@M(@%cCuOf!pT8Z?9D<$ZY8ocpxYjs1q(l0QB)yp9kSA+FoYLTSkVls8Uw{^G@haj;DuNC7}h_X;^R+~$L zV-@=2`u7B2Z~CVY9^3TQ7hT)aN4*vvmDgIcSs|pKEoP&vvn&|L=w#$b1MX_?HqE$c zpW{q|bEe=un!~bliG4?rX}5khF5bBwmiCQ960)*8UBp7iU8(g03D}xKue`e}ieXW% zjm8+l`Vf^@7j}Ho$!=_%QCvTi-g^$wmc03kgLYD`npCbNwlffW*2AI8sc}_DXwCHr z-@8;~J52g?$t9uGoUAWxq&pEXaBY;HLgpE&A*Spt%{x22X}df;g)Deq>z#p0EB67j zW?-LWLJxxJ`jci9G$!c>eZd*6R15bVuqxH*&-4A|R^65U#O)S6cn{Um9v-PTj?;VH z9MZr4yLF35(5bW+{^2tD0FS<$WaUn^#8=aPC@l1Fjxd=$6VdRd0!O3adhgf{_4VW} z%dYR=5@`1;>H~_~1hS8{wqnH$C!95bZcbcYm#le-#h?H6;;BQ1c#|Dd&fyv0X*>fE z6+^%P7!1`CXvO2D#l*GK?9x`HcjO2I;SKd=@KR!slTZmM*ioOzsDQs&@^41s<^ElV zNJ&^ZJ7C-b{V$x0#G{p@^-b_5c!B|8C&bfA(nJ$|yn*5W@c(Vg0I>fYa7W(|1|SRC z*+Bx#007Xh&mlofl_28n{OOYvrmei(5x-+yIrQpFpKOC|9hel40EfK3H?pz+bGf3Q(Mm1cQ|0SMc{5q|O$1xYI6K~wZbHQ@LY(AB9xR1p zx{#m))|5T&e2aFropN%LDHU-uG^2A9Hrt7$z z$&)?RR2OfPY?S=Y=~L0zh$PV}&9$UxQHh-tOW-=1bQsdgTp~e>6!Gq)xi*X8w#=U?cKT z8*?>+z+Zj0>2M8GE4X=J=Byb-5UB%N{6dp0RQXbp<3u4JlnE5@$Y43o# z_bJkeeSx@OVPD8{OyQ(G!Ef=G0Ir^B^L7S_e^tXet#;c#NCUT@4=iL}$h0=yR-Y~c hj~#VhH9HJD9eBKXgx6a9(6#$et0J;JPJugM`WN=>nzsM| literal 0 HcmV?d00001 From 864e11cabe9ac12db45180beb251ff03810cc856 Mon Sep 17 00:00:00 2001 From: Leonid Plyushch Date: Mon, 7 Oct 2019 15:20:14 +0300 Subject: [PATCH 23/98] update readme --- README.md | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 0c4cb38..b8fb4a5 100644 --- a/README.md +++ b/README.md @@ -6,9 +6,22 @@ A [Termux](https://termux.com/) add-on app to show the terminal in a floating terminal window. -- [Termux:Float on Google Play](https://play.google.com/store/apps/details?id=com.termux.window) -- [Termux:Float on F-Droid](https://f-droid.org/packages/com.termux.window) - When developing (or packaging), note that this app needs to be signed with the same key as the main Termux app in order to have the permission to modify the required font or color files. + +## Installation + +Termux:Float application can be obtained from: + +- [Google Play](https://play.google.com/store/apps/details?id=com.termux.window) +- [F-Droid](https://f-droid.org/en/packages/com.termux.window/) +- [Kali Nethunter Store](https://store.nethunter.com/en/packages/com.termux.window/) + +Additionally we offer development builds for those who want to try out latest +features ready to be included in future versions. Such build can be obtained +directly from [Cirrus CI artifacts](https://api.cirrus-ci.com/v1/artifact/github/termux/termux-float/debug-build/output/app/build/outputs/apk/debug/app-debug.apk). + +Signature keys of all offered builds are different. Before you switch the +installation source, you will have to uninstall the Termux application and +all currently installed plugins. From 9c34bc3134f2fa48c138329cc16ba32dc6a9ebc5 Mon Sep 17 00:00:00 2001 From: Leonid Plyushch Date: Fri, 7 Feb 2020 14:26:51 +0200 Subject: [PATCH 24/98] CI: switch to Github Actions --- .cirrus.yml | 13 ------------- .github/workflows/debug_build.yml | 18 ++++++++++++++++++ README.md | 2 +- 3 files changed, 19 insertions(+), 14 deletions(-) delete mode 100644 .cirrus.yml create mode 100644 .github/workflows/debug_build.yml diff --git a/.cirrus.yml b/.cirrus.yml deleted file mode 100644 index 4285ac2..0000000 --- a/.cirrus.yml +++ /dev/null @@ -1,13 +0,0 @@ -container: - image: cirrusci/android-sdk:28 - cpu: 1 - memory: 8G - -task: - name: debug-build - - script: | - ./gradlew assembleDebug - - output_artifacts: - path: "./app/build/outputs/apk/debug/*.apk" diff --git a/.github/workflows/debug_build.yml b/.github/workflows/debug_build.yml new file mode 100644 index 0000000..457424c --- /dev/null +++ b/.github/workflows/debug_build.yml @@ -0,0 +1,18 @@ +name: Build + +on: push + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Clone repository + uses: actions/checkout@v2 + - name: Build + run: | + ./gradlew assembleDebug + - name: Store generated APK file + uses: actions/upload-artifact@v1 + with: + name: termux-float + path: ./app/build/outputs/apk/debug/app-debug.apk diff --git a/README.md b/README.md index b8fb4a5..4a105e2 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Termux:Float -[![Build status](https://api.cirrus-ci.com/github/termux/termux-float.svg?branch=master)](https://cirrus-ci.com/termux/termux-float) +[![Build status](https://github.com/termux/termux-float/workflows/Build/badge.svg)](https://github.com/termux/termux-float/actions) [![Join the chat at https://gitter.im/termux/termux](https://badges.gitter.im/termux/termux.svg)](https://gitter.im/termux/termux) A [Termux](https://termux.com/) add-on app to show the terminal in a floating From 8b88900d58ff0f6050a47daa6f2f6103b4b6f516 Mon Sep 17 00:00:00 2001 From: Leonid Plyushch Date: Fri, 7 Feb 2020 15:19:27 +0200 Subject: [PATCH 25/98] update issue templates --- .github/ISSUE_TEMPLATE/bug_report.md | 27 ++++++++++++++++++----- .github/ISSUE_TEMPLATE/feature_request.md | 14 ++++++++---- 2 files changed, 31 insertions(+), 10 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 24b6757..d34bce6 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -1,20 +1,35 @@ --- name: Bug report -about: Create a report to help us improve termux-float +about: Create a report to help us improve Termux:Float application --- - + **Problem description** -A clear and concise description of what the problem with termux-float is. You may post screenshots in addition to description. + **Steps to reproduce** -Please post all steps that are needed to reproduce the issue. + **Expected behavior** + **Additional information** -Post output of command `termux-info`. -If you are rooted or have access to adb then capture a logcat with `logcat -d "*:W"`, from a adb or root shell. + +* Termux application version: +* Android OS version: +* Device model: diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md index 1c6924c..098c8c3 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -1,11 +1,17 @@ --- name: Feature request -about: Suggest a new feature in termux-float +about: Suggest a new feature for Termux:Float application --- + + **Feature description** + From 5db3c83e2e6de98d39ec361dfd1d5a965a0d5ed3 Mon Sep 17 00:00:00 2001 From: Leonid Plyushch Date: Fri, 7 Feb 2020 15:52:21 +0200 Subject: [PATCH 26/98] update readme --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 4a105e2..44907cc 100644 --- a/README.md +++ b/README.md @@ -18,9 +18,10 @@ Termux:Float application can be obtained from: - [F-Droid](https://f-droid.org/en/packages/com.termux.window/) - [Kali Nethunter Store](https://store.nethunter.com/en/packages/com.termux.window/) -Additionally we offer development builds for those who want to try out latest -features ready to be included in future versions. Such build can be obtained -directly from [Cirrus CI artifacts](https://api.cirrus-ci.com/v1/artifact/github/termux/termux-float/debug-build/output/app/build/outputs/apk/debug/app-debug.apk). +Additionally we provide per-commit debug builds for those who want to try +out the latest features or test their pull request. This build can be obtained +from one of the workflow runs listed on [Github Actions](https://github.com/termux/termux-float/actions) +page. Signature keys of all offered builds are different. Before you switch the installation source, you will have to uninstall the Termux application and From 448235b6c2b1add1a90b00565248686f496ba8d8 Mon Sep 17 00:00:00 2001 From: Fredrik Fornwall Date: Sat, 6 Jun 2020 22:21:45 +0200 Subject: [PATCH 27/98] Update gradle configuration --- app/build.gradle | 4 +-- build.gradle | 6 ++--- gradle.properties | 1 + gradle/wrapper/gradle-wrapper.jar | Bin 55616 -> 58910 bytes gradle/wrapper/gradle-wrapper.properties | 2 +- gradlew | 31 ++++++++++------------- gradlew.bat | 4 +++ 7 files changed, 25 insertions(+), 23 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 523f5bf..6203ad1 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -38,10 +38,10 @@ android { } dependencies { - implementation 'androidx.annotation:annotation:1.0.1' + implementation 'androidx.annotation:annotation:1.1.0' implementation 'com.termux:terminal-view:0.50' - testImplementation 'junit:junit:4.12' + testImplementation 'junit:junit:4.13' } task versionName { diff --git a/build.gradle b/build.gradle index 658038a..ea46394 100644 --- a/build.gradle +++ b/build.gradle @@ -1,18 +1,18 @@ buildscript { repositories { jcenter() - google() + google() } dependencies { - classpath 'com.android.tools.build:gradle:3.5.0' + classpath 'com.android.tools.build:gradle:4.0.0' } } allprojects { repositories { jcenter() - google() + google() } } diff --git a/gradle.properties b/gradle.properties index dc36254..e9645a3 100644 --- a/gradle.properties +++ b/gradle.properties @@ -13,3 +13,4 @@ # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects # org.gradle.parallel=true org.gradle.jvmargs=-Xmx2048M +android.useAndroidX=true diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 5c2d1cf016b3885f6930543d57b744ea8c220a1a..62d4c053550b91381bbd28b1afc82d634bf73a8a 100644 GIT binary patch delta 23020 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 delta 19839 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 Date: Wed, 3 Feb 2021 03:06:00 +0200 Subject: [PATCH 28/98] readme: remove links to Google Play and Nethunter stores Both offer outdated builds. --- README.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/README.md b/README.md index 44907cc..036f3bc 100644 --- a/README.md +++ b/README.md @@ -12,11 +12,7 @@ required font or color files. ## Installation -Termux:Float application can be obtained from: - -- [Google Play](https://play.google.com/store/apps/details?id=com.termux.window) -- [F-Droid](https://f-droid.org/en/packages/com.termux.window/) -- [Kali Nethunter Store](https://store.nethunter.com/en/packages/com.termux.window/) +Termux:Float application can be obtained from [F-Droid](https://f-droid.org/en/packages/com.termux.window/). Additionally we provide per-commit debug builds for those who want to try out the latest features or test their pull request. This build can be obtained From 7752b006a79beb38eea46b48a9328012af5a70be Mon Sep 17 00:00:00 2001 From: Leonid Pliushch Date: Sun, 28 Feb 2021 18:28:05 +0200 Subject: [PATCH 29/98] use newer com.termux:terminal-view --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index 6203ad1..f28c619 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -39,7 +39,7 @@ android { dependencies { implementation 'androidx.annotation:annotation:1.1.0' - implementation 'com.termux:terminal-view:0.50' + implementation 'com.termux:terminal-view:0.106' testImplementation 'junit:junit:4.13' } From f526c7768f99c7006f407e2de753544a893e379f Mon Sep 17 00:00:00 2001 From: Leonid Pliushch Date: Sun, 28 Feb 2021 18:29:21 +0200 Subject: [PATCH 30/98] bump minSdkVersion --- app/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index f28c619..5de8eb2 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -4,7 +4,7 @@ android { compileSdkVersion 28 defaultConfig { applicationId "com.termux.window" - minSdkVersion 21 + minSdkVersion 24 targetSdkVersion 28 versionCode 13 versionName "0.13" From b13a2328b949b069ee882b9087197c66dc3db0a0 Mon Sep 17 00:00:00 2001 From: Leonid Pliushch Date: Sun, 28 Feb 2021 19:06:55 +0200 Subject: [PATCH 31/98] version 0.14 --- app/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 5de8eb2..5c013ce 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -6,8 +6,8 @@ android { applicationId "com.termux.window" minSdkVersion 24 targetSdkVersion 28 - versionCode 13 - versionName "0.13" + versionCode 14 + versionName "0.14" } signingConfigs { From 13c753e16a51054fc11675ac1ecd47f4a3578212 Mon Sep 17 00:00:00 2001 From: Eduardo Pereira de Sousa Date: Thu, 6 May 2021 19:42:11 -0300 Subject: [PATCH 32/98] Update gradle plugin to version 4.1.3 (#32) --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index ea46394..0321ce5 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ buildscript { } dependencies { - classpath 'com.android.tools.build:gradle:4.0.0' + classpath 'com.android.tools.build:gradle:4.1.3' } } From 0f4cbe3ecc84790362ad1035fdc95758db0f5d14 Mon Sep 17 00:00:00 2001 From: agnostic-apollo <31106828+agnostic-apollo@users.noreply.github.com> Date: Fri, 2 Jul 2021 09:33:28 +0500 Subject: [PATCH 33/98] Update debug_build.yml --- .github/workflows/debug_build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/debug_build.yml b/.github/workflows/debug_build.yml index 457424c..b13d07a 100644 --- a/.github/workflows/debug_build.yml +++ b/.github/workflows/debug_build.yml @@ -12,7 +12,7 @@ jobs: run: | ./gradlew assembleDebug - name: Store generated APK file - uses: actions/upload-artifact@v1 + uses: actions/upload-artifact@v2 with: name: termux-float path: ./app/build/outputs/apk/debug/app-debug.apk From 17a76b2d6f6201662f67c139d9d1a8e6563660c9 Mon Sep 17 00:00:00 2001 From: David Kramer Date: Mon, 30 Aug 2021 17:13:54 -0500 Subject: [PATCH 34/98] Implement floating "chat head" bubble (#35) * Implement floating bubble for TermuxFloatView * Add Window Controls toolbar w/ icons * Don't show the long press toast if moving while minimized * Remove focus when displaying as bubble * Focus window if top control bar is tapped --- .../termux/window/FloatingBubbleManager.java | 135 ++++++++++++++++++ .../com/termux/window/TermuxFloatView.java | 58 +++++++- app/src/main/res/drawable/ic_exit_icon.xml | 12 ++ .../main/res/drawable/ic_minimize_icon.xml | 15 ++ app/src/main/res/drawable/round_button.xml | 8 ++ .../drawable/round_button_with_outline.xml | 10 ++ app/src/main/res/layout/activity_main.xml | 30 ++++ 7 files changed, 266 insertions(+), 2 deletions(-) create mode 100644 app/src/main/java/com/termux/window/FloatingBubbleManager.java create mode 100644 app/src/main/res/drawable/ic_exit_icon.xml create mode 100644 app/src/main/res/drawable/ic_minimize_icon.xml create mode 100644 app/src/main/res/drawable/round_button.xml create mode 100644 app/src/main/res/drawable/round_button_with_outline.xml diff --git a/app/src/main/java/com/termux/window/FloatingBubbleManager.java b/app/src/main/java/com/termux/window/FloatingBubbleManager.java new file mode 100644 index 0000000..11e0ce3 --- /dev/null +++ b/app/src/main/java/com/termux/window/FloatingBubbleManager.java @@ -0,0 +1,135 @@ +package com.termux.window; + +import android.graphics.drawable.Drawable; +import android.view.View; +import android.view.ViewGroup; +import android.view.WindowManager; + +import com.termux.view.TerminalView; + +/** + * Handles displaying our TermuxFloatView as a collapsed bubble and restoring back + * to its original display. + */ +public class FloatingBubbleManager { + private static final int BUBBLE_SIZE = 200; + + private TermuxFloatView mTermuxFloatView; + + private boolean mIsMinimized; + + // preserve original layout values so we can restore to normal window + // from our bubble + private int mOriginalLayoutWidth; + private int mOriginalLayoutHeight; + private boolean mDidCaptureOriginalValues; + private Drawable mOriginalTerminalViewBackground; + private Drawable mOriginalFloatViewBackground; + + + public FloatingBubbleManager(TermuxFloatView termuxFloatView) { + mTermuxFloatView = termuxFloatView; + } + + public void toggleBubble() { + if (isMinimized()) { + displayAsFloatingWindow(); + } else { + displayAsFloatingBubble(); + } + } + + public void updateLongPressBackgroundResource(boolean isInLongPressState) { + if (isMinimized()) { + return; + } + mTermuxFloatView.setBackgroundResource(isInLongPressState ? R.drawable.floating_window_background_resize : R.drawable.floating_window_background); + } + + public void displayAsFloatingBubble() { + captureOriginalLayoutValues(); + + WindowManager.LayoutParams layoutParams = getLayoutParams(); + layoutParams.width = BUBBLE_SIZE; + layoutParams.height = BUBBLE_SIZE; + + TerminalView terminalView = getTerminalView(); + terminalView.setBackgroundResource(R.drawable.round_button); + terminalView.setClipToOutline(true); + + TermuxFloatView termuxFloatView = getTermuxFloatView(); + termuxFloatView.setBackgroundResource(R.drawable.round_button_with_outline); + termuxFloatView.setClipToOutline(true); + termuxFloatView.hideTouchKeyboard(); + termuxFloatView.changeFocus(false); + + ViewGroup windowControls = termuxFloatView.findViewById(R.id.window_controls); + windowControls.setVisibility(View.GONE); + + getWindowManager().updateViewLayout(termuxFloatView, layoutParams); + mIsMinimized = true; + } + + public void displayAsFloatingWindow() { + WindowManager.LayoutParams layoutParams = getLayoutParams(); + + // restore back to previous values + layoutParams.width = mOriginalLayoutWidth; + layoutParams.height = mOriginalLayoutHeight; + + TerminalView terminalView = getTerminalView(); + terminalView.setBackground(mOriginalTerminalViewBackground); + terminalView.setClipToOutline(false); + + TermuxFloatView termuxFloatView = getTermuxFloatView(); + termuxFloatView.setBackground(mOriginalFloatViewBackground); + termuxFloatView.setClipToOutline(false); + + ViewGroup windowControls = termuxFloatView.findViewById(R.id.window_controls); + windowControls.setVisibility(View.VISIBLE); + + getWindowManager().updateViewLayout(termuxFloatView, layoutParams); + mIsMinimized = false; + + // clear so we can capture proper values on next minimize + mDidCaptureOriginalValues = false; + } + + public boolean isMinimized() { + return mIsMinimized; + } + + private void captureOriginalLayoutValues() { + if (!mDidCaptureOriginalValues) { + WindowManager.LayoutParams layoutParams = getLayoutParams(); + mOriginalLayoutWidth = layoutParams.width; + mOriginalLayoutHeight = layoutParams.height; + + mOriginalTerminalViewBackground = getTerminalView().getBackground(); + mOriginalFloatViewBackground = getTermuxFloatView().getBackground(); + mDidCaptureOriginalValues = true; + } + } + + public void cleanup() { + mTermuxFloatView = null; + mOriginalFloatViewBackground = null; + mOriginalTerminalViewBackground = null; + } + + private TermuxFloatView getTermuxFloatView() { + return mTermuxFloatView; + } + + private TerminalView getTerminalView() { + return mTermuxFloatView.mTerminalView; + } + + private WindowManager getWindowManager() { + return mTermuxFloatView.mWindowManager; + } + + private WindowManager.LayoutParams getLayoutParams() { + return (WindowManager.LayoutParams) mTermuxFloatView.getLayoutParams(); + } +} diff --git a/app/src/main/java/com/termux/window/TermuxFloatView.java b/app/src/main/java/com/termux/window/TermuxFloatView.java index 88da566..5b0f4df 100644 --- a/app/src/main/java/com/termux/window/TermuxFloatView.java +++ b/app/src/main/java/com/termux/window/TermuxFloatView.java @@ -2,6 +2,7 @@ import android.annotation.SuppressLint; import android.content.Context; +import android.content.Intent; import android.graphics.PixelFormat; import android.graphics.Point; import android.graphics.Typeface; @@ -12,8 +13,11 @@ import android.view.MotionEvent; import android.view.ScaleGestureDetector; import android.view.ScaleGestureDetector.OnScaleGestureListener; +import android.view.View; +import android.view.ViewGroup; import android.view.WindowManager; import android.view.inputmethod.InputMethodManager; +import android.widget.Button; import android.widget.LinearLayout; import android.widget.Toast; @@ -35,6 +39,8 @@ public class TermuxFloatView extends LinearLayout { InputMethodManager imm; TerminalView mTerminalView; + ViewGroup mWindowControls; + FloatingBubbleManager mFloatingBubbleManager; private boolean withFocus = true; int initialX; @@ -46,6 +52,8 @@ public class TermuxFloatView extends LinearLayout { final int[] location = new int[2]; + final int[] windowControlsLocation = new int[2]; + final ScaleGestureDetector mScaleDetector = new ScaleGestureDetector(getContext(), new OnScaleGestureListener() { private static final int MIN_SIZE = 50; @@ -89,6 +97,19 @@ private static int computeLayoutFlags(boolean withFocus) { public void initializeFloatingWindow() { mTerminalView = findViewById(R.id.terminal_view); mTerminalView.setOnKeyListener(new TermuxFloatViewClient(this)); + mFloatingBubbleManager = new FloatingBubbleManager(this); + initWindowControls(); + } + + private void initWindowControls() { + mWindowControls = findViewById(R.id.window_controls); + mWindowControls.setOnClickListener(v -> changeFocus(true)); + + Button minimizeButton = findViewById(R.id.minimize_button); + minimizeButton.setOnClickListener(v -> mFloatingBubbleManager.toggleBubble()); + + Button exitButton = findViewById(R.id.exit_button); + exitButton.setOnClickListener(v -> exit()); } @Override @@ -147,6 +168,13 @@ public boolean onInterceptTouchEvent(MotionEvent event) { int y = location[1]; float touchX = event.getRawX(); float touchY = event.getRawY(); + + if (didClickInsideWindowControls(touchX, touchY)) { + // avoid unintended focus event if we are tapping on our window controls + // so that keyboard doesn't possibly show briefly + return false; + } + boolean clickedInside = (touchX >= x) && (touchX <= (x + layoutParams.width)) && (touchY >= y) && (touchY <= (y + layoutParams.height)); switch (event.getAction()) { @@ -163,15 +191,31 @@ public boolean onInterceptTouchEvent(MotionEvent event) { return false; } + private boolean didClickInsideWindowControls(float touchX, float touchY) { + if (mWindowControls.getVisibility() == View.GONE) { + return false; + } + mWindowControls.getLocationOnScreen(windowControlsLocation); + int controlsX = windowControlsLocation[0]; + int controlsY = windowControlsLocation[1]; + + return (touchX >= controlsX && touchX <= controlsX + mWindowControls.getWidth()) && + (touchY >= controlsY && touchY <= controlsY + mWindowControls.getHeight()); + } + void showTouchKeyboard() { mTerminalView.post(() -> imm.showSoftInput(mTerminalView, InputMethodManager.SHOW_IMPLICIT)); } + void hideTouchKeyboard() { + mTerminalView.post(() -> imm.hideSoftInputFromWindow(mTerminalView.getWindowToken(), InputMethodManager.HIDE_IMPLICIT_ONLY)); + } + void updateLongPressMode(boolean newValue) { isInLongPressState = newValue; - setBackgroundResource(newValue ? R.drawable.floating_window_background_resize : R.drawable.floating_window_background); + mFloatingBubbleManager.updateLongPressBackgroundResource(isInLongPressState); setAlpha(newValue ? ALPHA_MOVING : (withFocus ? ALPHA_FOCUS : ALPHA_NOT_FOCUS)); - if (newValue) { + if (newValue && !mFloatingBubbleManager.isMinimized()) { Toast toast = Toast.makeText(getContext(), R.string.after_long_press, Toast.LENGTH_SHORT); toast.setGravity(Gravity.CENTER, 0, 0); toast.show(); @@ -207,6 +251,9 @@ public boolean onTouchEvent(MotionEvent event) { * Visually indicate focus and show the soft input as needed. */ void changeFocus(boolean newFocus) { + if (newFocus && mFloatingBubbleManager.isMinimized()) { + mFloatingBubbleManager.displayAsFloatingWindow(); + } if (newFocus == withFocus) { if (newFocus) showTouchKeyboard(); return; @@ -219,5 +266,12 @@ void changeFocus(boolean newFocus) { public void closeFloatingWindow() { mWindowManager.removeView(this); + mFloatingBubbleManager.cleanup(); + mFloatingBubbleManager = null; + } + + private void exit() { + Intent intent = new Intent(getContext(), TermuxFloatService.class); + getContext().stopService(intent); } } diff --git a/app/src/main/res/drawable/ic_exit_icon.xml b/app/src/main/res/drawable/ic_exit_icon.xml new file mode 100644 index 0000000..12f9875 --- /dev/null +++ b/app/src/main/res/drawable/ic_exit_icon.xml @@ -0,0 +1,12 @@ + + + + diff --git a/app/src/main/res/drawable/ic_minimize_icon.xml b/app/src/main/res/drawable/ic_minimize_icon.xml new file mode 100644 index 0000000..918d3a3 --- /dev/null +++ b/app/src/main/res/drawable/ic_minimize_icon.xml @@ -0,0 +1,15 @@ + + + + + diff --git a/app/src/main/res/drawable/round_button.xml b/app/src/main/res/drawable/round_button.xml new file mode 100644 index 0000000..c5f59c9 --- /dev/null +++ b/app/src/main/res/drawable/round_button.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/round_button_with_outline.xml b/app/src/main/res/drawable/round_button_with_outline.xml new file mode 100644 index 0000000..0a14446 --- /dev/null +++ b/app/src/main/res/drawable/round_button_with_outline.xml @@ -0,0 +1,10 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 8acbdd3..65b0b10 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -4,8 +4,38 @@ android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/floating_window_background" + android:orientation="vertical" android:padding="1px" > + +