From 50e2f33d1c9194265d3051fcf23a4da81dfbb208 Mon Sep 17 00:00:00 2001 From: topjohnwu Date: Mon, 30 May 2022 01:53:07 -0700 Subject: [PATCH] More debug indication in UI Close #5874 --- app/src/main/java/com/topjohnwu/magisk/core/Info.kt | 12 ++++++++---- .../com/topjohnwu/magisk/ui/home/HomeViewModel.kt | 6 ++++-- native/jni/core/daemon.cpp | 6 +++++- native/jni/core/magisk.cpp | 6 +++++- 4 files changed, 22 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/topjohnwu/magisk/core/Info.kt b/app/src/main/java/com/topjohnwu/magisk/core/Info.kt index ed392f2fc..dc6115a74 100644 --- a/app/src/main/java/com/topjohnwu/magisk/core/Info.kt +++ b/app/src/main/java/com/topjohnwu/magisk/core/Info.kt @@ -52,13 +52,17 @@ object Info { } } - private fun loadState() = Env( - fastCmd("magisk -v").split(":".toRegex())[0], - runCatching { fastCmd("magisk -V").toInt() }.getOrDefault(-1) - ) + private fun loadState(): Env { + val v = fastCmd("magisk -v").split(":".toRegex()) + return Env( + v[0], v.size >= 3 && v[2] == "D", + runCatching { fastCmd("magisk -V").toInt() }.getOrDefault(-1) + ) + } class Env( val versionString: String = "", + val isDebug: Boolean = false, code: Int = -1 ) { val versionCode = when { diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/home/HomeViewModel.kt b/app/src/main/java/com/topjohnwu/magisk/ui/home/HomeViewModel.kt index f03e00f5a..ba422f597 100644 --- a/app/src/main/java/com/topjohnwu/magisk/ui/home/HomeViewModel.kt +++ b/app/src/main/java/com/topjohnwu/magisk/ui/home/HomeViewModel.kt @@ -57,7 +57,7 @@ class HomeViewModel( val magiskInstalledVersion get() = Info.env.run { if (isActive) - "$versionString ($versionCode)".asText() + ("$versionString ($versionCode)" + if (isDebug) " (D)" else "").asText() else R.string.not_available.asText() } @@ -93,8 +93,10 @@ class HomeViewModel( else -> MagiskState.UP_TO_DATE } + val isDebug = Config.updateChannel == Config.Value.DEBUG_CHANNEL managerRemoteVersion = - "${magisk.version} (${magisk.versionCode}) (${stub.versionCode})".asText() + ("${magisk.version} (${magisk.versionCode}) (${stub.versionCode})" + + if (isDebug) " (D)" else "").asText() } ?: run { state = State.LOADING_FAILED managerRemoteVersion = R.string.not_available.asText() diff --git a/native/jni/core/daemon.cpp b/native/jni/core/daemon.cpp index 433977627..4b457d306 100644 --- a/native/jni/core/daemon.cpp +++ b/native/jni/core/daemon.cpp @@ -174,7 +174,11 @@ static void handle_request_async(int client, int code, const sock_cred &cred) { static void handle_request_sync(int client, int code) { switch (code) { case MainRequest::CHECK_VERSION: - write_string(client, MAGISK_VERSION ":MAGISK"); +#if MAGISK_DEBUG + write_string(client, MAGISK_VERSION ":MAGISK:D"); +#else + write_string(client, MAGISK_VERSION ":MAGISK:R"); +#endif break; case MainRequest::CHECK_VERSION_CODE: write_int(client, MAGISK_VER_CODE); diff --git a/native/jni/core/magisk.cpp b/native/jni/core/magisk.cpp index 114de3ce0..7d21b90a9 100644 --- a/native/jni/core/magisk.cpp +++ b/native/jni/core/magisk.cpp @@ -52,7 +52,11 @@ int magisk_main(int argc, char *argv[]) { if (argc < 2) usage(); if (argv[1] == "-c"sv) { - printf(MAGISK_VERSION ":MAGISK (" str(MAGISK_VER_CODE) ")\n"); +#if MAGISK_DEBUG + printf(MAGISK_VERSION ":MAGISK:D (" str(MAGISK_VER_CODE) ")\n"); +#else + printf(MAGISK_VERSION ":MAGISK:R (" str(MAGISK_VER_CODE) ")\n"); +#endif return 0; } else if (argv[1] == "-v"sv) { int fd = connect_daemon(MainRequest::CHECK_VERSION);