mirror of
https://github.com/topjohnwu/Magisk.git
synced 2025-11-15 15:34:27 +00:00
Refactor sepolicy.rules resolve app
This commit is contained in:
@@ -10,7 +10,7 @@ import com.topjohnwu.magisk.ui.home.HomeViewModel
|
||||
import com.topjohnwu.magisk.view.MagiskDialog
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
class EnvFixDialog(private val vm: HomeViewModel) : DialogEvent() {
|
||||
class EnvFixDialog(private val vm: HomeViewModel, private val code: Int) : DialogEvent() {
|
||||
|
||||
override fun build(dialog: MagiskDialog) {
|
||||
dialog.apply {
|
||||
@@ -38,8 +38,10 @@ class EnvFixDialog(private val vm: HomeViewModel) : DialogEvent() {
|
||||
}
|
||||
}
|
||||
|
||||
if (Info.env.versionCode != BuildConfig.VERSION_CODE ||
|
||||
if (code == 2 || // No rules block, module policy not loaded
|
||||
Info.env.versionCode != BuildConfig.VERSION_CODE ||
|
||||
Info.env.versionString != BuildConfig.VERSION_NAME) {
|
||||
dialog.setMessage(R.string.env_full_fix_msg)
|
||||
dialog.setButton(MagiskDialog.ButtonType.POSITIVE) {
|
||||
text = android.R.string.ok
|
||||
onClick {
|
||||
|
||||
@@ -135,8 +135,9 @@ class HomeViewModel(
|
||||
private suspend fun ensureEnv() {
|
||||
if (magiskState == State.INVALID || checkedEnv) return
|
||||
val cmd = "env_check ${Info.env.versionString} ${Info.env.versionCode}"
|
||||
if (!Shell.cmd(cmd).await().isSuccess) {
|
||||
EnvFixDialog(this).publish()
|
||||
val code = Shell.cmd(cmd).await().code
|
||||
if (code != 0) {
|
||||
EnvFixDialog(this, code).publish()
|
||||
}
|
||||
checkedEnv = true
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user