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 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);      }  |