Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[修复] Android 15 解除状态栏图标无效 / 类及方法错误 #206

Merged
merged 6 commits into from
Sep 24, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading