Merge changes Iea1d2ae2,I1d3c8e48

* changes:
  Build java_sdk_libraries with much less sources
  Add RequiresApi annotations to LocationProvider
diff --git a/Android.bp b/Android.bp
index 7241417..7577353 100644
--- a/Android.bp
+++ b/Android.bp
@@ -894,8 +894,10 @@
 
 packages_to_document = [
     "android",
+    "dalvik",
     "java",
     "javax",
+    "junit",
     "org.apache.http",
     "org.json",
     "org.w3c.dom",
diff --git a/location/lib/Android.bp b/location/lib/Android.bp
index 3cd6ccf..fe0f669 100644
--- a/location/lib/Android.bp
+++ b/location/lib/Android.bp
@@ -16,9 +16,11 @@
 
 java_sdk_library {
     name: "com.android.location.provider",
-    srcs: [
-        "java/**/*.java",
-        ":framework-all-sources",
+    srcs: ["java/**/*.java"],
+    api_srcs: [":framework-all-sources"],
+    libs: [
+        "androidx.annotation_annotation",
+        "framework-all",
     ],
     api_packages: ["com.android.location.provider"],
 }
diff --git a/location/lib/api/current.txt b/location/lib/api/current.txt
index d1b39b3..5471bea 100644
--- a/location/lib/api/current.txt
+++ b/location/lib/api/current.txt
@@ -9,7 +9,7 @@
   public abstract class LocationProviderBase {
     ctor public LocationProviderBase(String, com.android.location.provider.ProviderPropertiesUnbundled);
     method public android.os.IBinder getBinder();
-    method public boolean isEnabled();
+    method @RequiresApi(android.os.Build.VERSION_CODES.Q) public boolean isEnabled();
     method @Deprecated protected void onDisable();
     method @Deprecated protected void onDump(java.io.FileDescriptor, java.io.PrintWriter, String[]);
     method @Deprecated protected void onEnable();
@@ -19,9 +19,9 @@
     method protected boolean onSendExtraCommand(@Nullable String, @Nullable android.os.Bundle);
     method protected abstract void onSetRequest(com.android.location.provider.ProviderRequestUnbundled, android.os.WorkSource);
     method public void reportLocation(android.location.Location);
-    method public void setAdditionalProviderPackages(java.util.List<java.lang.String>);
-    method public void setEnabled(boolean);
-    method public void setProperties(com.android.location.provider.ProviderPropertiesUnbundled);
+    method @RequiresApi(android.os.Build.VERSION_CODES.Q) public void setAdditionalProviderPackages(java.util.List<java.lang.String>);
+    method @RequiresApi(android.os.Build.VERSION_CODES.Q) public void setEnabled(boolean);
+    method @RequiresApi(android.os.Build.VERSION_CODES.Q) public void setProperties(com.android.location.provider.ProviderPropertiesUnbundled);
     field public static final String EXTRA_NO_GPS_LOCATION = "noGPSLocation";
     field public static final String FUSED_PROVIDER = "fused";
   }
@@ -48,7 +48,7 @@
     method public long getInterval();
     method public java.util.List<com.android.location.provider.LocationRequestUnbundled> getLocationRequests();
     method public boolean getReportLocation();
-    method public boolean isLocationSettingsIgnored();
+    method @RequiresApi(android.os.Build.VERSION_CODES.Q) public boolean isLocationSettingsIgnored();
   }
 
 }
diff --git a/location/lib/java/com/android/location/provider/LocationProviderBase.java b/location/lib/java/com/android/location/provider/LocationProviderBase.java
index fa113a8..6bde3a8 100644
--- a/location/lib/java/com/android/location/provider/LocationProviderBase.java
+++ b/location/lib/java/com/android/location/provider/LocationProviderBase.java
@@ -22,6 +22,7 @@
 import android.location.Location;
 import android.location.LocationManager;
 import android.location.LocationProvider;
+import android.os.Build.VERSION_CODES;
 import android.os.Bundle;
 import android.os.IBinder;
 import android.os.RemoteException;
@@ -29,6 +30,8 @@
 import android.os.WorkSource;
 import android.util.Log;
 
+import androidx.annotation.RequiresApi;
+
 import com.android.internal.location.ILocationProvider;
 import com.android.internal.location.ILocationProviderManager;
 import com.android.internal.location.ProviderProperties;
@@ -125,6 +128,7 @@
      * taken into account in the parent's enabled/disabled state. For most providers, it is expected
      * that they will be always enabled.
      */
+    @RequiresApi(VERSION_CODES.Q)
     public void setEnabled(boolean enabled) {
         synchronized (mBinder) {
             if (mEnabled == enabled) {
@@ -148,6 +152,7 @@
      * Sets the provider properties that may be queried by clients. Generally speaking, providers
      * should try to avoid changing their properties after construction.
      */
+    @RequiresApi(VERSION_CODES.Q)
     public void setProperties(ProviderPropertiesUnbundled properties) {
         synchronized (mBinder) {
             mProperties = properties.getProviderProperties();
@@ -170,6 +175,7 @@
      * providing location. This will inform location services to treat the other packages as
      * location providers as well.
      */
+    @RequiresApi(VERSION_CODES.Q)
     public void setAdditionalProviderPackages(List<String> packageNames) {
         synchronized (mBinder) {
             mAdditionalProviderPackages.clear();
@@ -190,6 +196,7 @@
      * Returns true if this provider has been set as enabled. This will be true unless explicitly
      * set otherwise.
      */
+    @RequiresApi(VERSION_CODES.Q)
     public boolean isEnabled() {
         return mEnabled;
     }
diff --git a/location/lib/java/com/android/location/provider/ProviderRequestUnbundled.java b/location/lib/java/com/android/location/provider/ProviderRequestUnbundled.java
index febbf1b..d12d6b7 100644
--- a/location/lib/java/com/android/location/provider/ProviderRequestUnbundled.java
+++ b/location/lib/java/com/android/location/provider/ProviderRequestUnbundled.java
@@ -17,6 +17,9 @@
 package com.android.location.provider;
 
 import android.location.LocationRequest;
+import android.os.Build;
+
+import androidx.annotation.RequiresApi;
 
 import com.android.internal.location.ProviderRequest;
 
@@ -46,6 +49,7 @@
         return mRequest.interval;
     }
 
+    @RequiresApi(Build.VERSION_CODES.Q)
     public boolean isLocationSettingsIgnored() {
         return mRequest.locationSettingsIgnored;
     }
diff --git a/media/lib/signer/Android.bp b/media/lib/signer/Android.bp
index 2286c53..6b03e4d 100644
--- a/media/lib/signer/Android.bp
+++ b/media/lib/signer/Android.bp
@@ -16,9 +16,8 @@
 
 java_sdk_library {
     name: "com.android.mediadrm.signer",
-    srcs: [
-        "java/**/*.java",
-        ":framework-all-sources",
-    ],
+    srcs: ["java/**/*.java"],
+    api_srcs: [":framework-all-sources"],
+    libs: ["framework-all"],
     api_packages: ["com.android.mediadrm.signer"],
 }
diff --git a/test-mock/Android.bp b/test-mock/Android.bp
index adc9e22..81b1e49 100644
--- a/test-mock/Android.bp
+++ b/test-mock/Android.bp
@@ -19,10 +19,9 @@
 java_sdk_library {
     name: "android.test.mock",
 
-    srcs: [
-        "src/**/*.java",
-        ":framework-all-sources",
-    ],
+    srcs: ["src/**/*.java"],
+    api_srcs: [":framework-all-sources"],
+    libs: ["framework-all"],
 
     api_packages: [
         "android.test.mock",