v1.4.0: Agentic feedback loop, Termux integration, workspace context, auto-build pipeline

This commit is contained in:
admin
2026-05-19 17:22:40 +04:00
Unverified
parent 88378b6342
commit a9f53e45dd
6 changed files with 299 additions and 25 deletions

View File

@@ -7,8 +7,8 @@ android {
applicationId "ai.z.chat"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 8
versionName "1.3.1"
versionCode 9
versionName "1.4.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
aaptOptions {
ignoreAssetsPattern = '!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~'

View File

@@ -214,24 +214,52 @@ public class ShellPlugin extends Plugin {
}
private String[] buildEnv() {
String termuxBin = "/data/data/com.termux/files/usr/bin";
String termuxPrefix = "/data/data/com.termux/files/usr";
boolean hasTermux = new File(termuxBin).isDirectory();
String toolsBin = toolsDir + "/bin";
String toolsUsrBin = toolsDir + "/usr/bin";
String appBin = homeDir + "/bin";
String systemPath = System.getenv("PATH");
String path = appBin + ":" + toolsBin + ":" + toolsUsrBin + ":" + systemPath;
return new String[]{
"HOME=" + homeDir,
"PATH=" + path,
"PREFIX=" + toolsDir + "/usr",
"TMPDIR=" + homeDir + "/tmp",
"TERM=xterm-256color",
"LANG=en_US.UTF-8",
"ANDROID_HOME=" + toolsDir,
"ANDROID_SDK_ROOT=" + toolsDir,
"JAVA_HOME=" + toolsDir + "/java",
"PROJECTS=" + projectsDir
};
StringBuilder pathBuilder = new StringBuilder();
pathBuilder.append(appBin).append(":");
pathBuilder.append(toolsBin).append(":");
pathBuilder.append(toolsUsrBin).append(":");
if (hasTermux) pathBuilder.append(termuxBin).append(":");
pathBuilder.append(systemPath);
java.util.List<String> envList = new java.util.ArrayList<>();
envList.add("HOME=" + homeDir);
envList.add("PATH=" + pathBuilder.toString());
envList.add("PREFIX=" + (hasTermux ? termuxPrefix : toolsDir + "/usr"));
envList.add("TMPDIR=" + homeDir + "/tmp");
envList.add("TERM=xterm-256color");
envList.add("LANG=en_US.UTF-8");
envList.add("ANDROID_HOME=" + toolsDir);
envList.add("ANDROID_SDK_ROOT=" + toolsDir);
envList.add("JAVA_HOME=" + toolsDir + "/java");
envList.add("PROJECTS=" + projectsDir);
if (hasTermux) {
envList.add("TERMUX_VERSION=" + getTermuxVersion());
envList.add("LD_LIBRARY_PATH=" + termuxPrefix + "/lib");
}
return envList.toArray(new String[0]);
}
private String getTermuxVersion() {
try {
File versionFile = new File("/data/data/com.termux/files/usr/share/doc/termux/VERSION");
if (versionFile.exists()) {
java.io.BufferedReader reader = new java.io.BufferedReader(new java.io.FileReader(versionFile));
String version = reader.readLine();
reader.close();
return version != null ? version : "unknown";
}
} catch (Exception e) {}
return "installed";
}
private Map<String, String> toEnvMap(String[] envPairs) {