diff options
author | Fred Quintana <fredq@google.com> | 2009-05-15 15:10:40 -0700 |
---|---|---|
committer | Fred Quintana <fredq@google.com> | 2009-05-22 14:17:48 -0700 |
commit | 8943737692169f564cd34a9c8d471f3a5d438712 (patch) | |
tree | 7b017cbed472235c15d32e694b1fa18c5446c751 /core/java/android/content/ContentProvider.java | |
parent | fc5095f44ba46b57f4ef6179ee4d69ce3a7fe69a (diff) | |
download | frameworks_base-8943737692169f564cd34a9c8d471f3a5d438712.zip frameworks_base-8943737692169f564cd34a9c8d471f3a5d438712.tar.gz frameworks_base-8943737692169f564cd34a9c8d471f3a5d438712.tar.bz2 |
add ipc support to batching
Diffstat (limited to 'core/java/android/content/ContentProvider.java')
-rw-r--r-- | core/java/android/content/ContentProvider.java | 38 |
1 files changed, 18 insertions, 20 deletions
diff --git a/core/java/android/content/ContentProvider.java b/core/java/android/content/ContentProvider.java index c204dda..bb25b68 100644 --- a/core/java/android/content/ContentProvider.java +++ b/core/java/android/content/ContentProvider.java @@ -151,9 +151,23 @@ public abstract class ContentProvider implements ComponentCallbacks { return ContentProvider.this.bulkInsert(uri, initialValues); } - public Uri[] bulkInsertEntities(Uri uri, Entity[] entities) { + public Uri insertEntity(Uri uri, Entity entities) { checkWritePermission(uri); - return ContentProvider.this.bulkInsertEntities(uri, entities); + return ContentProvider.this.insertEntity(uri, entities); + } + + public ContentProviderResult[] applyBatch(ContentProviderOperation[] operations) + throws OperationApplicationException { + for (ContentProviderOperation operation : operations) { + if (operation.isReadOperation()) { + checkReadPermission(operation.getUri()); + } + + if (operation.isWriteOperation()) { + checkWritePermission(operation.getUri()); + } + } + return ContentProvider.this.applyBatch(operations); } public int delete(Uri uri, String selection, String[] selectionArgs) { @@ -167,9 +181,9 @@ public abstract class ContentProvider implements ComponentCallbacks { return ContentProvider.this.update(uri, values, selection, selectionArgs); } - public int[] bulkUpdateEntities(Uri uri, Entity[] entities) { + public int updateEntity(Uri uri, Entity entity) { checkWritePermission(uri); - return ContentProvider.this.bulkUpdateEntities(uri, entities); + return ContentProvider.this.updateEntity(uri, entity); } public ParcelFileDescriptor openFile(Uri uri, String mode) @@ -403,14 +417,6 @@ public abstract class ContentProvider implements ComponentCallbacks { throw new UnsupportedOperationException(); } - public Uri[] bulkInsertEntities(Uri uri, Entity[] entities) { - Uri[] result = new Uri[entities.length]; - for (int i = 0; i < entities.length; i++) { - result[i] = insertEntity(uri, entities[i]); - } - return result; - } - /** * A request to delete one or more rows. The selection clause is applied when performing * the deletion, allowing the operation to affect multiple rows in a @@ -459,14 +465,6 @@ public abstract class ContentProvider implements ComponentCallbacks { throw new UnsupportedOperationException(); } - public int[] bulkUpdateEntities(Uri uri, Entity[] entities) { - int[] result = new int[entities.length]; - for (int i = 0; i < entities.length; i++) { - result[i] = updateEntity(uri, entities[i]); - } - return result; - } - /** * Open a file blob associated with a content URI. * This method can be called from multiple |