diff --git a/app/build.gradle b/app/build.gradle index 9a16b44..a44b942 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -72,9 +72,8 @@ tasks.whenTaskAdded { dependencies { compileOnly 'de.robv.android.xposed:api:82' - implementation 'com.highcapable.yukihookapi:api:1.0.75' - ksp 'com.highcapable.yukihookapi:ksp-xposed:1.0.75' - implementation 'com.github.tiann:FreeReflection:3.1.0' + implementation 'com.highcapable.yukihookapi:api:1.0.77' + ksp 'com.highcapable.yukihookapi:ksp-xposed:1.0.77' implementation "com.github.topjohnwu.libsu:core:3.1.2" implementation 'androidx.annotation:annotation:1.3.0' implementation 'com.geyifeng.immersionbar:immersionbar:3.2.0' diff --git a/app/src/main/java/com/fankes/coloros/notify/application/CNNApplication.kt b/app/src/main/java/com/fankes/coloros/notify/application/CNNApplication.kt index cdcba15..fee0776 100644 --- a/app/src/main/java/com/fankes/coloros/notify/application/CNNApplication.kt +++ b/app/src/main/java/com/fankes/coloros/notify/application/CNNApplication.kt @@ -24,32 +24,13 @@ package com.fankes.coloros.notify.application -import android.app.Application -import android.content.Context import androidx.appcompat.app.AppCompatDelegate -import me.weishu.reflection.Reflection +import com.highcapable.yukihookapi.hook.xposed.application.ModuleApplication -class CNNApplication : Application() { - - companion object { - - /** 全局静态实例 */ - private var context: CNNApplication? = null - - /** 调用全局静态实例 */ - val appContext get() = context ?: error("App is death") - } - - override fun attachBaseContext(base: Context?) { - super.attachBaseContext(base) - /** 解锁隐藏 API */ - Reflection.unseal(base) - } +class CNNApplication : ModuleApplication() { override fun onCreate() { super.onCreate() - /** 设置静态实例 */ - context = this /** 跟随系统夜间模式 */ AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM) } diff --git a/app/src/main/java/com/fankes/coloros/notify/hook/entity/SystemUIHooker.kt b/app/src/main/java/com/fankes/coloros/notify/hook/entity/SystemUIHooker.kt index 3622283..2467327 100644 --- a/app/src/main/java/com/fankes/coloros/notify/hook/entity/SystemUIHooker.kt +++ b/app/src/main/java/com/fankes/coloros/notify/hook/entity/SystemUIHooker.kt @@ -597,7 +597,7 @@ class SystemUIHooker : YukiBaseHooker() { .get(field { name = "iconBuilder" }.get(instance).cast()).cast()?.also { context -> NotificationEntryClass.clazz.method { name = "getSbn" - }.get(args[0]).invoke()?.also { nf -> + }.get(args().first().any()).invoke()?.also { nf -> nf.notification.smallIcon.loadDrawable(context).also { iconDrawable -> compatStatusIcon( context = context, @@ -629,7 +629,7 @@ class SystemUIHooker : YukiBaseHooker() { param(StatusBarNotificationClass) } afterHook { - if (args[0] != null) instance().also { + if (args().first().any() != null) instance().also { /** 注册壁纸颜色监听 */ registerWallpaperColorChanged(it) /** 注册广播 */ diff --git a/app/src/main/java/com/fankes/coloros/notify/ui/activity/auto/NotifyIconRuleUpdateActivity.kt b/app/src/main/java/com/fankes/coloros/notify/ui/activity/auto/NotifyIconRuleUpdateActivity.kt index 38aea45..c9055e9 100644 --- a/app/src/main/java/com/fankes/coloros/notify/ui/activity/auto/NotifyIconRuleUpdateActivity.kt +++ b/app/src/main/java/com/fankes/coloros/notify/ui/activity/auto/NotifyIconRuleUpdateActivity.kt @@ -28,11 +28,11 @@ import android.app.Activity import android.os.Bundle import android.view.View import android.view.WindowManager -import com.fankes.coloros.notify.application.CNNApplication.Companion.appContext import com.fankes.coloros.notify.ui.activity.base.BaseActivity import com.fankes.coloros.notify.utils.factory.delayedRun import com.fankes.coloros.notify.utils.tool.IconRuleManagerTool import com.fankes.coloros.notify.utils.tool.SystemUITool +import com.highcapable.yukihookapi.hook.xposed.application.ModuleApplication.Companion.appContext class NotifyIconRuleUpdateActivity : Activity() { diff --git a/app/src/main/java/com/fankes/coloros/notify/utils/factory/FunctionFactory.kt b/app/src/main/java/com/fankes/coloros/notify/utils/factory/FunctionFactory.kt index a0a6895..1e15a2d 100644 --- a/app/src/main/java/com/fankes/coloros/notify/utils/factory/FunctionFactory.kt +++ b/app/src/main/java/com/fankes/coloros/notify/utils/factory/FunctionFactory.kt @@ -50,13 +50,13 @@ import android.util.Base64 import android.widget.Toast import androidx.core.app.NotificationManagerCompat import androidx.core.content.getSystemService -import com.fankes.coloros.notify.application.CNNApplication.Companion.appContext import com.google.android.material.snackbar.Snackbar import com.highcapable.yukihookapi.hook.factory.classOf import com.highcapable.yukihookapi.hook.factory.field import com.highcapable.yukihookapi.hook.factory.hasClass import com.highcapable.yukihookapi.hook.factory.method import com.highcapable.yukihookapi.hook.type.java.StringType +import com.highcapable.yukihookapi.hook.xposed.application.ModuleApplication.Companion.appContext import com.topjohnwu.superuser.Shell import java.io.ByteArrayOutputStream import java.text.SimpleDateFormat diff --git a/app/src/main/java/com/fankes/coloros/notify/utils/tool/SystemUITool.kt b/app/src/main/java/com/fankes/coloros/notify/utils/tool/SystemUITool.kt index 89c63d1..7056b81 100644 --- a/app/src/main/java/com/fankes/coloros/notify/utils/tool/SystemUITool.kt +++ b/app/src/main/java/com/fankes/coloros/notify/utils/tool/SystemUITool.kt @@ -26,11 +26,11 @@ import android.content.BroadcastReceiver import android.content.Context import android.content.Intent import android.content.IntentFilter -import com.fankes.coloros.notify.application.CNNApplication.Companion.appContext import com.fankes.coloros.notify.const.Const import com.fankes.coloros.notify.utils.factory.* import com.google.android.material.snackbar.Snackbar import com.highcapable.yukihookapi.hook.factory.isXposedModuleActive +import com.highcapable.yukihookapi.hook.xposed.application.ModuleApplication.Companion.appContext /** * 系统界面工具