Merge "Updates based on API council feedback." into rvc-dev
diff --git a/Android.bp b/Android.bp
index fb14f86..78d38c5 100644
--- a/Android.bp
+++ b/Android.bp
@@ -701,6 +701,7 @@
         "core/java/android/annotation/SystemApi.java",
         "core/java/android/annotation/SystemService.java",
         "core/java/android/annotation/TestApi.java",
+        "core/java/android/annotation/WorkerThread.java",
         "core/java/com/android/internal/annotations/GuardedBy.java",
         "core/java/com/android/internal/annotations/VisibleForTesting.java",
         "core/java/com/android/internal/annotations/Immutable.java",
diff --git a/api/current.txt b/api/current.txt
index a953ad7..560a35c 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -36594,6 +36594,7 @@
     method public static android.os.ParcelFileDescriptor open(java.io.File, int) throws java.io.FileNotFoundException;
     method public static android.os.ParcelFileDescriptor open(java.io.File, int, android.os.Handler, android.os.ParcelFileDescriptor.OnCloseListener) throws java.io.IOException;
     method public static int parseMode(String);
+    method @NonNull public static android.os.ParcelFileDescriptor wrap(@NonNull android.os.ParcelFileDescriptor, @NonNull android.os.Handler, @NonNull android.os.ParcelFileDescriptor.OnCloseListener) throws java.io.IOException;
     method public void writeToParcel(android.os.Parcel, int);
     field @NonNull public static final android.os.Parcelable.Creator<android.os.ParcelFileDescriptor> CREATOR;
     field public static final int MODE_APPEND = 33554432; // 0x2000000
diff --git a/api/system-current.txt b/api/system-current.txt
index 2ce6fd0..0c44600 100755
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -8467,10 +8467,6 @@
     method public boolean hasSingleFileDescriptor();
   }
 
-  public class ParcelFileDescriptor implements java.io.Closeable android.os.Parcelable {
-    method @NonNull public static android.os.ParcelFileDescriptor wrap(@NonNull android.os.ParcelFileDescriptor, @NonNull android.os.Handler, @NonNull android.os.ParcelFileDescriptor.OnCloseListener) throws java.io.IOException;
-  }
-
   public final class PowerManager {
     method @RequiresPermission(allOf={android.Manifest.permission.READ_DREAM_STATE, android.Manifest.permission.WRITE_DREAM_STATE}) public void dream(long);
     method @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public boolean forceSuspend();
@@ -9204,9 +9200,9 @@
 
   public final class MediaStore {
     method @NonNull public static android.net.Uri rewriteToLegacy(@NonNull android.net.Uri);
-    method @NonNull public static android.net.Uri scanFile(@NonNull android.content.ContentResolver, @NonNull java.io.File);
-    method public static void scanVolume(@NonNull android.content.ContentResolver, @NonNull String);
-    method public static void waitForIdle(@NonNull android.content.ContentResolver);
+    method @NonNull @WorkerThread public static android.net.Uri scanFile(@NonNull android.content.ContentResolver, @NonNull java.io.File);
+    method @WorkerThread public static void scanVolume(@NonNull android.content.ContentResolver, @NonNull String);
+    method @WorkerThread public static void waitForIdle(@NonNull android.content.ContentResolver);
     field public static final String AUTHORITY_LEGACY = "media_legacy";
     field @NonNull public static final android.net.Uri AUTHORITY_LEGACY_URI;
   }
diff --git a/api/test-current.txt b/api/test-current.txt
index a42710d..d03539c 100644
--- a/api/test-current.txt
+++ b/api/test-current.txt
@@ -2916,9 +2916,9 @@
   }
 
   public final class MediaStore {
-    method @NonNull public static android.net.Uri scanFile(@NonNull android.content.ContentResolver, @NonNull java.io.File);
-    method public static void scanVolume(@NonNull android.content.ContentResolver, @NonNull String);
-    method public static void waitForIdle(@NonNull android.content.ContentResolver);
+    method @NonNull @WorkerThread public static android.net.Uri scanFile(@NonNull android.content.ContentResolver, @NonNull java.io.File);
+    method @WorkerThread public static void scanVolume(@NonNull android.content.ContentResolver, @NonNull String);
+    method @WorkerThread public static void waitForIdle(@NonNull android.content.ContentResolver);
   }
 
   public final class Settings {
diff --git a/core/java/android/os/ParcelFileDescriptor.java b/core/java/android/os/ParcelFileDescriptor.java
index 89ddf8c..c084787 100644
--- a/core/java/android/os/ParcelFileDescriptor.java
+++ b/core/java/android/os/ParcelFileDescriptor.java
@@ -282,9 +282,7 @@
      * @param listener to be invoked when the returned descriptor has been
      *            closed.
      * @return a new ParcelFileDescriptor pointing to the given file.
-     * @hide
      */
-    @SystemApi
     // We can't accept a generic Executor here, since we need to use
     // MessageQueue.addOnFileDescriptorEventListener()
     @SuppressLint("ExecutorRegistration")