summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--api/test-current.txt1
-rw-r--r--core/java/android/provider/MediaStore.java13
2 files changed, 14 insertions, 0 deletions
diff --git a/api/test-current.txt b/api/test-current.txt
index d566027302b9..077abe0b3537 100644
--- a/api/test-current.txt
+++ b/api/test-current.txt
@@ -2325,6 +2325,7 @@ package android.provider {
method public static android.net.Uri scanFile(android.content.Context, java.io.File);
method public static android.net.Uri scanFileFromShell(android.content.Context, java.io.File);
method public static void scanVolume(android.content.Context, java.io.File);
+ method public static void waitForIdle(android.content.Context);
}
public final class Settings {
diff --git a/core/java/android/provider/MediaStore.java b/core/java/android/provider/MediaStore.java
index 2a590ce5a65e..2299aad6f79a 100644
--- a/core/java/android/provider/MediaStore.java
+++ b/core/java/android/provider/MediaStore.java
@@ -137,6 +137,8 @@ public final class MediaStore {
public static final String VOLUME_EXTERNAL_PRIMARY = "external_primary";
/** {@hide} */
+ public static final String WAIT_FOR_IDLE_CALL = "wait_for_idle";
+ /** {@hide} */
public static final String SCAN_FILE_CALL = "scan_file";
/** {@hide} */
public static final String SCAN_VOLUME_CALL = "scan_volume";
@@ -3562,6 +3564,17 @@ public final class MediaStore {
/** @hide */
@TestApi
+ public static void waitForIdle(Context context) {
+ final ContentResolver resolver = context.getContentResolver();
+ try (ContentProviderClient client = resolver.acquireContentProviderClient(AUTHORITY)) {
+ client.call(WAIT_FOR_IDLE_CALL, null, null);
+ } catch (RemoteException e) {
+ throw e.rethrowAsRuntimeException();
+ }
+ }
+
+ /** @hide */
+ @TestApi
public static Uri scanFile(Context context, File file) {
return scan(context, SCAN_FILE_CALL, file, false);
}