Refine XposedResources
This commit is contained in:
parent
a922ae9e6c
commit
39178b1dad
|
|
@ -66,7 +66,7 @@ import de.robv.android.xposed.XposedInit;
|
|||
import de.robv.android.xposed.callbacks.XC_LayoutInflated;
|
||||
import de.robv.android.xposed.callbacks.XC_LayoutInflated.LayoutInflatedParam;
|
||||
import de.robv.android.xposed.callbacks.XCallback;
|
||||
import xposed.dummy.XResourcesSuperClass;
|
||||
import io.github.libxposed.XposedResources;
|
||||
import xposed.dummy.XTypedArraySuperClass;
|
||||
|
||||
/**
|
||||
|
|
@ -77,7 +77,7 @@ import xposed.dummy.XTypedArraySuperClass;
|
|||
* be set using the methods made available via the API methods in this class.
|
||||
*/
|
||||
@SuppressWarnings("JniMissingFunction")
|
||||
public class XResources extends XResourcesSuperClass {
|
||||
public class XResources extends XposedResources {
|
||||
private static final SparseArray<HashMap<String, Object>> sReplacements = new SparseArray<>();
|
||||
private static final SparseArray<HashMap<String, ResourceNames>> sResourceNames = new SparseArray<>();
|
||||
|
||||
|
|
|
|||
|
|
@ -58,9 +58,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
|
|||
import de.robv.android.xposed.callbacks.XC_InitPackageResources;
|
||||
import de.robv.android.xposed.callbacks.XCallback;
|
||||
import hidden.HiddenApiBridge;
|
||||
import io.github.libxposed.XposedInterface;
|
||||
import io.github.libxposed.XposedModuleInterface;
|
||||
import io.github.libxposed.XposedResource;
|
||||
|
||||
public final class XposedInit {
|
||||
private static final String TAG = XposedBridge.TAG;
|
||||
|
|
@ -200,7 +198,7 @@ public final class XposedInit {
|
|||
}
|
||||
|
||||
// Replace the returned resources with our subclass.
|
||||
var newRes = new XposedResource(
|
||||
var newRes = new XResources(
|
||||
(ClassLoader) XposedHelpers.getObjectField(param.getResult(), "mClassLoader"));
|
||||
HiddenApiBridge.Resources_setImpl(newRes, (ResourcesImpl) XposedHelpers.getObjectField(param.getResult(), "mResourcesImpl"));
|
||||
newRes.initObject(resDir);
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ public interface XposedModuleInterface {
|
|||
|
||||
class ResourceLoadedParam {
|
||||
public String packageName;
|
||||
public XposedResource res;
|
||||
public XposedResources res;
|
||||
}
|
||||
|
||||
default void onPackageLoaded(@NonNull PackageLoadedParam param, @Nullable Bundle extra) {
|
||||
|
|
|
|||
|
|
@ -1,9 +0,0 @@
|
|||
package io.github.libxposed;
|
||||
|
||||
import android.content.res.XResources;
|
||||
|
||||
public class XposedResource extends XResources {
|
||||
public XposedResource(ClassLoader classLoader) {
|
||||
super(classLoader);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
package io.github.libxposed;
|
||||
|
||||
import xposed.dummy.XResourcesSuperClass;
|
||||
|
||||
public abstract class XposedResources extends XResourcesSuperClass {
|
||||
/** Dummy, will never be called (objects are transferred to this class only). */
|
||||
protected XposedResources() {
|
||||
super();
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
protected XposedResources(ClassLoader classLoader) {
|
||||
super(classLoader);
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue