Skip to content

Commit a82de55

Browse files
authored
fix: throw null receiver when singleton is null on Android 9 (#112)
1 parent 59c4b98 commit a82de55

File tree

1 file changed

+13
-11
lines changed
  • yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/xposed/parasitic

1 file changed

+13
-11
lines changed

yukihookapi-core/src/main/java/com/highcapable/yukihookapi/hook/xposed/parasitic/AppParasitics.kt

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ internal object AppParasitics {
216216
if (isClassLoaderHooked) return
217217
val loadClass = ClassLoader::class.resolve()
218218
.optional(silent = true)
219-
.firstMethodOrNull {
219+
.firstMethodOrNull {
220220
name = "loadClass"
221221
parameters(String::class, Boolean::class)
222222
}
@@ -509,16 +509,18 @@ internal object AppParasitics {
509509
?.optional(silent = true)
510510
?.firstFieldOrNull { name = "IActivityTaskManagerSingleton" }
511511
?.get()
512-
SingletonClass.resolve()
513-
.processor(AndroidHiddenApiBypassResolver.get())
514-
.optional(silent = true)
515-
.firstMethodOrNull { name = "get" }
516-
?.of(singleton)
517-
?.invokeQuietly()
518-
val mInstanceResolver2 = mInstanceResolver?.copy()?.of(singleton)
519-
val mInstance2 = mInstanceResolver2?.get()
520-
mInstance2?.let {
521-
mInstanceResolver2.set(IActivityManagerProxyImpl.createWrapper(IActivityTaskManagerClass, it))
512+
singleton?.let {
513+
SingletonClass.resolve()
514+
.processor(AndroidHiddenApiBypassResolver.get())
515+
.optional(silent = true)
516+
.firstMethodOrNull { name = "get" }
517+
?.of(singleton)
518+
?.invokeQuietly()
519+
val mInstanceResolver2 = mInstanceResolver?.copy()?.of(singleton)
520+
val mInstance2 = mInstanceResolver2?.get()
521+
mInstance2?.let {
522+
mInstanceResolver2.set(IActivityManagerProxyImpl.createWrapper(IActivityTaskManagerClass, it))
523+
}
522524
}
523525
isActivityProxyRegistered = true
524526
}.onFailure { YLog.innerE("Activity Proxy initialization failed because got an exception", it) }

0 commit comments

Comments
 (0)