From 3f9b1cb74bd7f9fb513ef70d1d84bca0274c01b6 Mon Sep 17 00:00:00 2001 From: tiann Date: Wed, 4 Jan 2023 14:39:20 +0800 Subject: [PATCH] manager: module requires KernelSU 8+ --- .../src/main/java/me/weishu/kernelsu/ui/screen/Module.kt | 7 +++++++ .../app/src/main/java/me/weishu/kernelsu/ui/util/KsuCli.kt | 4 +++- manager/app/src/main/res/values/strings.xml | 1 + 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/manager/app/src/main/java/me/weishu/kernelsu/ui/screen/Module.kt b/manager/app/src/main/java/me/weishu/kernelsu/ui/screen/Module.kt index 32929bd9..f4505ef2 100644 --- a/manager/app/src/main/java/me/weishu/kernelsu/ui/screen/Module.kt +++ b/manager/app/src/main/java/me/weishu/kernelsu/ui/screen/Module.kt @@ -27,6 +27,7 @@ import com.google.accompanist.swiperefresh.rememberSwipeRefreshState import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.navigation.DestinationsNavigator import kotlinx.coroutines.launch +import me.weishu.kernelsu.Natives import me.weishu.kernelsu.R import me.weishu.kernelsu.ui.screen.destinations.InstallScreenDestination import me.weishu.kernelsu.ui.util.LocalSnackbarHost @@ -85,6 +86,12 @@ fun ModuleScreen(navigator: DestinationsNavigator) { val failedDisable = stringResource(R.string.module_failed_to_disable) val swipeState = rememberSwipeRefreshState(viewModel.isRefreshing) // TODO: Replace SwipeRefresh with RefreshIndicator when it's ready + if (Natives.getVersion() < 8) { + Box(modifier = Modifier.fillMaxSize(), contentAlignment = Alignment.Center) { + Text(stringResource(R.string.require_kernel_version_8)) + } + return@Scaffold + } SwipeRefresh( state = swipeState, onRefresh = { diff --git a/manager/app/src/main/java/me/weishu/kernelsu/ui/util/KsuCli.kt b/manager/app/src/main/java/me/weishu/kernelsu/ui/util/KsuCli.kt index 4e47db39..6ffc8aaa 100644 --- a/manager/app/src/main/java/me/weishu/kernelsu/ui/util/KsuCli.kt +++ b/manager/app/src/main/java/me/weishu/kernelsu/ui/util/KsuCli.kt @@ -1,6 +1,7 @@ package me.weishu.kernelsu.ui.util import android.net.Uri +import android.os.SystemClock import android.util.Log import com.topjohnwu.superuser.CallbackList import com.topjohnwu.superuser.Shell @@ -37,8 +38,9 @@ fun execKsud(args: String): Boolean { } fun install() { + val start = SystemClock.elapsedRealtime() val result = execKsud("install") - Log.w(TAG, "install ksud result: $result") + Log.w(TAG, "install result: $result, cost: ${SystemClock.elapsedRealtime() - start}ms") } fun listModules(): String { diff --git a/manager/app/src/main/res/values/strings.xml b/manager/app/src/main/res/values/strings.xml index 80c12719..1bca4d35 100644 --- a/manager/app/src/main/res/values/strings.xml +++ b/manager/app/src/main/res/values/strings.xml @@ -31,4 +31,5 @@ Make system writable Use overlayfs to make system partition writable, reboot to take effect. About + Require KernelSU version 8+