Added dynamic refreshing option in restart system ui dialog in SystemUITool

This commit is contained in:
2023-02-03 04:50:35 +08:00
parent 3fa8a3c7e9
commit b8973fa15a
2 changed files with 10 additions and 7 deletions

View File

@@ -47,6 +47,12 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
/** 窗口是否启动 */ /** 窗口是否启动 */
internal var isActivityLive = false internal var isActivityLive = false
/** 模块是否可用 */
internal var isModuleRegular = false
/** 模块是否有效 */
internal var isModuleValied = false
/** 模块版本 */ /** 模块版本 */
private const val moduleVersion = BuildConfig.VERSION_NAME private const val moduleVersion = BuildConfig.VERSION_NAME
@@ -54,12 +60,6 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
private const val pendingFlag = "" private const val pendingFlag = ""
} }
/** 模块是否可用 */
private var isModuleRegular = false
/** 模块是否有效 */
private var isModuleValied = false
override fun onCreate() { override fun onCreate() {
/** 设置可用性 */ /** 设置可用性 */
isActivityLive = true isActivityLive = true

View File

@@ -25,6 +25,7 @@ package com.fankes.coloros.notify.utils.tool
import android.content.Context import android.content.Context
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import com.fankes.coloros.notify.const.PackageName import com.fankes.coloros.notify.const.PackageName
import com.fankes.coloros.notify.ui.activity.MainActivity
import com.fankes.coloros.notify.utils.factory.delayedRun import com.fankes.coloros.notify.utils.factory.delayedRun
import com.fankes.coloros.notify.utils.factory.execShell import com.fankes.coloros.notify.utils.factory.execShell
import com.fankes.coloros.notify.utils.factory.showDialog import com.fankes.coloros.notify.utils.factory.showDialog
@@ -83,7 +84,8 @@ object SystemUITool {
context.showDialog { context.showDialog {
title = "重启系统界面" title = "重启系统界面"
msg = "你确定要立即重启系统界面吗?\n\n" + msg = "你确定要立即重启系统界面吗?\n\n" +
"重启过程会黑屏并等待进入锁屏重新解锁。" "重启过程会黑屏并等待进入锁屏重新解锁。" + (if (MainActivity.isModuleRegular && MainActivity.isModuleValied)
"\n\n你也可以选择“立即生效”来动态刷新系统界面并生效当前模块设置。" else "")
confirmButton { confirmButton {
execShell(cmd = "pgrep systemui").also { pid -> execShell(cmd = "pgrep systemui").also { pid ->
if (pid.isNotBlank()) if (pid.isNotBlank())
@@ -92,6 +94,7 @@ object SystemUITool {
} }
} }
cancelButton() cancelButton()
if (MainActivity.isModuleRegular && MainActivity.isModuleValied) neutralButton(text = "立即生效") { refreshSystemUI(context) }
} }
} }