2023-09-13 21:34:24 +02:00
|
|
|
package android.content;
|
|
|
|
|
|
2024-08-05 17:13:10 +02:00
|
|
|
import java.util.HashMap;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
|
2024-06-10 23:24:29 +02:00
|
|
|
import android.content.pm.PackageParser;
|
2024-08-05 17:13:10 +02:00
|
|
|
import android.database.Cursor;
|
|
|
|
|
import android.net.Uri;
|
2024-08-29 13:51:08 +02:00
|
|
|
import android.os.ParcelFileDescriptor;
|
2024-08-05 17:13:10 +02:00
|
|
|
|
|
|
|
|
public abstract class ContentProvider {
|
2023-09-13 21:34:24 +02:00
|
|
|
|
2024-08-05 17:13:10 +02:00
|
|
|
static Map<String, ContentProvider> providers = new HashMap<String, ContentProvider>();
|
2023-09-13 21:34:24 +02:00
|
|
|
|
2024-05-22 23:38:54 +02:00
|
|
|
static void createContentProviders() throws Exception {
|
2024-06-10 23:24:29 +02:00
|
|
|
for (PackageParser.Provider provider_parsed : Context.pkg.providers) {
|
|
|
|
|
String providerName = provider_parsed.className;
|
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-08-05 17:13:10 +02:00
|
|
|
providers.put(provider_parsed.info.authority, provider);
|
2023-09-13 21:34:24 +02:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public boolean onCreate() {return false;}
|
|
|
|
|
|
|
|
|
|
public Context getContext() {
|
2024-06-15 22:32:01 +02:00
|
|
|
return new Context();
|
2023-09-13 21:34:24 +02:00
|
|
|
}
|
|
|
|
|
|
2024-08-05 17:13:10 +02:00
|
|
|
public abstract Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder);
|
|
|
|
|
|
|
|
|
|
public abstract Uri insert(Uri uri, ContentValues values);
|
|
|
|
|
|
|
|
|
|
public abstract int delete(Uri uri, String selection, String[] selectionArgs);
|
|
|
|
|
|
2024-08-29 13:51:08 +02:00
|
|
|
public abstract String getType(Uri uri);
|
|
|
|
|
|
|
|
|
|
public abstract ParcelFileDescriptor openFile(Uri uri, String mode);
|
|
|
|
|
|
2023-09-13 21:34:24 +02:00
|
|
|
}
|