Make a.a not extend AppComponentFactory

Fix #2053
This commit is contained in:
topjohnwu
2019-11-09 15:57:12 -05:00
parent 65eca31635
commit a2ddf362d8
6 changed files with 13 additions and 18 deletions

View File

@ -19,12 +19,12 @@ public class DelegateApplication extends Application {
static File MANAGER_APK;
private Object factory;
private DelegateComponentFactory factory;
private Application delegate;
public DelegateApplication() {}
public DelegateApplication(Object o) {
public DelegateApplication(DelegateComponentFactory o) {
factory = o;
}
@ -46,7 +46,6 @@ public class DelegateApplication extends Application {
@SuppressLint("NewApi")
private void setUpDynAPK() {
DelegateComponentFactory factory = (DelegateComponentFactory) this.factory;
MANAGER_APK = DynAPK.current(this);
File update = DynAPK.update(this);
if (update.exists())
@ -55,7 +54,8 @@ public class DelegateApplication extends Application {
ClassLoader cl = new DynamicClassLoader(MANAGER_APK, factory.loader);
try {
// Create the delegate AppComponentFactory
AppComponentFactory df = (AppComponentFactory) cl.loadClass("a.a").newInstance();
AppComponentFactory df = (AppComponentFactory)
cl.loadClass("androidx.core.app.CoreComponentFactory").newInstance();
// Create the delegate Application
delegate = (Application) cl.loadClass("a.e").getConstructor(Object.class)

View File

@ -29,8 +29,7 @@ public class Mapping {
public static Data data() {
Data data = new Data();
data.componentMap = inverseMap;
data.classToComponent = inverseMap;
return data;
}
}