2023-09-13 21:34:24 +02:00
|
|
|
package android.content;
|
|
|
|
|
|
2024-05-22 23:38:54 +02:00
|
|
|
import android.content.res.XmlResourceParser;
|
2023-09-13 21:34:24 +02:00
|
|
|
|
|
|
|
|
public class ContentProvider {
|
|
|
|
|
|
2024-05-22 23:38:54 +02:00
|
|
|
static void createContentProviders() throws Exception {
|
|
|
|
|
XmlResourceParser parser = Context.this_application.getAssets().openXmlResourceParser("AndroidManifest.xml");
|
|
|
|
|
for (; parser.getEventType() != XmlResourceParser.END_DOCUMENT; parser.next()) {
|
|
|
|
|
if (parser.getEventType() != XmlResourceParser.START_TAG || !"provider".equals(parser.getName()))
|
|
|
|
|
continue;
|
|
|
|
|
String providerName = parser.getAttributeValue("http://schemas.android.com/apk/res/android", "name");
|
2023-09-13 21:34:24 +02:00
|
|
|
if (providerName.startsWith(".")) {
|
2024-05-22 23:38:54 +02:00
|
|
|
providerName = Context.this_application.getPackageName() + providerName;
|
2023-09-13 21:34:24 +02:00
|
|
|
}
|
|
|
|
|
System.out.println("creating " + providerName);
|
|
|
|
|
Class<? extends ContentProvider> providerCls = Class.forName(providerName).asSubclass(ContentProvider.class);
|
|
|
|
|
ContentProvider provider = providerCls.getConstructor().newInstance();
|
|
|
|
|
provider.onCreate();
|
|
|
|
|
}
|
2024-05-22 23:38:54 +02:00
|
|
|
parser.close();
|
2023-09-13 21:34:24 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public boolean onCreate() {return false;}
|
|
|
|
|
|
|
|
|
|
public Context getContext() {
|
|
|
|
|
return Context.this_application;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|