Revert "Fix resource hook on MediaTek" (#1954)
MTK has fixed this issue, for devices that have not been updated, can use `resetprop ro.vendor.pref_scale_enable_cfg 0`
This commit is contained in:
parent
8febd8cc7a
commit
cbd19d17a8
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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() {
|
||||
|
|
|
|||
Loading…
Reference in New Issue