summaryrefslogtreecommitdiff
path: root/core/java/android/content/ContentProviderNative.java
diff options
context:
space:
mode:
authorDmitri Plotnikov <dplotnikov@google.com>2020-10-23 15:47:19 -0700
committerDmitri Plotnikov <dplotnikov@google.com>2020-10-28 17:27:27 -0700
commitec2bc8d99fe9fad5f6e829b259b78a2bd58c4a76 (patch)
treec62d2ca580f76a001e6340ac2c4fe10a09b5cccf /core/java/android/content/ContentProviderNative.java
parentb2f811d3c8b536452f191bf6aa4ad7c14b0af077 (diff)
Add async version of "uncanonicalize"
This CL is basically identical to http://ag/10353234, which did the same with the sister method, "canonicalize". Fixes: b/147705670 Test: atest FrameworksCoreTests:android.content.ContentResolverTest Change-Id: Ide93850f225cdd61779a62fc2c4666efe438b536
Diffstat (limited to 'core/java/android/content/ContentProviderNative.java')
-rw-r--r--core/java/android/content/ContentProviderNative.java29
1 files changed, 29 insertions, 0 deletions
diff --git a/core/java/android/content/ContentProviderNative.java b/core/java/android/content/ContentProviderNative.java
index 7bc59013bcfe..7d121d56c86d 100644
--- a/core/java/android/content/ContentProviderNative.java
+++ b/core/java/android/content/ContentProviderNative.java
@@ -382,6 +382,16 @@ abstract public class ContentProviderNative extends Binder implements IContentPr
return true;
}
+ case UNCANONICALIZE_ASYNC_TRANSACTION: {
+ data.enforceInterface(IContentProvider.descriptor);
+ String callingPkg = data.readString();
+ String featureId = data.readString();
+ Uri uri = Uri.CREATOR.createFromParcel(data);
+ RemoteCallback callback = RemoteCallback.CREATOR.createFromParcel(data);
+ uncanonicalizeAsync(callingPkg, featureId, uri, callback);
+ return true;
+ }
+
case REFRESH_TRANSACTION: {
data.enforceInterface(IContentProvider.descriptor);
String callingPkg = data.readString();
@@ -875,6 +885,25 @@ final class ContentProviderProxy implements IContentProvider
}
@Override
+ /* oneway */ public void uncanonicalizeAsync(String callingPkg, @Nullable String featureId,
+ Uri uri, RemoteCallback callback) throws RemoteException {
+ Parcel data = Parcel.obtain();
+ try {
+ data.writeInterfaceToken(IContentProvider.descriptor);
+
+ data.writeString(callingPkg);
+ data.writeString(featureId);
+ uri.writeToParcel(data, 0);
+ callback.writeToParcel(data, 0);
+
+ mRemote.transact(IContentProvider.UNCANONICALIZE_ASYNC_TRANSACTION, data, null,
+ Binder.FLAG_ONEWAY);
+ } finally {
+ data.recycle();
+ }
+ }
+
+ @Override
public boolean refresh(String callingPkg, @Nullable String featureId, Uri url, Bundle extras,
ICancellationSignal signal) throws RemoteException {
Parcel data = Parcel.obtain();