diff options
| -rw-r--r-- | api/test-current.txt | 1 | ||||
| -rw-r--r-- | core/java/android/provider/MediaStore.java | 13 |
2 files changed, 14 insertions, 0 deletions
diff --git a/api/test-current.txt b/api/test-current.txt index 91db344abed2..9fa7f99895c1 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -2326,6 +2326,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); } |