From 6fff15e968c092834115b8c62edf36ffd789a751 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=AE=8B=E9=A1=B5?= <31466456+canyie@users.noreply.github.com> Date: Sun, 6 Mar 2022 00:33:05 +0800 Subject: [PATCH] Fix createResourcesForActivity hook handling (#1744) --- core/src/main/java/de/robv/android/xposed/XposedInit.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/de/robv/android/xposed/XposedInit.java b/core/src/main/java/de/robv/android/xposed/XposedInit.java index 3b526187..d76c2b92 100644 --- a/core/src/main/java/de/robv/android/xposed/XposedInit.java +++ b/core/src/main/java/de/robv/android/xposed/XposedInit.java @@ -147,11 +147,13 @@ public final class XposedInit { //noinspection unchecked resourceReferences = (ArrayList) getObjectField(param.thisObject, "mResourceReferences"); } - if (classActivityRes == null) { + if (activityToken == null || classActivityRes == null) { resourceReferences.add(new WeakReference<>(newRes)); } else { + // Android S createResourcesForActivity() var activityRes = XposedHelpers.newInstance(classActivityRes); XposedHelpers.setObjectField(activityRes, "resources", new WeakReference<>(newRes)); + resourceReferences.add(activityRes); } } }