From 580c993c0b5855a59be84e36c206afeac2bc225d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=97=E5=AE=AB=E9=9B=AA=E7=8F=8A?= Date: Sun, 29 May 2022 16:40:20 +0800 Subject: [PATCH] Display module status --- .../topjohnwu/magisk/core/model/module/LocalModule.kt | 2 ++ .../main/java/com/topjohnwu/magisk/ui/MainActivity.kt | 3 ++- .../com/topjohnwu/magisk/ui/module/ModuleViewModel.kt | 2 +- app/src/main/res/layout/fragment_module_md2.xml | 10 +++++++++- app/src/main/res/values/strings.xml | 1 + 5 files changed, 15 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/topjohnwu/magisk/core/model/module/LocalModule.kt b/app/src/main/java/com/topjohnwu/magisk/core/model/module/LocalModule.kt index 225830aba..33bc0b39e 100644 --- a/app/src/main/java/com/topjohnwu/magisk/core/model/module/LocalModule.kt +++ b/app/src/main/java/com/topjohnwu/magisk/core/model/module/LocalModule.kt @@ -138,6 +138,8 @@ data class LocalModule( private val PERSIST get() = "${Const.MAGISKTMP}/mirror/persist/magisk" + fun loaded() = RootUtils.fs.getFile(Const.MAGISK_PATH).exists() + suspend fun installed() = withContext(Dispatchers.IO) { RootUtils.fs.getFile(Const.MAGISK_PATH) .listFiles() diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/MainActivity.kt b/app/src/main/java/com/topjohnwu/magisk/ui/MainActivity.kt index 3349ee4de..38b75b851 100644 --- a/app/src/main/java/com/topjohnwu/magisk/ui/MainActivity.kt +++ b/app/src/main/java/com/topjohnwu/magisk/ui/MainActivity.kt @@ -20,6 +20,7 @@ import com.topjohnwu.magisk.core.Config import com.topjohnwu.magisk.core.Const import com.topjohnwu.magisk.core.Info import com.topjohnwu.magisk.core.isRunningAsStub +import com.topjohnwu.magisk.core.model.module.LocalModule import com.topjohnwu.magisk.databinding.ActivityMainMd2Binding import com.topjohnwu.magisk.ktx.startAnimations import com.topjohnwu.magisk.ui.home.HomeFragmentDirections @@ -84,7 +85,7 @@ class MainActivity : BaseMainActivity() { } binding.mainNavigation.menu.apply { findItem(R.id.superuserFragment)?.isEnabled = Utils.showSuperUser() - findItem(R.id.modulesFragment)?.isEnabled = Info.env.isActive + findItem(R.id.modulesFragment)?.isEnabled = Info.env.isActive && LocalModule.loaded() } val section = diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/module/ModuleViewModel.kt b/app/src/main/java/com/topjohnwu/magisk/ui/module/ModuleViewModel.kt index d7b2668fc..5e687fe96 100644 --- a/app/src/main/java/com/topjohnwu/magisk/ui/module/ModuleViewModel.kt +++ b/app/src/main/java/com/topjohnwu/magisk/ui/module/ModuleViewModel.kt @@ -37,7 +37,7 @@ class ModuleViewModel : BaseViewModel() { val data get() = uri init { - if (Info.env.isActive) { + if (Info.env.isActive && LocalModule.loaded()) { items.insertItem(InstallModule) .insertList(itemsInstalled) } diff --git a/app/src/main/res/layout/fragment_module_md2.xml b/app/src/main/res/layout/fragment_module_md2.xml index 1d5548baa..92763fd82 100644 --- a/app/src/main/res/layout/fragment_module_md2.xml +++ b/app/src/main/res/layout/fragment_module_md2.xml @@ -33,7 +33,6 @@ tools:listitem="@layout/item_module_md2" /> + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index fc3ae1ea9..5c177f893 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -111,6 +111,7 @@ Module suspended because %1$s is enabled Module suspended because %1$s is not enabled Zygisk module not loaded due to incompatibility + No module installed Theme Mode