diff options
| author | Dmitri Plotnikov <dplotnikov@google.com> | 2020-10-23 15:47:19 -0700 |
|---|---|---|
| committer | Dmitri Plotnikov <dplotnikov@google.com> | 2020-10-28 17:27:27 -0700 |
| commit | ec2bc8d99fe9fad5f6e829b259b78a2bd58c4a76 (patch) | |
| tree | c62d2ca580f76a001e6340ac2c4fe10a09b5cccf /core/java/android/content/ContentProviderNative.java | |
| parent | b2f811d3c8b536452f191bf6aa4ad7c14b0af077 (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.java | 29 |
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(); |
