diff --git a/app/build.gradle b/app/build.gradle index d36f599..d11af4b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -12,8 +12,8 @@ android { applicationId "com.vectras.vm" minSdk minApi targetSdk targetApi - versionCode 81 - versionName "3.7.7" + versionCode 82 + versionName "3.7.8" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" multiDexEnabled true diff --git a/app/src/main/java/com/vectras/vm/main/core/DisplaySystem.java b/app/src/main/java/com/vectras/vm/main/core/DisplaySystem.java index ed98d8d..aa20003 100644 --- a/app/src/main/java/com/vectras/vm/main/core/DisplaySystem.java +++ b/app/src/main/java/com/vectras/vm/main/core/DisplaySystem.java @@ -93,6 +93,11 @@ public class DisplaySystem { ); } else { if (!isUseBuiltInX11() ) { + if (!PackageUtils.isInstalled("com.termux.x11", context)) { + DialogUtils.needInstallTermuxX11(context); + return; + } + Log.d(TAG, "launchX11: Opened: com.termux.x11.MainActivity."); Intent intent = new Intent(); intent.setClassName("com.termux.x11", "com.termux.x11.MainActivity"); diff --git a/app/src/main/java/com/vectras/vterm/Terminal.java b/app/src/main/java/com/vectras/vterm/Terminal.java index c97dc0b..f186892 100644 --- a/app/src/main/java/com/vectras/vterm/Terminal.java +++ b/app/src/main/java/com/vectras/vterm/Terminal.java @@ -359,6 +359,7 @@ public class Terminal { } public static StringBuilder streamLog(String command, Process process, boolean isShowResultCode) { + int MAX_LOG_SIZE = 200_000; // ~200KB text StringBuilder output = new StringBuilder(); try { BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(process.getOutputStream())); @@ -374,12 +375,22 @@ public class Terminal { while ((line = reader.readLine()) != null) { VectrasStatus.logError("VTERM: >" + line + ""); output.append(line).append("\n"); + + if (output.length() > MAX_LOG_SIZE) { + int overflow = output.length() - MAX_LOG_SIZE; + output.delete(0, overflow); + } } while ((line = errorReader.readLine()) != null) { Log.w(TAG, line); VectrasStatus.logError("VTERM ERROR: >" + line + ""); output.append(line).append("\n"); + + if (output.length() > MAX_LOG_SIZE) { + int overflow = output.length() - MAX_LOG_SIZE; + output.delete(0, overflow); + } } if (isShowResultCode) { diff --git a/web/data/UpdateConfig.json b/web/data/UpdateConfig.json index da2263a..9d087a9 100644 --- a/web/data/UpdateConfig.json +++ b/web/data/UpdateConfig.json @@ -5,11 +5,11 @@ "url": "https://github.com/xoureldeen/Vectras-VM-Android/releases", "Message": "

3.7.0

\nBugs fixed.", "cancellable": true, - "versionCodeBeta":"81", - "versionNameBeta":"3.7.7", - "versionNameBetas":"3.0.0,3.1.0,3.2.1,3.2.2,3.2.3,3.2.4,3.2.5,3.2.6,3.2.7,3.2.8,3.2.9,3.2.10,3.3.1,3.3.2,3.3.3,3.3.4,3.3.5,3.3.6,3.3.7,3.3.8,3.3.9,3.4.1,3.4.2,3.4.3,3.4.4,3.4.5,3.4.6,3.4.7,3.4.8,3.4.9,3.5.1,3.5.2,3.5.3,3.5.4,3.5.5,3.5.6,3.5.7,3.5.8,3.5.9,3.6.1,3.6.2,3.6.3,3.6.4,3.6.5,3.6.6,3.6.7,3.6.8,3.6.9,3.7.1,3.7.2,3.7.3,3.7.4,3.7.5,3.7.6,3.7.7", + "versionCodeBeta":"82", + "versionNameBeta":"3.7.8", + "versionNameBetas":"3.0.0,3.1.0,3.2.1,3.2.2,3.2.3,3.2.4,3.2.5,3.2.6,3.2.7,3.2.8,3.2.9,3.2.10,3.3.1,3.3.2,3.3.3,3.3.4,3.3.5,3.3.6,3.3.7,3.3.8,3.3.9,3.4.1,3.4.2,3.4.3,3.4.4,3.4.5,3.4.6,3.4.7,3.4.8,3.4.9,3.5.1,3.5.2,3.5.3,3.5.4,3.5.5,3.5.6,3.5.7,3.5.8,3.5.9,3.6.1,3.6.2,3.6.3,3.6.4,3.6.5,3.6.6,3.6.7,3.6.8,3.6.9,3.7.1,3.7.2,3.7.3,3.7.4,3.7.5,3.7.6,3.7.7,3.7.8", "sizeBeta": "45 MB", "urlBeta": "https://github.com/AnBui2004/Vectras-VM-Emu-Android/releases", - "MessageBeta": "

3.7.7

Bugs fixed.", + "MessageBeta": "

3.7.8

Bugs fixed.", "cancellableBeta": true }