diff --git a/app/build.gradle b/app/build.gradle index 1f6c01d..ee73ee7 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -38,7 +38,7 @@ android { buildTypes { release { - minifyEnabled true + minifyEnabled rootProject.ext.enableR8 signingConfig signingConfigs.debug proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } @@ -72,8 +72,8 @@ tasks.whenTaskAdded { dependencies { compileOnly 'de.robv.android.xposed:api:82' - implementation 'com.highcapable.yukihookapi:api:1.0.73' - ksp 'com.highcapable.yukihookapi:ksp-xposed:1.0.73' + implementation 'com.highcapable.yukihookapi:api:1.0.75' + ksp 'com.highcapable.yukihookapi:ksp-xposed:1.0.75' 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/miui/notify/hook/entity/SystemUIHooker.kt b/app/src/main/java/com/fankes/miui/notify/hook/entity/SystemUIHooker.kt index d4e744f..20996fa 100644 --- a/app/src/main/java/com/fankes/miui/notify/hook/entity/SystemUIHooker.kt +++ b/app/src/main/java/com/fankes/miui/notify/hook/entity/SystemUIHooker.kt @@ -359,7 +359,7 @@ class SystemUIHooker : YukiBaseHooker() { */ private val globalContext get() = safeOfNull { - SystemUIApplicationClass.clazz.method { name = "getContext" }.ignoredError().get().invoke() + SystemUIApplicationClass.clazz.method { name = "getContext" }.ignoredError().get().invoke() ?: appContext } /** @@ -699,13 +699,13 @@ class SystemUIHooker : YukiBaseHooker() { }.onFind { isUseLegacy = true } } afterHook { - (globalContext ?: firstArgs())?.also { context -> + (globalContext ?: args().first().cast())?.also { context -> val expandedNf = args(if (isUseLegacy) 1 else 0).cast() /** Hook 状态栏小图标 */ compatStatusIcon( context = context, expandedNf, - (result as Icon).loadDrawable(context) + result()?.loadDrawable(context) ).also { pair -> if (pair.second) result = Icon.createWithBitmap(pair.first?.toBitmap()) } } } @@ -750,7 +750,7 @@ class SystemUIHooker : YukiBaseHooker() { } } afterHook { - if (firstArgs != null) instance().also { + if (args[0] != null) instance().also { /** 注册壁纸颜色监听 */ registerWallpaperColorChanged(it) /** 注册广播 */ @@ -789,7 +789,7 @@ class SystemUIHooker : YukiBaseHooker() { name = "setMaxStaticIcons" param(IntType) } - beforeHook { isShowNotificationIcons = (firstArgs() ?: 0) > 0 } + beforeHook { isShowNotificationIcons = args().first().int() > 0 } }.ignoredNoSuchMemberFailure() /** 新版方法 - 旧版不存在 */ injectMember { @@ -797,7 +797,7 @@ class SystemUIHooker : YukiBaseHooker() { name = "miuiShowNotificationIcons" param(BooleanType) } - beforeHook { isShowNotificationIcons = firstArgs() ?: false } + beforeHook { isShowNotificationIcons = args().first().boolean() } }.ignoredNoSuchMemberFailure() } /** 注入原生通知包装纸实例 */ @@ -913,7 +913,7 @@ class SystemUIHooker : YukiBaseHooker() { param(ContextClass, IntentClass) } afterHook { - if (isEnableHookColorNotifyIcon()) (lastArgs as? Intent)?.also { + if (isEnableHookColorNotifyIcon()) args().last().cast()?.also { if (it.action.equals(Intent.ACTION_PACKAGE_REPLACED).not() && it.getBooleanExtra(Intent.EXTRA_REPLACING, false) ) return@also @@ -923,11 +923,11 @@ class SystemUIHooker : YukiBaseHooker() { if (iconDatas.takeIf { e -> e.isNotEmpty() } ?.filter { e -> e.packageName == newPkgName } .isNullOrEmpty() - ) IconAdaptationTool.pushNewAppSupportNotify(firstArgs()!!, newPkgName) + ) IconAdaptationTool.pushNewAppSupportNotify(args().first().cast()!!, newPkgName) } Intent.ACTION_PACKAGE_REMOVED -> IconAdaptationTool.removeNewAppSupportNotify( - context = firstArgs()!!, + context = args().first().cast()!!, packageName = it.data?.schemeSpecificPart ?: "" ) } diff --git a/build.gradle b/build.gradle index 483c4fe..95e8a95 100644 --- a/build.gradle +++ b/build.gradle @@ -1,12 +1,13 @@ plugins { - id 'com.android.application' version '7.1.2' apply false - id 'com.android.library' version '7.1.2' apply false + id 'com.android.application' version '7.1.3' apply false + id 'com.android.library' version '7.1.3' apply false id 'org.jetbrains.kotlin.android' version '1.6.10' apply false } ext { appVersionName = "2.35" appVersionCode = 29 + enableR8 = true } task clean(type: Delete) {