diff --git a/core/src/main/java/de/robv/android/xposed/XposedBridge.java b/core/src/main/java/de/robv/android/xposed/XposedBridge.java index 16e9ecf2..f1e9ef40 100644 --- a/core/src/main/java/de/robv/android/xposed/XposedBridge.java +++ b/core/src/main/java/de/robv/android/xposed/XposedBridge.java @@ -21,10 +21,7 @@ package de.robv.android.xposed; import android.app.ActivityThread; -import android.content.ContextWrapper; -import android.content.pm.ApplicationInfo; import android.content.res.Resources; -import android.content.res.ResourcesImpl; import android.content.res.TypedArray; import android.util.Log; @@ -138,24 +135,6 @@ public final class XposedBridge { dummyClassLoader.loadClass("xposed.dummy.XResourcesSuperClass"); dummyClassLoader.loadClass("xposed.dummy.XTypedArraySuperClass"); XposedHelpers.setObjectField(myCL, "parent", dummyClassLoader); - - var contextField = XposedHelpers.findFieldIfExists(ResourcesImpl.class, "mAppContext"); - // Used by com.mediatek.res.AsyncDrawableCache.putCacheList - if (contextField != null) { - var mediatekCompat = new ContextWrapper(null) { - private final ApplicationInfo info = new ApplicationInfo(); - - @Override - public ApplicationInfo getApplicationInfo() { - info.processName = "system"; - return info; - } - }; - - // This field will be updated to correct value - // after ContextImpl.createAppContext - contextField.set(null, mediatekCompat); - } } catch (Throwable throwable) { XposedBridge.log(throwable); XposedInit.disableResources = true; diff --git a/daemon/src/main/java/org/lsposed/lspd/service/ConfigFileManager.java b/daemon/src/main/java/org/lsposed/lspd/service/ConfigFileManager.java index 986d8131..e8642233 100644 --- a/daemon/src/main/java/org/lsposed/lspd/service/ConfigFileManager.java +++ b/daemon/src/main/java/org/lsposed/lspd/service/ConfigFileManager.java @@ -22,11 +22,8 @@ package org.lsposed.lspd.service; import static org.lsposed.lspd.service.ServiceManager.TAG; import static org.lsposed.lspd.service.ServiceManager.toGlobalNamespace; -import android.content.ContextWrapper; -import android.content.pm.ApplicationInfo; import android.content.res.AssetManager; import android.content.res.Resources; -import android.content.res.ResourcesImpl; import android.os.ParcelFileDescriptor; import android.os.Process; import android.os.SELinux; @@ -143,23 +140,6 @@ public class ConfigFileManager { } catch (Throwable e) { Log.e(TAG, Log.getStackTraceString(e)); } - try { - @SuppressWarnings("JavaReflectionMemberAccess") - var contextField = ResourcesImpl.class.getDeclaredField("mAppContext"); - contextField.setAccessible(true); - var mediatekCompat = new ContextWrapper(null) { - private final ApplicationInfo info = new ApplicationInfo(); - - @Override - public ApplicationInfo getApplicationInfo() { - info.processName = "system"; - return info; - } - }; - contextField.set(null, mediatekCompat); - } catch (Exception ignored) { - // Not a MediaTek device - } } static void reloadConfiguration() {