summaryrefslogtreecommitdiff
path: root/core/java/android/content/ContentResolver.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/ContentResolver.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/ContentResolver.java')
-rw-r--r--core/java/android/content/ContentResolver.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/core/java/android/content/ContentResolver.java b/core/java/android/content/ContentResolver.java
index 50092d17c692..422d3f7c6784 100644
--- a/core/java/android/content/ContentResolver.java
+++ b/core/java/android/content/ContentResolver.java
@@ -1338,7 +1338,14 @@ public abstract class ContentResolver implements ContentInterface {
}
try {
- return provider.uncanonicalize(mPackageName, mAttributionTag, url);
+ final UriResultListener resultListener = new UriResultListener();
+ provider.uncanonicalizeAsync(mPackageName, mAttributionTag, url,
+ new RemoteCallback(resultListener));
+ resultListener.waitForResult(CONTENT_PROVIDER_TIMEOUT_MILLIS);
+ if (resultListener.exception != null) {
+ throw resultListener.exception;
+ }
+ return resultListener.result;
} catch (RemoteException e) {
// Arbitrary and not worth documenting, as Activity
// Manager will kill this process shortly anyway.