From a404ca88b14ff9f907d1c31feafb4e76d37fac30 Mon Sep 17 00:00:00 2001 From: RohitKushvaha01 Date: Fri, 27 Feb 2026 12:32:56 +0530 Subject: [PATCH 1/5] fixed: acode free build --- .../android/com/foxdebug/browser/Menu.java | 2 +- src/plugins/browser/utils/updatePackage.js | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/plugins/browser/android/com/foxdebug/browser/Menu.java b/src/plugins/browser/android/com/foxdebug/browser/Menu.java index 8b5bbb544..8c85eee76 100644 --- a/src/plugins/browser/android/com/foxdebug/browser/Menu.java +++ b/src/plugins/browser/android/com/foxdebug/browser/Menu.java @@ -15,7 +15,7 @@ import android.widget.PopupWindow; import android.widget.ScrollView; import android.widget.TextView; -import com.foxdebug.acode.R; +import com.foxdebug.acodefree.R; import com.foxdebug.system.Ui; public class Menu extends PopupWindow { diff --git a/src/plugins/browser/utils/updatePackage.js b/src/plugins/browser/utils/updatePackage.js index 2850414a7..a47d42ee9 100644 --- a/src/plugins/browser/utils/updatePackage.js +++ b/src/plugins/browser/utils/updatePackage.js @@ -3,6 +3,7 @@ const path = require('path'); const configXML = path.resolve(__dirname, "../../../config.xml"); const menuJava = path.resolve(__dirname, "../../../platforms/android/app/src/main/java/com/foxdebug/browser/Menu.java"); +const docProvider = path.resolve(__dirname, "../../../platforms/android/app/src/main/java/com/foxdebug/acode/rk/exec/terminal/AlpineDocumentProvider.java"); const repeatChar = (char, times) => { let res = ""; while (--times >= 0) res += char; @@ -11,11 +12,23 @@ const repeatChar = (char, times) => { try { const config = fs.readFileSync(configXML, "utf8"); - const fileData = fs.readFileSync(menuJava, "utf8"); const appName = /widget id="([0-9a-zA-Z\.\-_]*)"/.exec(config)[1].split(".").pop(); + + + + const docProviderData = fs.readFileSync(docProvider, "utf8"); + const newFileData = docProviderData.replace(/(import com\.foxdebug\.)(acode|acodefree)(.R;)/, `$1${appName}$3`); + fs.writeFileSync(docProvider, docProviderData); + + + + + const fileData = fs.readFileSync(menuJava, "utf8"); const newFileData = fileData.replace(/(import com\.foxdebug\.)(acode|acodefree)(.R;)/, `$1${appName}$3`); fs.writeFileSync(menuJava, newFileData); + + const msg = `==== Changed package to com.foxdebug.${appName} ====`; console.log(""); From 38ea0926bd93159079dc27047c2c8e302cc755fa Mon Sep 17 00:00:00 2001 From: RohitKushvaha01 Date: Fri, 27 Feb 2026 12:36:01 +0530 Subject: [PATCH 2/5] fix: set default import pkg name --- src/plugins/browser/android/com/foxdebug/browser/Menu.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/browser/android/com/foxdebug/browser/Menu.java b/src/plugins/browser/android/com/foxdebug/browser/Menu.java index 8c85eee76..8b5bbb544 100644 --- a/src/plugins/browser/android/com/foxdebug/browser/Menu.java +++ b/src/plugins/browser/android/com/foxdebug/browser/Menu.java @@ -15,7 +15,7 @@ import android.widget.PopupWindow; import android.widget.ScrollView; import android.widget.TextView; -import com.foxdebug.acodefree.R; +import com.foxdebug.acode.R; import com.foxdebug.system.Ui; public class Menu extends PopupWindow { From de493b8cb5e512a5e2e55a8d4d9f025afec3bbd3 Mon Sep 17 00:00:00 2001 From: Rohit Kushvaha Date: Fri, 27 Feb 2026 12:38:48 +0530 Subject: [PATCH 3/5] Apply suggestion from @greptile-apps[bot] Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> --- src/plugins/browser/utils/updatePackage.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/browser/utils/updatePackage.js b/src/plugins/browser/utils/updatePackage.js index a47d42ee9..4f5bfdcf6 100644 --- a/src/plugins/browser/utils/updatePackage.js +++ b/src/plugins/browser/utils/updatePackage.js @@ -18,7 +18,7 @@ try { const docProviderData = fs.readFileSync(docProvider, "utf8"); const newFileData = docProviderData.replace(/(import com\.foxdebug\.)(acode|acodefree)(.R;)/, `$1${appName}$3`); - fs.writeFileSync(docProvider, docProviderData); + fs.writeFileSync(docProvider, newFileData); From 7952711f5cbe14ee262f12481edd501776ad1eb2 Mon Sep 17 00:00:00 2001 From: RohitKushvaha01 Date: Fri, 27 Feb 2026 12:47:32 +0530 Subject: [PATCH 4/5] refactor --- config.xml | 2 +- package-lock.json | 20 ++++++ package.json | 11 +++- res/android/values/ic_launcher_background.xml | 4 +- src/plugins/browser/utils/updatePackage.js | 65 ++++++++++++------- 5 files changed, 73 insertions(+), 29 deletions(-) diff --git a/config.xml b/config.xml index 6847ab6e7..0976cbe8a 100644 --- a/config.xml +++ b/config.xml @@ -1,5 +1,5 @@ - diff --git a/package-lock.json b/package-lock.json index 47de78c08..4eaa79f34 100644 --- a/package-lock.json +++ b/package-lock.json @@ -48,9 +48,11 @@ "@xterm/addon-webgl": "^0.18.0", "@xterm/xterm": "^5.5.0", "acorn": "^8.15.0", + "admob-plus-cordova": "2.0.0-alpha.19", "autosize": "^6.0.1", "codemirror": "^6.0.2", "cordova": "13.0.0", + "cordova-plugin-consent": "2.4.0", "core-js": "^3.47.0", "crypto-js": "^4.2.0", "dayjs": "^1.11.19", @@ -5041,6 +5043,15 @@ "node": ">=0.4.0" } }, + "node_modules/admob-plus-cordova": { + "version": "2.0.0-alpha.19", + "resolved": "https://registry.npmjs.org/admob-plus-cordova/-/admob-plus-cordova-2.0.0-alpha.19.tgz", + "integrity": "sha512-PIC/sVzN74xU6b9O4JmkKYwLxOPH5Fw0D0hCrZDw+6PIoFKXxkikvT1X6ck8kyR3kg0FYmagGnRX7vUbH0eL0w==", + "license": "MIT", + "funding": { + "url": "https://admob-plus.github.io/funding" + } + }, "node_modules/agent-base": { "version": "7.1.4", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", @@ -6446,6 +6457,15 @@ "resolved": "src/plugins/cordova-plugin-buildinfo", "link": true }, + "node_modules/cordova-plugin-consent": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/cordova-plugin-consent/-/cordova-plugin-consent-2.4.0.tgz", + "integrity": "sha512-toKfFfLz9BwzazSoI5aj/HaMVBLK3xEenymjL6zl4MZRnE1eHA1iXPf5gCOVgJbzeaE9HDKlrTPTWf+Ni75EnQ==", + "license": "MIT", + "funding": { + "url": "https://admob-plus.github.io/funding" + } + }, "node_modules/cordova-plugin-device": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cordova-plugin-device/-/cordova-plugin-device-2.1.0.tgz", diff --git a/package.json b/package.json index d46543d44..2743590ae 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,14 @@ "com.foxdebug.acode.rk.customtabs": {}, "com.foxdebug.acode.rk.plugin.plugincontext": {}, "com.foxdebug.acode.rk.auth": {}, - "cordova-plugin-system": {} + "cordova-plugin-system": {}, + "cordova-plugin-consent": { + "UMP_VERSION": "1.0.0+" + }, + "admob-plus-cordova": { + "APP_ID_ANDROID": "ca-app-pub-5911839694379275~4255791238", + "PLAY_SERVICES_VERSION": "23.2.0" + } }, "platforms": [ "android" @@ -146,9 +153,11 @@ "@xterm/addon-webgl": "^0.18.0", "@xterm/xterm": "^5.5.0", "acorn": "^8.15.0", + "admob-plus-cordova": "2.0.0-alpha.19", "autosize": "^6.0.1", "codemirror": "^6.0.2", "cordova": "13.0.0", + "cordova-plugin-consent": "2.4.0", "core-js": "^3.47.0", "crypto-js": "^4.2.0", "dayjs": "^1.11.19", diff --git a/res/android/values/ic_launcher_background.xml b/res/android/values/ic_launcher_background.xml index 228fb4634..eeefa7fa5 100644 --- a/res/android/values/ic_launcher_background.xml +++ b/res/android/values/ic_launcher_background.xml @@ -1,5 +1,5 @@ - #3a3e54 - #3a3e54 + #ffffff + #313131 \ No newline at end of file diff --git a/src/plugins/browser/utils/updatePackage.js b/src/plugins/browser/utils/updatePackage.js index 4f5bfdcf6..eb2ade164 100644 --- a/src/plugins/browser/utils/updatePackage.js +++ b/src/plugins/browser/utils/updatePackage.js @@ -1,43 +1,58 @@ -const fs = require('fs'); -const path = require('path'); +const fs = require("fs"); +const path = require("path"); const configXML = path.resolve(__dirname, "../../../config.xml"); -const menuJava = path.resolve(__dirname, "../../../platforms/android/app/src/main/java/com/foxdebug/browser/Menu.java"); -const docProvider = path.resolve(__dirname, "../../../platforms/android/app/src/main/java/com/foxdebug/acode/rk/exec/terminal/AlpineDocumentProvider.java"); -const repeatChar = (char, times) => { - let res = ""; - while (--times >= 0) res += char; - return res; -}; +const menuJava = path.resolve( + __dirname, + "../../../platforms/android/app/src/main/java/com/foxdebug/browser/Menu.java" +); +const docProvider = path.resolve( + __dirname, + "../../../platforms/android/app/src/main/java/com/foxdebug/acode/rk/exec/terminal/AlpineDocumentProvider.java" +); -try { - const config = fs.readFileSync(configXML, "utf8"); - const appName = /widget id="([0-9a-zA-Z\.\-_]*)"/.exec(config)[1].split(".").pop(); +const repeatChar = (char, times) => char.repeat(times); + +function replaceImport(filePath, appName) { + if (!fs.existsSync(filePath)) { + console.warn(`⚠ File not found: ${filePath}`); + return; + } + const data = fs.readFileSync(filePath, "utf8"); - - const docProviderData = fs.readFileSync(docProvider, "utf8"); - const newFileData = docProviderData.replace(/(import com\.foxdebug\.)(acode|acodefree)(.R;)/, `$1${appName}$3`); - fs.writeFileSync(docProvider, newFileData); + const updated = data.replace( + /(import\s+com\.foxdebug\.)(acode|acodefree)(\.R;)/, + `$1${appName}$3` + ); + fs.writeFileSync(filePath, updated); +} - +try { + if (!fs.existsSync(configXML)) { + throw new Error("config.xml not found"); + } + + const config = fs.readFileSync(configXML, "utf8"); + const match = /widget\s+id="([0-9a-zA-Z.\-_]+)"/.exec(config); - const fileData = fs.readFileSync(menuJava, "utf8"); - const newFileData = fileData.replace(/(import com\.foxdebug\.)(acode|acodefree)(.R;)/, `$1${appName}$3`); - fs.writeFileSync(menuJava, newFileData); + if (!match) { + throw new Error("Could not extract widget id from config.xml"); + } + const appName = match[1].split(".").pop(); + replaceImport(docProvider, appName); + replaceImport(menuJava, appName); const msg = `==== Changed package to com.foxdebug.${appName} ====`; - console.log(""); - console.log(repeatChar("=", msg.length)); + console.log("\n" + repeatChar("=", msg.length)); console.log(msg); - console.log(repeatChar("=", msg.length)); - console.log(""); + console.log(repeatChar("=", msg.length) + "\n"); } catch (error) { - console.error(error); + console.error("❌ Error:", error.message); process.exit(1); } \ No newline at end of file From 90be3881a3c5df4f9c4a45caec771a23e5cca60a Mon Sep 17 00:00:00 2001 From: RohitKushvaha01 Date: Fri, 27 Feb 2026 12:52:18 +0530 Subject: [PATCH 5/5] refactor --- config.xml | 2 +- package-lock.json | 20 ------------------- package.json | 11 +--------- res/android/values/ic_launcher_background.xml | 4 ++-- 4 files changed, 4 insertions(+), 33 deletions(-) diff --git a/config.xml b/config.xml index 0976cbe8a..6847ab6e7 100644 --- a/config.xml +++ b/config.xml @@ -1,5 +1,5 @@ - diff --git a/package-lock.json b/package-lock.json index 4eaa79f34..47de78c08 100644 --- a/package-lock.json +++ b/package-lock.json @@ -48,11 +48,9 @@ "@xterm/addon-webgl": "^0.18.0", "@xterm/xterm": "^5.5.0", "acorn": "^8.15.0", - "admob-plus-cordova": "2.0.0-alpha.19", "autosize": "^6.0.1", "codemirror": "^6.0.2", "cordova": "13.0.0", - "cordova-plugin-consent": "2.4.0", "core-js": "^3.47.0", "crypto-js": "^4.2.0", "dayjs": "^1.11.19", @@ -5043,15 +5041,6 @@ "node": ">=0.4.0" } }, - "node_modules/admob-plus-cordova": { - "version": "2.0.0-alpha.19", - "resolved": "https://registry.npmjs.org/admob-plus-cordova/-/admob-plus-cordova-2.0.0-alpha.19.tgz", - "integrity": "sha512-PIC/sVzN74xU6b9O4JmkKYwLxOPH5Fw0D0hCrZDw+6PIoFKXxkikvT1X6ck8kyR3kg0FYmagGnRX7vUbH0eL0w==", - "license": "MIT", - "funding": { - "url": "https://admob-plus.github.io/funding" - } - }, "node_modules/agent-base": { "version": "7.1.4", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", @@ -6457,15 +6446,6 @@ "resolved": "src/plugins/cordova-plugin-buildinfo", "link": true }, - "node_modules/cordova-plugin-consent": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/cordova-plugin-consent/-/cordova-plugin-consent-2.4.0.tgz", - "integrity": "sha512-toKfFfLz9BwzazSoI5aj/HaMVBLK3xEenymjL6zl4MZRnE1eHA1iXPf5gCOVgJbzeaE9HDKlrTPTWf+Ni75EnQ==", - "license": "MIT", - "funding": { - "url": "https://admob-plus.github.io/funding" - } - }, "node_modules/cordova-plugin-device": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cordova-plugin-device/-/cordova-plugin-device-2.1.0.tgz", diff --git a/package.json b/package.json index 2743590ae..d46543d44 100644 --- a/package.json +++ b/package.json @@ -42,14 +42,7 @@ "com.foxdebug.acode.rk.customtabs": {}, "com.foxdebug.acode.rk.plugin.plugincontext": {}, "com.foxdebug.acode.rk.auth": {}, - "cordova-plugin-system": {}, - "cordova-plugin-consent": { - "UMP_VERSION": "1.0.0+" - }, - "admob-plus-cordova": { - "APP_ID_ANDROID": "ca-app-pub-5911839694379275~4255791238", - "PLAY_SERVICES_VERSION": "23.2.0" - } + "cordova-plugin-system": {} }, "platforms": [ "android" @@ -153,11 +146,9 @@ "@xterm/addon-webgl": "^0.18.0", "@xterm/xterm": "^5.5.0", "acorn": "^8.15.0", - "admob-plus-cordova": "2.0.0-alpha.19", "autosize": "^6.0.1", "codemirror": "^6.0.2", "cordova": "13.0.0", - "cordova-plugin-consent": "2.4.0", "core-js": "^3.47.0", "crypto-js": "^4.2.0", "dayjs": "^1.11.19", diff --git a/res/android/values/ic_launcher_background.xml b/res/android/values/ic_launcher_background.xml index eeefa7fa5..228fb4634 100644 --- a/res/android/values/ic_launcher_background.xml +++ b/res/android/values/ic_launcher_background.xml @@ -1,5 +1,5 @@ - #ffffff - #313131 + #3a3e54 + #3a3e54 \ No newline at end of file