mirror of
https://github.com/fankes/ColorOSNotifyIcon.git
synced 2026-03-26 21:35:11 +08:00
fix: The refreshNotificationIcons does not work on ColorOS 16 (#89)
* fix: The refreshNotificationIcons does not work on ColorOS 16 * optimize field position Removed duplicate declaration of ViewConfigCoordinatorClass.
This commit is contained in:
@@ -116,6 +116,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")
|
||||
|
||||
@@ -294,6 +297,13 @@ object SystemUIHooker : YukiBaseHooker() {
|
||||
parameterCount = 1
|
||||
} != null
|
||||
|
||||
private val isNotificationPresenter
|
||||
get() = StatusBarNotificationPresenterClass.resolve().optional(silent = true)
|
||||
.firstMethodOrNull {
|
||||
name = "updateNotificationsOnDensityOrFontScaleChanged"
|
||||
emptyParameters()
|
||||
} != null
|
||||
|
||||
/**
|
||||
* 打印日志
|
||||
* @param tag 标识
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user