From d8c0310053a6e8aff6c67695fd3e24c1cc802160 Mon Sep 17 00:00:00 2001 From: ThePedroo Date: Wed, 23 Apr 2025 02:27:10 -0300 Subject: [PATCH] improve: use module name, not module id; add: show Android/Kernel version in WebUI This commit improves the WebUI module listing by listing the module name rather than the module id, and also adds 2 fields in the WebUI, so that it shows the Android version and Kernel release string. --- webroot/css/index.css | 2 +- webroot/index.html | 40 +++++++++++++++++++------ webroot/js/main.js | 57 ++++++++++++++++++++++++++++-------- webroot/js/translate/home.js | 14 +++++++-- webroot/lang/de_DE.json | 1 - webroot/lang/en_US.json | 1 - webroot/lang/id_ID.json | 1 - webroot/lang/ja_JP.json | 1 - webroot/lang/pt_BR.json | 1 - webroot/lang/ro_RO.json | 1 - webroot/lang/ru_RU.json | 1 - webroot/lang/tr_TR.json | 1 - webroot/lang/uk_UA.json | 1 - webroot/lang/vi_VN.json | 1 - webroot/lang/zh_CN.json | 1 - webroot/lang/zh_TW.json | 1 - 16 files changed, 88 insertions(+), 37 deletions(-) diff --git a/webroot/css/index.css b/webroot/css/index.css index 31a1110..7e6f3ab 100644 --- a/webroot/css/index.css +++ b/webroot/css/index.css @@ -89,7 +89,7 @@ a { justify-content: space-between; left: 0; right: 0; - padding: 20px 35px; + padding: 20px 25px; font-size: 20px; border-bottom: #585b5d solid 1px; z-index: 5; diff --git a/webroot/index.html b/webroot/index.html index 7016dbe..639420d 100644 --- a/webroot/index.html +++ b/webroot/index.html @@ -72,21 +72,43 @@
+
+
ROM/Kernel
+
+ +
+
Android
+
Unknown
+
+
+
Kernel
+
Unknown
+
+ +
+
Root/ReZygisk
+
+
-
Version
-
Unknown
+
Version
+
Unknown
-
Root Implementation
-
Unknown
+
Root Implementation
+
Unknown
-
-
Zygote32
-
Unknown
+ +
+
Zygotes
+
+ +
+
Zygote32
+
Unknown
-
Zygote64
-
Unknown
+
Zygote64
+
Unknown
diff --git a/webroot/js/main.js b/webroot/js/main.js index d53bf90..cd4296a 100644 --- a/webroot/js/main.js +++ b/webroot/js/main.js @@ -5,6 +5,7 @@ import { setNewLanguage, getTranslations } from './language.js' export function setError(place, issue) { const fullErrorLog = setErrorData(`${place}: ${issue}`) document.getElementById('errorh_panel').innerHTML = fullErrorLog + toast(`${place}: ${issue}`) } @@ -19,9 +20,27 @@ export function setErrorData(errorLog) { const finalLog = getPrevious && getPrevious.length !== 0 ? getPrevious + `\n` + errorLog : errorLog localStorage.setItem('/system/error', finalLog) + return finalLog } +async function getModuleNames(moduleIds) { + const fullCommand = moduleIds.map(modId => { + let propPath = `/data/adb/modules/${modId}/module.prop` + + return `printf % ; if test -f "${propPath}"; then /system/bin/grep '^name=' "${propPath}" | /system/bin/cut -d '=' -f 2- 2>/dev/null || true; else true; fi ; printf "\\n"` + }).join(' ; ') + + const result = await exec(fullCommand) + if (result.errno !== 0) { + setError('getModuleNames', 'Failed to execute command to retrieve module list names') + + return null + } + + return result.stdout.split('\n\n') +} + (async () => { const EXPECTED = 1 const UNEXPECTED_FAIL = 2 @@ -60,11 +79,21 @@ export function setErrorData(errorLog) { let zygote64_status = EXPECTED let zygote32_status = EXPECTED - const lscpuCmd = await exec('/system/bin/getprop ro.product.cpu.abilist') - if (lscpuCmd.errno !== 0) return setError('WebUI', lscpuCmd.stderr) + const androidVersionCmd = await exec('/system/bin/getprop ro.build.version.release') + if (androidVersionCmd.errno !== 0) return setError('WebUI', androidVersionCmd.stderr) - const has64BitSupport = lscpuCmd.stdout.includes('arm64-v8a') || lscpuCmd.stdout.includes('x86_64') - const has32BitSupport = lscpuCmd.stdout.includes('armeabi-v7a') || lscpuCmd.stdout.includes('armeabi') || lscpuCmd.stdout.includes('x86') + document.getElementById('android_version_div').innerHTML = androidVersionCmd.stdout + + const unameCmd = await exec('/system/bin/uname -r') + if (unameCmd.errno !== 0) return setError('WebUI', unameCmd.stderr) + + document.getElementById('kernel_version_div').innerHTML = unameCmd.stdout + + const cpuAbilistCmd = await exec('/system/bin/getprop ro.product.cpu.abilist') + if (cpuAbilistCmd.errno !== 0) return setError('WebUI', cpuAbilistCmd.stderr) + + const has64BitSupport = cpuAbilistCmd.stdout.includes('arm64-v8a') || cpuAbilistCmd.stdout.includes('x86_64') + const has32BitSupport = cpuAbilistCmd.stdout.includes('armeabi-v7a') || cpuAbilistCmd.stdout.includes('armeabi') || cpuAbilistCmd.stdout.includes('x86') if (!has64BitSupport) { zygote64_div.style.display = 'none' @@ -190,18 +219,22 @@ export function setErrorData(errorLog) { const all_modules = [] - modules_64.forEach((module) => all_modules.push({ - name: module, - bitsUsed: [ '64 bit' ] + const module_64_names = await getModuleNames(modules_64) + modules_64.forEach((module_id, i) => all_modules.push({ + id: module_id, + name: module_64_names[i], + bitsUsed: [ '64 bits' ] })) - modules_32.forEach((module) => { - const module_index = all_modules.findIndex((module_64_32) => module_64_32.name === module) + const module_32_names = await getModuleNames(modules_32) + modules_32.forEach((module_id, i) => { + const module_index = all_modules.findIndex((module_64_32) => module_64_32.id === module_id) - if (module_index !== -1) all_modules[module_index].bitsUsed.push('32 bit') + if (module_index !== -1) all_modules[module_index].bitsUsed.push('32 bits') else all_modules.push({ - name: module, - bitsUsed: [ '32 bit' ] + id: module_id, + name: module_32_names[i], + bitsUsed: [ '32 bits' ] }) }) diff --git a/webroot/js/translate/home.js b/webroot/js/translate/home.js index a55bda0..002c35e 100644 --- a/webroot/js/translate/home.js +++ b/webroot/js/translate/home.js @@ -21,7 +21,7 @@ export function translateHomePage(old_translations, new_translations) { break } case old_translations.page.home.status.unknown: { - rezygisk_state.innerHTML = new_translations.page.home.status.unknown + rezygisk_state.innerHTML = new_translations.global.unknown break } @@ -40,7 +40,7 @@ export function translateHomePage(old_translations, new_translations) { break } case old_translations.page.home.info.zygote.unknown: { - zygote32_status_div.innerHTML = new_translations.page.home.info.zygote.unknown + zygote32_status_div.innerHTML = new_translations.global.unknown break } @@ -60,13 +60,21 @@ export function translateHomePage(old_translations, new_translations) { break } case old_translations.page.home.info.zygote.unknown: { - zygote64_status_div.innerHTML = new_translations.page.home.info.zygote.unknown + zygote64_status_div.innerHTML = new_translations.global.unknown break } } } + const android_version_div = document.getElementById('android_version_div') + if (android_version_div.innerHTML === old_translations.global.unknown) + android_version_div.innerHTML = new_translations.global.unknown + + const kernel_version_div = document.getElementById('kernel_version_div') + if (kernel_version_div.innerHTML === old_translations.global.unknown) + kernel_version_div.innerHTML = new_translations.global.unknown + /* INFO: info card */ document.getElementById('version_info_title').innerHTML = new_translations.page.home.info.version document.getElementById('root_info_title').innerHTML = new_translations.page.home.info.root diff --git a/webroot/lang/de_DE.json b/webroot/lang/de_DE.json index caf9afd..9f64bff 100644 --- a/webroot/lang/de_DE.json +++ b/webroot/lang/de_DE.json @@ -26,7 +26,6 @@ "home": { "header": "Startseite", "status": { - "unknown": "Unbekannt", "notWorking": "Funktioniert nicht", "ok": "Funktioniert", "partially": "Funktioniert zum Teil" diff --git a/webroot/lang/en_US.json b/webroot/lang/en_US.json index 3e283ad..25c0643 100644 --- a/webroot/lang/en_US.json +++ b/webroot/lang/en_US.json @@ -26,7 +26,6 @@ "home": { "header": "Home", "status": { - "unknown": "Unknown", "notWorking": "Not Working", "ok": "Working", "partially": "Partially Working" diff --git a/webroot/lang/id_ID.json b/webroot/lang/id_ID.json index 9bbe1f0..93ceacc 100644 --- a/webroot/lang/id_ID.json +++ b/webroot/lang/id_ID.json @@ -26,7 +26,6 @@ "home": { "header": "Beranda", "status": { - "unknown": "Tidak diketahui", "notWorking": "Tidak Bekerja", "ok": "Bekerja", "partially": "Bekerja Sebagian" diff --git a/webroot/lang/ja_JP.json b/webroot/lang/ja_JP.json index 0727ebe..3e9bcd1 100644 --- a/webroot/lang/ja_JP.json +++ b/webroot/lang/ja_JP.json @@ -26,7 +26,6 @@ "home": { "header": "Home", "status": { - "unknown": "Unknown", "notWorking": "Not Working", "ok": "Working", "partially": "Partially Working" diff --git a/webroot/lang/pt_BR.json b/webroot/lang/pt_BR.json index 0a7826b..a51625d 100644 --- a/webroot/lang/pt_BR.json +++ b/webroot/lang/pt_BR.json @@ -26,7 +26,6 @@ "home": { "header": "Início", "status": { - "unknown": "Desconhecido", "notWorking": "Não funcionando", "ok": "Funcionando", "partially": "Funcionando parcialmente" diff --git a/webroot/lang/ro_RO.json b/webroot/lang/ro_RO.json index 952efb5..17e8694 100644 --- a/webroot/lang/ro_RO.json +++ b/webroot/lang/ro_RO.json @@ -26,7 +26,6 @@ "home": { "header": "Acasă", "status": { - "unknown": "Necunoscut", "notWorking": "Nu funcționează", "ok": "Funcționează", "partially": "Funcționează parțial" diff --git a/webroot/lang/ru_RU.json b/webroot/lang/ru_RU.json index 81dc3bc..5dfb483 100644 --- a/webroot/lang/ru_RU.json +++ b/webroot/lang/ru_RU.json @@ -26,7 +26,6 @@ "home": { "header": "Главная", "status": { - "unknown": "Неизвестно", "notWorking": "Не работает", "ok": "Работает", "partially": "Частично работает" diff --git a/webroot/lang/tr_TR.json b/webroot/lang/tr_TR.json index 997397c..30b14d0 100644 --- a/webroot/lang/tr_TR.json +++ b/webroot/lang/tr_TR.json @@ -26,7 +26,6 @@ "home": { "header": "Anasayfa", "status": { - "unknown": "Bilinmiyor", "notWorking": "Aktif Değil", "ok": "Aktif", "partially": "Yarı-Aktif" diff --git a/webroot/lang/uk_UA.json b/webroot/lang/uk_UA.json index a981398..19e4266 100644 --- a/webroot/lang/uk_UA.json +++ b/webroot/lang/uk_UA.json @@ -26,7 +26,6 @@ "home": { "header": "Головна", "status": { - "unknown": "Невідомо", "notWorking": "Не працює", "ok": "Працює", "partially": "Частково працює" diff --git a/webroot/lang/vi_VN.json b/webroot/lang/vi_VN.json index 426835f..102fab0 100644 --- a/webroot/lang/vi_VN.json +++ b/webroot/lang/vi_VN.json @@ -26,7 +26,6 @@ "home": { "header": "Trang Chủ", "status": { - "unknown": "Không xác định", "notWorking": "Không hoạt động", "ok": "Đang hoạt động", "partially": "Đang hoạt động một phần" diff --git a/webroot/lang/zh_CN.json b/webroot/lang/zh_CN.json index 3d28d24..f13c633 100644 --- a/webroot/lang/zh_CN.json +++ b/webroot/lang/zh_CN.json @@ -26,7 +26,6 @@ "home": { "header": "主页", "status": { - "unknown": "未知", "notWorking": "未运行", "ok": "运行中", "partially": "部分运行" diff --git a/webroot/lang/zh_TW.json b/webroot/lang/zh_TW.json index 98bf6f3..e9c5ba3 100644 --- a/webroot/lang/zh_TW.json +++ b/webroot/lang/zh_TW.json @@ -26,7 +26,6 @@ "home": { "header": "首頁", "status": { - "unknown": "未知", "notWorking": "未運作", "ok": "運作中", "partially": "部分運作"