diff --git a/edxp-core/build.gradle b/edxp-core/build.gradle index c13d76a6..80e74d40 100644 --- a/edxp-core/build.gradle +++ b/edxp-core/build.gradle @@ -70,6 +70,11 @@ android { buildConfigField("Integer", "VERSION_CODE", String.valueOf(rootProject.ext.versionCode)) } + lintOptions { + abortOnError false + checkReleaseBuilds false + } + buildTypes { debug { externalNativeBuild { @@ -122,11 +127,6 @@ preBuild.doLast { } afterEvaluate { - tasks.withType(JavaCompile) { - dependsOn tasks.getByPath(":hiddenapi-stubs:makeStubJar") - options.compilerArgs.add("-Xbootclasspath/p:${hiddenApiStubJarFilePath}") - } - task("copyCommonProperties", type: Copy) { from file("${projectDir}/template_override/") into file(templateRootPath) diff --git a/edxp-core/src/main/java/android/content/res/XModuleResources.java b/edxp-core/src/main/java/android/content/res/XModuleResources.java index 57464b35..8f325bca 100644 --- a/edxp-core/src/main/java/android/content/res/XModuleResources.java +++ b/edxp-core/src/main/java/android/content/res/XModuleResources.java @@ -6,6 +6,7 @@ import android.util.DisplayMetrics; import de.robv.android.xposed.IXposedHookInitPackageResources; import de.robv.android.xposed.IXposedHookZygoteInit; import de.robv.android.xposed.IXposedHookZygoteInit.StartupParam; +import de.robv.android.xposed.XposedHelpers; import de.robv.android.xposed.callbacks.XC_InitPackageResources.InitPackageResourcesParam; /** @@ -33,7 +34,8 @@ public class XModuleResources extends Resources { throw new IllegalArgumentException("path must not be null"); AssetManager assets = new AssetManager(); - assets.addAssetPath(path); + XposedHelpers.callMethod(assets, "addAssetPath", path); + //assets.addAssetPath(path); XModuleResources res; if (origRes != null) diff --git a/edxp-core/src/main/java/android/content/res/XResources.java b/edxp-core/src/main/java/android/content/res/XResources.java index ae73428f..2b7d1874 100644 --- a/edxp-core/src/main/java/android/content/res/XResources.java +++ b/edxp-core/src/main/java/android/content/res/XResources.java @@ -799,32 +799,6 @@ public class XResources extends XResourcesSuperClass { } } - /** @hide */ - @Override - public Drawable getDrawable(int id, Theme theme, boolean supportComposedIcons) throws NotFoundException { - try { - if (incrementMethodDepth("getDrawable") == 1) { - Object replacement = getReplacement(id); - if (replacement instanceof DrawableLoader) { - try { - Drawable result = ((DrawableLoader) replacement).newDrawable(this, id); - if (result != null) - return result; - } catch (Throwable t) { XposedBridge.log(t); } - } else if (replacement instanceof Integer) { - return new ColorDrawable((Integer) replacement); - } else if (replacement instanceof XResForwarder) { - Resources repRes = ((XResForwarder) replacement).getResources(); - int repId = ((XResForwarder) replacement).getId(); - return repRes.getDrawable(repId); - } - } - return super.getDrawable(id, theme, supportComposedIcons); - } finally { - decrementMethodDepth("getDrawable"); - } - } - /** @hide */ @Override public Drawable getDrawableForDensity(int id, int density) throws NotFoundException { @@ -877,32 +851,6 @@ public class XResources extends XResourcesSuperClass { } } - /** @hide */ - @Override - public Drawable getDrawableForDensity(int id, int density, Theme theme, boolean supportComposedIcons) throws NotFoundException { - try { - if (incrementMethodDepth("getDrawableForDensity") == 1) { - Object replacement = getReplacement(id); - if (replacement instanceof DrawableLoader) { - try { - Drawable result = ((DrawableLoader) replacement).newDrawableForDensity(this, id, density); - if (result != null) - return result; - } catch (Throwable t) { XposedBridge.log(t); } - } else if (replacement instanceof Integer) { - return new ColorDrawable((Integer) replacement); - } else if (replacement instanceof XResForwarder) { - Resources repRes = ((XResForwarder) replacement).getResources(); - int repId = ((XResForwarder) replacement).getId(); - return repRes.getDrawableForDensity(repId, density); - } - } - return super.getDrawableForDensity(id, density, theme, supportComposedIcons); - } finally { - decrementMethodDepth("getDrawableForDensity"); - } - } - /** @hide */ @Override public float getFraction(int id, int base, int pbase) { diff --git a/edxp-core/src/main/java/de/robv/android/xposed/XposedInit.java b/edxp-core/src/main/java/de/robv/android/xposed/XposedInit.java index adb87bcb..c0fdacf9 100644 --- a/edxp-core/src/main/java/de/robv/android/xposed/XposedInit.java +++ b/edxp-core/src/main/java/de/robv/android/xposed/XposedInit.java @@ -262,7 +262,8 @@ public final class XposedInit { // Replace system resources XResources systemRes = new XResources( (ClassLoader) XposedHelpers.getObjectField(Resources.getSystem(), "mClassLoader")); - systemRes.setImpl((ResourcesImpl) XposedHelpers.getObjectField(Resources.getSystem(), "mResourcesImpl")); + XposedHelpers.callMethod(systemRes, "setImpl", XposedHelpers.getObjectField(Resources.getSystem(), "mResourcesImpl")); + //systemRes.setImpl((ResourcesImpl) XposedHelpers.getObjectField(Resources.getSystem(), "mResourcesImpl")); systemRes.initObject(null); setStaticObjectField(Resources.class, "mSystem", systemRes); @@ -280,7 +281,8 @@ public final class XposedInit { // Replace the returned resources with our subclass. XResources newRes = new XResources( (ClassLoader) XposedHelpers.getObjectField(param.getResult(), "mClassLoader")); - newRes.setImpl((ResourcesImpl) XposedHelpers.getObjectField(param.getResult(), "mResourcesImpl")); + XposedHelpers.callMethod(newRes, "setImpl", XposedHelpers.getObjectField(param.getResult(), "mResourcesImpl")); + //newRes.setImpl((ResourcesImpl) XposedHelpers.getObjectField(param.getResult(), "mResourcesImpl")); newRes.initObject(resDir); // Invoke handleInitPackageResources(). diff --git a/hiddenapi-stubs/build.gradle b/hiddenapi-stubs/build.gradle index 31adb017..6d88a709 100644 --- a/hiddenapi-stubs/build.gradle +++ b/hiddenapi-stubs/build.gradle @@ -4,12 +4,3 @@ android { compileSdkVersion androidCompileSdkVersion.toInteger() ndkVersion androidCompileNdkVersion } - -task makeStubJar(type: Jar){ - dependsOn assemble - baseName 'framework-stub' - from("${buildDir}/intermediates/javac/release/classes/") - exclude('BuildConfig.class', 'R.class') - exclude{ it.name.startsWith('R$')} - outputs.file(archivePath) -}