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;
|
package de.robv.android.xposed;
|
||||||
|
|
||||||
import android.app.ActivityThread;
|
import android.app.ActivityThread;
|
||||||
import android.content.ContextWrapper;
|
|
||||||
import android.content.pm.ApplicationInfo;
|
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.content.res.ResourcesImpl;
|
|
||||||
import android.content.res.TypedArray;
|
import android.content.res.TypedArray;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
|
|
@ -138,24 +135,6 @@ public final class XposedBridge {
|
||||||
dummyClassLoader.loadClass("xposed.dummy.XResourcesSuperClass");
|
dummyClassLoader.loadClass("xposed.dummy.XResourcesSuperClass");
|
||||||
dummyClassLoader.loadClass("xposed.dummy.XTypedArraySuperClass");
|
dummyClassLoader.loadClass("xposed.dummy.XTypedArraySuperClass");
|
||||||
XposedHelpers.setObjectField(myCL, "parent", dummyClassLoader);
|
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) {
|
} catch (Throwable throwable) {
|
||||||
XposedBridge.log(throwable);
|
XposedBridge.log(throwable);
|
||||||
XposedInit.disableResources = true;
|
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.TAG;
|
||||||
import static org.lsposed.lspd.service.ServiceManager.toGlobalNamespace;
|
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.AssetManager;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.content.res.ResourcesImpl;
|
|
||||||
import android.os.ParcelFileDescriptor;
|
import android.os.ParcelFileDescriptor;
|
||||||
import android.os.Process;
|
import android.os.Process;
|
||||||
import android.os.SELinux;
|
import android.os.SELinux;
|
||||||
|
|
@ -143,23 +140,6 @@ public class ConfigFileManager {
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
Log.e(TAG, Log.getStackTraceString(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() {
|
static void reloadConfiguration() {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue