mirror of
https://github.com/fankes/MIUINativeNotifyIcon.git
synced 2025-09-05 10:15:31 +08:00
Merge code
This commit is contained in:
@@ -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()
|
||||
}
|
||||
|
@@ -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 要复制的文本
|
||||
|
@@ -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 = "正在刷新系统界面改变"
|
||||
/** 发送通知提醒宿主更新图标缓存 */
|
||||
|
@@ -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 = "模块没有激活,更改不会生效")
|
||||
}
|
Reference in New Issue
Block a user