Skip to content
Merged
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 @@ -115,6 +115,9 @@ object SystemUIHooker : YukiBaseHooker() {

/** 原生存在的类 */
private val MediaDataClass by lazyClassOrNull("${PackageName.SYSTEMUI}.media.MediaData")

/** 原生存在的类 */
private val ViewConfigCoordinatorClass by lazyClassOrNull("${PackageName.SYSTEMUI}.statusbar.notification.collection.coordinator.ViewConfigCoordinator")

/** 原生存在的类 - 旧版本不存在 */
private val LegacyNotificationIconAreaControllerImpl by lazyClassOrNull("${PackageName.SYSTEMUI}.statusbar.phone.LegacyNotificationIconAreaControllerImpl")
Expand Down Expand Up @@ -142,7 +145,7 @@ object SystemUIHooker : YukiBaseHooker() {

/** ColorOS 存在的类 - 旧版本不存在 */
private val OplusNotificationGroupTemplateWrapperClass by lazyClassOrNull("com.oplus.systemui.notification.row.oplusgroup.OplusNotificationGroupTemplateWrapper")

/** 根据多个版本存在不同的包名相同的类 */
private val OplusNotificationIconAreaControllerClass by lazyClass(
VariousClass(
Expand Down Expand Up @@ -293,6 +296,13 @@ object SystemUIHooker : YukiBaseHooker() {
name = "proxyOnContentUpdated"
parameterCount = 1
} != null

private val isNotificationPresenter
get() = StatusBarNotificationPresenterClass.resolve().optional(silent = true)
.firstMethodOrNull {
name = "updateNotificationsOnDensityOrFontScaleChanged"
emptyParameters()
} != null

/**
* 打印日志
Expand Down Expand Up @@ -785,7 +795,10 @@ object SystemUIHooker : YukiBaseHooker() {
if (args().first().any() != null) instance<ImageView>().also { registerWallpaperColorChanged(it) }
}
/** 注入通知控制器实例 */
StatusBarNotificationPresenterClass.resolve().optional().constructor {}.hookAll().after { notificationPresenter = instance }
if (isNotificationPresenter)
StatusBarNotificationPresenterClass.resolve().optional().constructor {}.hookAll().after { notificationPresenter = instance }
else
ViewConfigCoordinatorClass?.resolve()?.optional()?.constructor {}?.hookAll()?.after { notificationPresenter = instance }
/** 替换通知面板背景 - 新版本 */
if (!isOldNotificationBackground)
OplusNotificationBackgroundViewClass?.resolve()?.optional()?.apply {
Expand Down Expand Up @@ -1023,4 +1036,4 @@ object SystemUIHooker : YukiBaseHooker() {
}
}
}
}
}
Loading