Skip to content

Commit

Permalink
[修复] Android 15 解除状态栏图标无效 / 类及方法错误 (#206)
Browse files Browse the repository at this point in the history
* Update FunctionFactory.kt

* Update SystemUIHooker.kt

* Update SystemUIHooker.kt

* Update SystemUIHooker.kt

* Update SystemUIHooker.kt

* Update FunctionFactory.kt
  • Loading branch information
Nep-Timeline authored Sep 24, 2024
1 parent 5a1672c commit a2bf9d2
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,8 @@ object SystemUIHooker : YukiBaseHooker() {
private val NotificationUtilClass by lazyClass(
VariousClass(
"${PackageName.SYSTEMUI}.statusbar.notification.NotificationUtil",
"${PackageName.SYSTEMUI}.miui.statusbar.notification.NotificationUtil"
"${PackageName.SYSTEMUI}.miui.statusbar.notification.NotificationUtil",
"${PackageName.SYSTEMUI}.statusbar.notification.utils.NotifImageUtil"
)
)

Expand Down Expand Up @@ -677,9 +678,12 @@ object SystemUIHooker : YukiBaseHooker() {
/** 旧版名称 */
val oldVersion = it == "mMaxStaticIcons"

/** 旧版名称 */
val oldVersion2 = it == "MAX_STATIC_ICONS"

/** 新版本名称 */
val newVersion = it == "MAX_STATIC_ICONS"
oldVersion || newVersion
val newVersion = it == "mMaxIcons"
oldVersion || oldVersion2 || newVersion
}
}.get(instance)
if (statusBarMaxStaticIcons == -1 ||
Expand Down Expand Up @@ -892,7 +896,7 @@ object SystemUIHooker : YukiBaseHooker() {
}
method {
name = "getSmallIcon"
param(ContextClass, ExpandedNotificationClass)
param { it[0] == ContextClass && it[1] extends StatusBarNotificationClass }
}.onFind { isUseLegacy = true }
}.hook().after {
(globalContext ?: args().first().cast())?.also { context ->
Expand Down Expand Up @@ -921,7 +925,7 @@ object SystemUIHooker : YukiBaseHooker() {
).also { pair -> iconView.setImageDrawable(pair.first) }
updateStatusBarIconColor(iconView)
}
/** 注入状态栏通知图标容器管理实例 */
/** 注入状态栏通知图标容器管理实例 (A15 HyperOS 已移除) */
NotificationIconAreaControllerClass.apply {
/** Hook 深色图标模式改变 */
method {
Expand Down Expand Up @@ -1010,7 +1014,7 @@ object SystemUIHooker : YukiBaseHooker() {
name = "setMaxStaticIcons"
param(IntType)
}.ignored().hook().before { isShowNotificationIcons = args().first().int() > 0 }
/** 新版方法 - 旧版不存在 */
/** 旧版方法 - 新版 (A15 HyperOS) 不存在 */
method {
name = "miuiShowNotificationIcons"
param(BooleanType)
Expand Down Expand Up @@ -1100,4 +1104,4 @@ object SystemUIHooker : YukiBaseHooker() {
} ?: false
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ inline val isNotMIOS get() = !isMIOS
val isSupportMiSystemVersion
get() = when {
isMIOS -> when (miosVersion) {
"1.0" -> true
"1.0", "1.1" -> true
else -> false
}
isMIUI -> when (miuiVersion) {
Expand All @@ -197,6 +197,7 @@ inline val isNotSupportMiSystemVersion get() = !isSupportMiSystemVersion
*/
val androidVersionCodeName
get() = when (Build.VERSION.SDK_INT) {
35 -> "V"
34 -> "U"
33 -> "T"
32 -> "S_V2"
Expand Down Expand Up @@ -719,4 +720,4 @@ fun Context.hideOrShowLauncherIcon(isShow: Boolean) {
val Context.isLauncherIconShowing
get() = packageManager?.getComponentEnabledSetting(
ComponentName(packageName, "${BuildConfigWrapper.APPLICATION_ID}.Home")
) != PackageManager.COMPONENT_ENABLED_STATE_DISABLED
) != PackageManager.COMPONENT_ENABLED_STATE_DISABLED

0 comments on commit a2bf9d2

Please sign in to comment.