Merge cherrypicks of [16736788, 16736789] into sc-v2-release.

Change-Id: I005677f1edf91dcbc3d85c4f7998bf7b4ac6f6c5
diff --git a/.prebuilt_info/prebuilt_info_current_current_zip.asciipb b/.prebuilt_info/prebuilt_info_current_current_zip.asciipb
index 1370c0e..48f8218 100644
--- a/.prebuilt_info/prebuilt_info_current_current_zip.asciipb
+++ b/.prebuilt_info/prebuilt_info_current_current_zip.asciipb
@@ -1,8 +1,8 @@
 drops {
   android_build_drop {
-    build_id: "7804250"
+    build_id: "7921031"
     target: "mainline_modules-user"
-    source_file: "mainline-sdks/permission-module-sdk-current.zip"
+    source_file: "mainline-sdks/current/com.google.android.permission/sdk/permission-module-sdk-current.zip"
   }
   dest_file: "current/current.zip"
   version: ""
diff --git a/current/Android.bp b/current/Android.bp
index 8cda5fe..5adb6a4 100644
--- a/current/Android.bp
+++ b/current/Android.bp
@@ -1,11 +1,6 @@
 // This is auto-generated. DO NOT EDIT.
 
-package {
-    // A default list here prevents the license LSC from adding its own list which would
-    // be unnecessary as every module in the sdk already has its own licenses property.
-    default_applicable_licenses: ["Android-Apache-2.0"],
-}
-
+// Soong config variable stanza added by vendor/google/build/mainline_modules_sdks.py.
 soong_config_module_type_import {
     from: "packages/modules/common/Android.bp",
     module_types: [
@@ -14,6 +9,12 @@
     ],
 }
 
+package {
+    // A default list here prevents the license LSC from adding its own list which would
+    // be unnecessary as every module in the sdk already has its own licenses property.
+    default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
 prebuilt_bootclasspath_fragment {
     name: "permission-module-sdk_com.android.permission-bootclasspath-fragment@current",
     sdk_member_name: "com.android.permission-bootclasspath-fragment",
@@ -35,6 +36,7 @@
 
 module_prebuilt_bootclasspath_fragment {
     name: "com.android.permission-bootclasspath-fragment",
+    // Do not prefer prebuilt if SOONG_CONFIG_ANDROID_module_build_from_source is true.
     prefer: true,
     soong_config_variables: {
         module_build_from_source: {
@@ -96,6 +98,7 @@
 
 module_java_sdk_library_import {
     name: "framework-permission",
+    // Do not prefer prebuilt if SOONG_CONFIG_ANDROID_module_build_from_source is true.
     prefer: true,
     soong_config_variables: {
         module_build_from_source: {
@@ -176,7 +179,8 @@
 
 module_java_sdk_library_import {
     name: "framework-permission-s",
-    prefer: false,
+    // Do not prefer prebuilt if SOONG_CONFIG_ANDROID_module_build_from_source is true.
+    prefer: true,
     soong_config_variables: {
         module_build_from_source: {
             prefer: false,
@@ -245,7 +249,8 @@
 
 module_java_sdk_library_import {
     name: "service-permission",
-    prefer: false,
+    // Do not prefer prebuilt if SOONG_CONFIG_ANDROID_module_build_from_source is true.
+    prefer: true,
     soong_config_variables: {
         module_build_from_source: {
             prefer: false,
diff --git a/current/Android.bp.auto b/current/Android.bp.auto
old mode 100755
new mode 100644
index e4e05e6..05f843b
--- a/current/Android.bp.auto
+++ b/current/Android.bp.auto
@@ -1,5 +1,14 @@
 // This is auto-generated. DO NOT EDIT.
 
+// Soong config variable stanza added by vendor/google/build/mainline_modules_sdks.py.
+soong_config_module_type_import {
+    from: "packages/modules/common/Android.bp",
+    module_types: [
+        "module_java_sdk_library_import",
+        "module_prebuilt_bootclasspath_fragment",
+    ],
+}
+
 package {
     // A default list here prevents the license LSC from adding its own list which would
     // be unnecessary as every module in the sdk already has its own licenses property.
@@ -25,9 +34,15 @@
     },
 }
 
-prebuilt_bootclasspath_fragment {
+module_prebuilt_bootclasspath_fragment {
     name: "com.android.permission-bootclasspath-fragment",
-    prefer: false,
+    // Do not prefer prebuilt if SOONG_CONFIG_ANDROID_module_build_from_source is true.
+    prefer: true,
+    soong_config_variables: {
+        module_build_from_source: {
+            prefer: false,
+        },
+    },
     visibility: ["//visibility:public"],
     apex_available: ["com.android.permission"],
     licenses: ["permission-module-sdk_Android-Apache-2.0"],
@@ -63,6 +78,7 @@
         stub_srcs: ["sdk_library/public/framework-permission.srcjar"],
         current_api: "sdk_library/public/framework-permission.txt",
         removed_api: "sdk_library/public/framework-permission-removed.txt",
+        annotations: "sdk_library/public/framework-permission_annotations.zip",
         sdk_version: "module_current",
     },
     system: {
@@ -70,6 +86,7 @@
         stub_srcs: ["sdk_library/system/framework-permission.srcjar"],
         current_api: "sdk_library/system/framework-permission.txt",
         removed_api: "sdk_library/system/framework-permission-removed.txt",
+        annotations: "sdk_library/system/framework-permission_annotations.zip",
         sdk_version: "module_current",
     },
     module_lib: {
@@ -77,13 +94,20 @@
         stub_srcs: ["sdk_library/module-lib/framework-permission.srcjar"],
         current_api: "sdk_library/module-lib/framework-permission.txt",
         removed_api: "sdk_library/module-lib/framework-permission-removed.txt",
+        annotations: "sdk_library/module-lib/framework-permission_annotations.zip",
         sdk_version: "module_current",
     },
 }
 
-java_sdk_library_import {
+module_java_sdk_library_import {
     name: "framework-permission",
-    prefer: false,
+    // Do not prefer prebuilt if SOONG_CONFIG_ANDROID_module_build_from_source is true.
+    prefer: true,
+    soong_config_variables: {
+        module_build_from_source: {
+            prefer: false,
+        },
+    },
     visibility: ["//visibility:public"],
     apex_available: [
         "com.android.permission",
@@ -100,6 +124,7 @@
         stub_srcs: ["sdk_library/public/framework-permission.srcjar"],
         current_api: "sdk_library/public/framework-permission.txt",
         removed_api: "sdk_library/public/framework-permission-removed.txt",
+        annotations: "sdk_library/public/framework-permission_annotations.zip",
         sdk_version: "module_current",
     },
     system: {
@@ -107,6 +132,7 @@
         stub_srcs: ["sdk_library/system/framework-permission.srcjar"],
         current_api: "sdk_library/system/framework-permission.txt",
         removed_api: "sdk_library/system/framework-permission-removed.txt",
+        annotations: "sdk_library/system/framework-permission_annotations.zip",
         sdk_version: "module_current",
     },
     module_lib: {
@@ -114,6 +140,7 @@
         stub_srcs: ["sdk_library/module-lib/framework-permission.srcjar"],
         current_api: "sdk_library/module-lib/framework-permission.txt",
         removed_api: "sdk_library/module-lib/framework-permission-removed.txt",
+        annotations: "sdk_library/module-lib/framework-permission_annotations.zip",
         sdk_version: "module_current",
     },
 }
@@ -138,6 +165,7 @@
         stub_srcs: ["sdk_library/public/framework-permission-s.srcjar"],
         current_api: "sdk_library/public/framework-permission-s.txt",
         removed_api: "sdk_library/public/framework-permission-s-removed.txt",
+        annotations: "sdk_library/public/framework-permission-s_annotations.zip",
         sdk_version: "module_current",
     },
     system: {
@@ -145,6 +173,7 @@
         stub_srcs: ["sdk_library/system/framework-permission-s.srcjar"],
         current_api: "sdk_library/system/framework-permission-s.txt",
         removed_api: "sdk_library/system/framework-permission-s-removed.txt",
+        annotations: "sdk_library/system/framework-permission-s_annotations.zip",
         sdk_version: "module_current",
     },
     module_lib: {
@@ -152,13 +181,20 @@
         stub_srcs: ["sdk_library/module-lib/framework-permission-s.srcjar"],
         current_api: "sdk_library/module-lib/framework-permission-s.txt",
         removed_api: "sdk_library/module-lib/framework-permission-s-removed.txt",
+        annotations: "sdk_library/module-lib/framework-permission-s_annotations.zip",
         sdk_version: "module_current",
     },
 }
 
-java_sdk_library_import {
+module_java_sdk_library_import {
     name: "framework-permission-s",
-    prefer: false,
+    // Do not prefer prebuilt if SOONG_CONFIG_ANDROID_module_build_from_source is true.
+    prefer: true,
+    soong_config_variables: {
+        module_build_from_source: {
+            prefer: false,
+        },
+    },
     visibility: ["//visibility:public"],
     apex_available: [
         "com.android.permission",
@@ -176,6 +212,7 @@
         stub_srcs: ["sdk_library/public/framework-permission-s.srcjar"],
         current_api: "sdk_library/public/framework-permission-s.txt",
         removed_api: "sdk_library/public/framework-permission-s-removed.txt",
+        annotations: "sdk_library/public/framework-permission-s_annotations.zip",
         sdk_version: "module_current",
     },
     system: {
@@ -183,6 +220,7 @@
         stub_srcs: ["sdk_library/system/framework-permission-s.srcjar"],
         current_api: "sdk_library/system/framework-permission-s.txt",
         removed_api: "sdk_library/system/framework-permission-s-removed.txt",
+        annotations: "sdk_library/system/framework-permission-s_annotations.zip",
         sdk_version: "module_current",
     },
     module_lib: {
@@ -190,6 +228,7 @@
         stub_srcs: ["sdk_library/module-lib/framework-permission-s.srcjar"],
         current_api: "sdk_library/module-lib/framework-permission-s.txt",
         removed_api: "sdk_library/module-lib/framework-permission-s-removed.txt",
+        annotations: "sdk_library/module-lib/framework-permission-s_annotations.zip",
         sdk_version: "module_current",
     },
 }
@@ -209,6 +248,7 @@
         stub_srcs: ["sdk_library/public/service-permission.srcjar"],
         current_api: "sdk_library/public/service-permission.txt",
         removed_api: "sdk_library/public/service-permission-removed.txt",
+        annotations: "sdk_library/public/service-permission_annotations.zip",
         sdk_version: "module_current",
     },
     system_server: {
@@ -216,13 +256,20 @@
         stub_srcs: ["sdk_library/system-server/service-permission.srcjar"],
         current_api: "sdk_library/system-server/service-permission.txt",
         removed_api: "sdk_library/system-server/service-permission-removed.txt",
+        annotations: "sdk_library/system-server/service-permission_annotations.zip",
         sdk_version: "system_server_current",
     },
 }
 
-java_sdk_library_import {
+module_java_sdk_library_import {
     name: "service-permission",
-    prefer: false,
+    // Do not prefer prebuilt if SOONG_CONFIG_ANDROID_module_build_from_source is true.
+    prefer: true,
+    soong_config_variables: {
+        module_build_from_source: {
+            prefer: false,
+        },
+    },
     visibility: ["//visibility:public"],
     apex_available: [
         "com.android.permission",
@@ -235,6 +282,7 @@
         stub_srcs: ["sdk_library/public/service-permission.srcjar"],
         current_api: "sdk_library/public/service-permission.txt",
         removed_api: "sdk_library/public/service-permission-removed.txt",
+        annotations: "sdk_library/public/service-permission_annotations.zip",
         sdk_version: "module_current",
     },
     system_server: {
@@ -242,6 +290,7 @@
         stub_srcs: ["sdk_library/system-server/service-permission.srcjar"],
         current_api: "sdk_library/system-server/service-permission.txt",
         removed_api: "sdk_library/system-server/service-permission-removed.txt",
+        annotations: "sdk_library/system-server/service-permission_annotations.zip",
         sdk_version: "system_server_current",
     },
 }
diff --git a/current/sdk_library/module-lib/framework-permission-s_annotations.zip b/current/sdk_library/module-lib/framework-permission-s_annotations.zip
new file mode 100644
index 0000000..67539e6
--- /dev/null
+++ b/current/sdk_library/module-lib/framework-permission-s_annotations.zip
Binary files differ
diff --git a/current/sdk_library/module-lib/framework-permission_annotations.zip b/current/sdk_library/module-lib/framework-permission_annotations.zip
new file mode 100644
index 0000000..15cb0ec
--- /dev/null
+++ b/current/sdk_library/module-lib/framework-permission_annotations.zip
Binary files differ
diff --git a/current/sdk_library/public/framework-permission-s-stubs.jar b/current/sdk_library/public/framework-permission-s-stubs.jar
index b995bd3..5d63df0 100644
--- a/current/sdk_library/public/framework-permission-s-stubs.jar
+++ b/current/sdk_library/public/framework-permission-s-stubs.jar
Binary files differ
diff --git a/current/sdk_library/public/framework-permission-s.srcjar b/current/sdk_library/public/framework-permission-s.srcjar
index 61e0da8..0b9b36b 100644
--- a/current/sdk_library/public/framework-permission-s.srcjar
+++ b/current/sdk_library/public/framework-permission-s.srcjar
Binary files differ
diff --git a/current/sdk_library/public/framework-permission-s_annotations.zip b/current/sdk_library/public/framework-permission-s_annotations.zip
new file mode 100644
index 0000000..15cb0ec
--- /dev/null
+++ b/current/sdk_library/public/framework-permission-s_annotations.zip
Binary files differ
diff --git a/current/sdk_library/public/framework-permission_annotations.zip b/current/sdk_library/public/framework-permission_annotations.zip
new file mode 100644
index 0000000..15cb0ec
--- /dev/null
+++ b/current/sdk_library/public/framework-permission_annotations.zip
Binary files differ
diff --git a/current/sdk_library/public/service-permission_annotations.zip b/current/sdk_library/public/service-permission_annotations.zip
new file mode 100644
index 0000000..15cb0ec
--- /dev/null
+++ b/current/sdk_library/public/service-permission_annotations.zip
Binary files differ
diff --git a/current/sdk_library/system-server/service-permission_annotations.zip b/current/sdk_library/system-server/service-permission_annotations.zip
new file mode 100644
index 0000000..15cb0ec
--- /dev/null
+++ b/current/sdk_library/system-server/service-permission_annotations.zip
Binary files differ
diff --git a/current/sdk_library/system/framework-permission-s_annotations.zip b/current/sdk_library/system/framework-permission-s_annotations.zip
new file mode 100644
index 0000000..0de31d8
--- /dev/null
+++ b/current/sdk_library/system/framework-permission-s_annotations.zip
Binary files differ
diff --git a/current/sdk_library/system/framework-permission_annotations.zip b/current/sdk_library/system/framework-permission_annotations.zip
new file mode 100644
index 0000000..15cb0ec
--- /dev/null
+++ b/current/sdk_library/system/framework-permission_annotations.zip
Binary files differ