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 @@
+
+
+
+
+
+
+
-
Version
-
Unknown
+
Version
+
Unknown
-
Root Implementation
-
Unknown
+
Root Implementation
+
Unknown
-
-
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": "部分運作"