mirror of
https://github.com/fankes/ColorOSNotifyIcon.git
synced 2025-09-06 10:45:49 +08:00
Update YukiHookAPI
This commit is contained in:
@@ -38,7 +38,7 @@ android {
|
|||||||
|
|
||||||
buildTypes {
|
buildTypes {
|
||||||
release {
|
release {
|
||||||
minifyEnabled true
|
minifyEnabled rootProject.ext.enableR8
|
||||||
signingConfig signingConfigs.debug
|
signingConfig signingConfigs.debug
|
||||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
||||||
}
|
}
|
||||||
@@ -72,8 +72,8 @@ tasks.whenTaskAdded {
|
|||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
compileOnly 'de.robv.android.xposed:api:82'
|
compileOnly 'de.robv.android.xposed:api:82'
|
||||||
implementation 'com.highcapable.yukihookapi:api:1.0.73'
|
implementation 'com.highcapable.yukihookapi:api:1.0.75'
|
||||||
ksp 'com.highcapable.yukihookapi:ksp-xposed:1.0.73'
|
ksp 'com.highcapable.yukihookapi:ksp-xposed:1.0.75'
|
||||||
implementation 'com.github.tiann:FreeReflection:3.1.0'
|
implementation 'com.github.tiann:FreeReflection:3.1.0'
|
||||||
implementation "com.github.topjohnwu.libsu:core:3.1.2"
|
implementation "com.github.topjohnwu.libsu:core:3.1.2"
|
||||||
implementation 'androidx.annotation:annotation:1.3.0'
|
implementation 'androidx.annotation:annotation:1.3.0'
|
||||||
|
@@ -549,7 +549,7 @@ class SystemUIHooker : YukiBaseHooker() {
|
|||||||
}
|
}
|
||||||
beforeHook {
|
beforeHook {
|
||||||
/** 是否移除 */
|
/** 是否移除 */
|
||||||
if (args().int() == 7 && prefs.get(DataConst.REMOVE_CHANGECP_NOTIFY)) resultNull()
|
if (args().first().int() == 7 && prefs.get(DataConst.REMOVE_CHANGECP_NOTIFY)) resultNull()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -573,7 +573,7 @@ class SystemUIHooker : YukiBaseHooker() {
|
|||||||
name = "isGrayscaleOplus"
|
name = "isGrayscaleOplus"
|
||||||
param(ImageViewClass, OplusContrastColorUtilClass)
|
param(ImageViewClass, OplusContrastColorUtilClass)
|
||||||
}
|
}
|
||||||
replaceAny { firstArgs<ImageView>()?.let { isGrayscaleIcon(it.context, it.drawable) } }
|
replaceAny { args().first().cast<ImageView>()?.let { isGrayscaleIcon(it.context, it.drawable) } }
|
||||||
}.ignoredHookingFailure()
|
}.ignoredHookingFailure()
|
||||||
}
|
}
|
||||||
/** 替换状态栏图标 */
|
/** 替换状态栏图标 */
|
||||||
@@ -588,7 +588,7 @@ class SystemUIHooker : YukiBaseHooker() {
|
|||||||
.get(field { name = "iconBuilder" }.get(instance).cast()).cast<Context>()?.also { context ->
|
.get(field { name = "iconBuilder" }.get(instance).cast()).cast<Context>()?.also { context ->
|
||||||
NotificationEntryClass.clazz.method {
|
NotificationEntryClass.clazz.method {
|
||||||
name = "getSbn"
|
name = "getSbn"
|
||||||
}.get(firstArgs).invoke<StatusBarNotification>()?.also { nf ->
|
}.get(args[0]).invoke<StatusBarNotification>()?.also { nf ->
|
||||||
nf.notification.smallIcon.loadDrawable(context).also { iconDrawable ->
|
nf.notification.smallIcon.loadDrawable(context).also { iconDrawable ->
|
||||||
compatStatusIcon(
|
compatStatusIcon(
|
||||||
context = context,
|
context = context,
|
||||||
@@ -620,7 +620,7 @@ class SystemUIHooker : YukiBaseHooker() {
|
|||||||
param(StatusBarNotificationClass)
|
param(StatusBarNotificationClass)
|
||||||
}
|
}
|
||||||
afterHook {
|
afterHook {
|
||||||
if (firstArgs != null) instance<ImageView>().also {
|
if (args[0] != null) instance<ImageView>().also {
|
||||||
/** 注册壁纸颜色监听 */
|
/** 注册壁纸颜色监听 */
|
||||||
registerWallpaperColorChanged(it)
|
registerWallpaperColorChanged(it)
|
||||||
/** 注册广播 */
|
/** 注册广播 */
|
||||||
@@ -698,7 +698,7 @@ class SystemUIHooker : YukiBaseHooker() {
|
|||||||
param(ContextClass, IntentClass)
|
param(ContextClass, IntentClass)
|
||||||
}
|
}
|
||||||
afterHook {
|
afterHook {
|
||||||
if (isEnableHookColorNotifyIcon()) (lastArgs as? Intent)?.also {
|
if (isEnableHookColorNotifyIcon()) args().last().cast<Intent>()?.also {
|
||||||
if (it.action.equals(Intent.ACTION_PACKAGE_REPLACED).not() &&
|
if (it.action.equals(Intent.ACTION_PACKAGE_REPLACED).not() &&
|
||||||
it.getBooleanExtra(Intent.EXTRA_REPLACING, false)
|
it.getBooleanExtra(Intent.EXTRA_REPLACING, false)
|
||||||
) return@also
|
) return@also
|
||||||
@@ -708,11 +708,11 @@ class SystemUIHooker : YukiBaseHooker() {
|
|||||||
if (iconDatas.takeIf { e -> e.isNotEmpty() }
|
if (iconDatas.takeIf { e -> e.isNotEmpty() }
|
||||||
?.filter { e -> e.packageName == newPkgName }
|
?.filter { e -> e.packageName == newPkgName }
|
||||||
.isNullOrEmpty()
|
.isNullOrEmpty()
|
||||||
) IconAdaptationTool.pushNewAppSupportNotify(firstArgs()!!, newPkgName)
|
) IconAdaptationTool.pushNewAppSupportNotify(args().first().cast()!!, newPkgName)
|
||||||
}
|
}
|
||||||
Intent.ACTION_PACKAGE_REMOVED ->
|
Intent.ACTION_PACKAGE_REMOVED ->
|
||||||
IconAdaptationTool.removeNewAppSupportNotify(
|
IconAdaptationTool.removeNewAppSupportNotify(
|
||||||
context = firstArgs()!!,
|
context = args().first().cast()!!,
|
||||||
packageName = it.data?.schemeSpecificPart ?: ""
|
packageName = it.data?.schemeSpecificPart ?: ""
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -728,7 +728,7 @@ class SystemUIHooker : YukiBaseHooker() {
|
|||||||
param(ContextClass, IntentClass)
|
param(ContextClass, IntentClass)
|
||||||
}
|
}
|
||||||
afterHook {
|
afterHook {
|
||||||
firstArgs<Context>()?.also {
|
args().first().cast<Context>()?.also {
|
||||||
/** 注册广播 */
|
/** 注册广播 */
|
||||||
registerReceiver(it)
|
registerReceiver(it)
|
||||||
/** 注册定时监听 */
|
/** 注册定时监听 */
|
||||||
|
@@ -1,12 +1,13 @@
|
|||||||
plugins {
|
plugins {
|
||||||
id 'com.android.application' version '7.1.2' apply false
|
id 'com.android.application' version '7.1.3' apply false
|
||||||
id 'com.android.library' version '7.1.2' apply false
|
id 'com.android.library' version '7.1.3' apply false
|
||||||
id 'org.jetbrains.kotlin.android' version '1.6.10' apply false
|
id 'org.jetbrains.kotlin.android' version '1.6.10' apply false
|
||||||
}
|
}
|
||||||
|
|
||||||
ext {
|
ext {
|
||||||
appVersionName = "1.53"
|
appVersionName = "1.53"
|
||||||
appVersionCode = 10
|
appVersionCode = 10
|
||||||
|
enableR8 = true
|
||||||
}
|
}
|
||||||
|
|
||||||
task clean(type: Delete) {
|
task clean(type: Delete) {
|
||||||
|
Reference in New Issue
Block a user