Fix createResourcesForActivity hook handling (#1744)

This commit is contained in:
残页 2022-03-06 00:33:05 +08:00 committed by GitHub
parent 51c82ac0c9
commit 6fff15e968
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 3 additions and 1 deletions

View File

@ -147,11 +147,13 @@ public final class XposedInit {
//noinspection unchecked //noinspection unchecked
resourceReferences = (ArrayList<Object>) getObjectField(param.thisObject, "mResourceReferences"); resourceReferences = (ArrayList<Object>) getObjectField(param.thisObject, "mResourceReferences");
} }
if (classActivityRes == null) { if (activityToken == null || classActivityRes == null) {
resourceReferences.add(new WeakReference<>(newRes)); resourceReferences.add(new WeakReference<>(newRes));
} else { } else {
// Android S createResourcesForActivity()
var activityRes = XposedHelpers.newInstance(classActivityRes); var activityRes = XposedHelpers.newInstance(classActivityRes);
XposedHelpers.setObjectField(activityRes, "resources", new WeakReference<>(newRes)); XposedHelpers.setObjectField(activityRes, "resources", new WeakReference<>(newRes));
resourceReferences.add(activityRes);
} }
} }
} }