Merge code

This commit is contained in:
2022-03-24 01:51:46 +08:00
parent 8e3b575d38
commit 361b07a909
4 changed files with 25 additions and 21 deletions

View File

@@ -24,11 +24,9 @@
package com.fankes.miui.notify.ui.activity
import android.app.Notification
import android.content.ComponentName
import android.content.Intent
import android.content.pm.PackageManager
import android.provider.Settings
import androidx.core.view.isGone
import androidx.core.view.isVisible
import com.fankes.miui.notify.BuildConfig
@@ -121,16 +119,7 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
showDialog {
title = "模块的通知权限已关闭"
msg = "请开启通知权限,以确保你能收到通知图标优化在线规则的更新。"
confirmButton {
runCatching {
Intent().also { intent ->
intent.action = Settings.ACTION_APP_NOTIFICATION_SETTINGS
intent.putExtra(Settings.EXTRA_APP_PACKAGE, packageName)
intent.putExtra(Notification.EXTRA_CHANNEL_ID, applicationInfo.uid)
startActivity(intent)
}
}.onFailure { snake(msg = "跳转通知设置失败") }
}
confirmButton { openNotifySetting() }
cancelButton()
noCancelable()
}

View File

@@ -25,6 +25,7 @@
package com.fankes.miui.notify.utils.factory
import android.app.Activity
import android.app.Notification
import android.content.ClipData
import android.content.ClipboardManager
import android.content.Context
@@ -422,6 +423,16 @@ fun Context.openSelfSetting(packageName: String = appContext.packageName) = runC
else toast(msg = "你没有安装此应用")
}.onFailure { toast(msg = "启动 $packageName 应用信息失败") }
/** 跳转通知设置界面 */
fun Context.openNotifySetting() = runCatching {
Intent().also { intent ->
intent.action = Settings.ACTION_APP_NOTIFICATION_SETTINGS
intent.putExtra(Settings.EXTRA_APP_PACKAGE, packageName)
intent.putExtra(Notification.EXTRA_CHANNEL_ID, applicationInfo.uid)
startActivity(intent)
}
}.onFailure { snake(msg = "跳转通知设置失败") }
/**
* 复制到剪贴板
* @param content 要复制的文本

View File

@@ -50,9 +50,7 @@ import com.fankes.miui.notify.hook.HookConst.TYPE_SOURCE_SYNC_WAY_2
import com.fankes.miui.notify.hook.HookConst.TYPE_SOURCE_SYNC_WAY_3
import com.fankes.miui.notify.params.IconPackParams
import com.fankes.miui.notify.ui.activity.ConfigureActivity
import com.fankes.miui.notify.utils.factory.safeOfNull
import com.fankes.miui.notify.utils.factory.showDialog
import com.fankes.miui.notify.utils.factory.snake
import com.fankes.miui.notify.utils.factory.*
import com.highcapable.yukihookapi.hook.factory.modulePrefs
import com.highcapable.yukihookapi.hook.log.loggerD
import okhttp3.*
@@ -366,7 +364,13 @@ object IconRuleManagerTool {
*/
fun refreshSystemUI(context: Context) {
if (context !is AppCompatActivity) return
context.showDialog {
if (isNotNoificationEnabled) context.showDialog {
title = "模块的通知权限已关闭"
msg = "请开启通知权限然后重启系统界面,否则无法动态刷新系统界面使更改生效。"
confirmButton { context.openNotifySetting() }
cancelButton()
noCancelable()
} else context.showDialog {
title = "请稍后"
progressContent = "正在刷新系统界面改变"
/** 发送通知提醒宿主更新图标缓存 */

View File

@@ -23,7 +23,10 @@
package com.fankes.miui.notify.utils.tool
import android.content.Context
import com.fankes.miui.notify.utils.factory.*
import com.fankes.miui.notify.utils.factory.execShellSu
import com.fankes.miui.notify.utils.factory.showDialog
import com.fankes.miui.notify.utils.factory.snake
import com.fankes.miui.notify.utils.factory.toast
import com.google.android.material.snackbar.Snackbar
import com.highcapable.yukihookapi.hook.factory.isXposedModuleActive
@@ -72,9 +75,6 @@ object SystemUITool {
* @param context 实例
*/
fun showNeedUpdateApplySnake(context: Context) =
if (isXposedModuleActive)
if (isNotNoificationEnabled)
context.snake(msg = "无通知权限,请重启系统界面使更改生效", actionText = "立即重启") { restartSystemUI(context) }
else context.snake(msg = "通知图标优化名单已完成同步")
if (isXposedModuleActive) context.snake(msg = "通知图标优化名单已完成同步")
else context.snake(msg = "模块没有激活,更改不会生效")
}