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

View File

@@ -25,6 +25,7 @@
package com.fankes.miui.notify.utils.factory package com.fankes.miui.notify.utils.factory
import android.app.Activity import android.app.Activity
import android.app.Notification
import android.content.ClipData import android.content.ClipData
import android.content.ClipboardManager import android.content.ClipboardManager
import android.content.Context import android.content.Context
@@ -422,6 +423,16 @@ fun Context.openSelfSetting(packageName: String = appContext.packageName) = runC
else toast(msg = "你没有安装此应用") else toast(msg = "你没有安装此应用")
}.onFailure { toast(msg = "启动 $packageName 应用信息失败") } }.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 要复制的文本 * @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.hook.HookConst.TYPE_SOURCE_SYNC_WAY_3
import com.fankes.miui.notify.params.IconPackParams import com.fankes.miui.notify.params.IconPackParams
import com.fankes.miui.notify.ui.activity.ConfigureActivity import com.fankes.miui.notify.ui.activity.ConfigureActivity
import com.fankes.miui.notify.utils.factory.safeOfNull import com.fankes.miui.notify.utils.factory.*
import com.fankes.miui.notify.utils.factory.showDialog
import com.fankes.miui.notify.utils.factory.snake
import com.highcapable.yukihookapi.hook.factory.modulePrefs import com.highcapable.yukihookapi.hook.factory.modulePrefs
import com.highcapable.yukihookapi.hook.log.loggerD import com.highcapable.yukihookapi.hook.log.loggerD
import okhttp3.* import okhttp3.*
@@ -366,7 +364,13 @@ object IconRuleManagerTool {
*/ */
fun refreshSystemUI(context: Context) { fun refreshSystemUI(context: Context) {
if (context !is AppCompatActivity) return if (context !is AppCompatActivity) return
context.showDialog { if (isNotNoificationEnabled) context.showDialog {
title = "模块的通知权限已关闭"
msg = "请开启通知权限然后重启系统界面,否则无法动态刷新系统界面使更改生效。"
confirmButton { context.openNotifySetting() }
cancelButton()
noCancelable()
} else context.showDialog {
title = "请稍后" title = "请稍后"
progressContent = "正在刷新系统界面改变" progressContent = "正在刷新系统界面改变"
/** 发送通知提醒宿主更新图标缓存 */ /** 发送通知提醒宿主更新图标缓存 */

View File

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