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:
南宫雪珊 2022-05-19 17:08:12 +08:00 committed by GitHub
parent 8febd8cc7a
commit cbd19d17a8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 0 additions and 41 deletions

View File

@ -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;

View File

@ -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() {