Merge "Revert "Convert keyboards artifacts to soong"" into main
diff --git a/api/StubLibraries.bp b/api/StubLibraries.bp
index 3e277e8..525c208 100644
--- a/api/StubLibraries.bp
+++ b/api/StubLibraries.bp
@@ -1135,31 +1135,47 @@
     ],
 }
 
-droidstubs {
-    name: "api_versions_public",
-    srcs: [":android_stubs_current_with_test_libs{.jar}"],
+// Defaults for `droidstubs` modules that generate `api-versions.xml` files for
+// the various API surfaces.
+stubs_defaults {
+    name: "api_versions_base_defaults",
+    defaults_visibility: ["//visibility:private"],
     generate_stubs: false,
     api_levels_annotations_enabled: true,
     api_levels_annotations_dirs: [
         "sdk-dir",
         "api-versions-jars-dir",
     ],
-    api_levels_sdk_type: "public",
+}
+
+// Defaults for `droidstubs` modules that generate complete `api-versions.xml`
+// files, i.e. include SDK extensions.
+stubs_defaults {
+    name: "api_versions_complete_defaults",
+    defaults_visibility: ["//visibility:private"],
+    defaults: ["api_versions_base_defaults"],
     extensions_info_file: ":sdk-extensions-info",
+}
+
+// Produces an `api-versions.xml` file that includes up-to-date information
+// about all the public APIs, both updatable and non-updatable and historic
+// information about all previous dessert and SDK extension releases.
+droidstubs {
+    name: "api_versions_public",
+    defaults: ["api_versions_complete_defaults"],
+    srcs: [":android_stubs_current_with_test_libs{.jar}"],
+    api_levels_sdk_type: "public",
     visibility: ["//frameworks/base"],
 }
 
+// Produces an `api-versions.xml` file that includes up-to-date information
+// about all the system APIs, both updatable and non-updatable and historic
+// information about all previous dessert and SDK extension releases.
 droidstubs {
     name: "api_versions_system",
+    defaults: ["api_versions_complete_defaults"],
     srcs: [":android_system_stubs_current_with_test_libs{.jar}"],
-    generate_stubs: false,
-    api_levels_annotations_enabled: true,
-    api_levels_annotations_dirs: [
-        "sdk-dir",
-        "api-versions-jars-dir",
-    ],
     api_levels_sdk_type: "system",
-    extensions_info_file: ":sdk-extensions-info",
     dists: [
         // Make the api-versions.xml file for the system API available in the
         // sdk build target.
@@ -1171,42 +1187,43 @@
     ],
 }
 
-// This module can be built with:
-// m out/soong/.intermediates/frameworks/base/api/api_versions_module_lib/android_common/metalava/api-versions.xml
-droidstubs {
-    name: "api_versions_module_lib",
-    srcs: [":android_module_stubs_current_with_test_libs{.jar}"],
-    generate_stubs: false,
-    api_levels_annotations_enabled: true,
+// Defaults for `droidstubs` modules that generate `api-versions.xml` files that
+// only include non-updatable code, i.e. for platform API only, not SDK
+// extensions.
+stubs_defaults {
+    name: "api_versions_non_updatable_defaults",
+    defaults_visibility: ["//visibility:private"],
+    defaults: ["api_versions_base_defaults"],
     // this only has the non-updatable portions of the module lib sdk,
     // which can reference classes from updatable apexes, so remove references to them
     // from this api_versions file.
     flags: ["--remove-missing-class-references-in-api-levels"],
-    api_levels_annotations_dirs: [
-        "sdk-dir",
-        "api-versions-jars-dir",
-    ],
-    api_levels_sdk_type: "module-lib",
     // extensions_info_file is purposefully omitted, because this module should just be
     // the non-updatable portions of the sdk, and extension sdks are updatable.
 }
 
+// Produces an `api-versions.xml` file that includes up-to-date information
+// about only the non-updatable module-lib APIs and historic information about
+// all previous dessert and SDK extension releases. That historic information
+// may include information about APIs that were previously not-updatable which
+// have since become updatable.
+droidstubs {
+    name: "api_versions_module_lib",
+    defaults: ["api_versions_non_updatable_defaults"],
+    srcs: [":android_module_stubs_current_with_test_libs{.jar}"],
+    api_levels_sdk_type: "module-lib",
+}
+
+// Produces an `api-versions.xml` file that includes up-to-date information
+// about only the non-updatable system-server APIs and historic information
+// about all previous dessert and SDK extension releases. That historic
+// information may include information about APIs that were previously
+// not-updatable which have since become updatable.
 droidstubs {
     name: "api_versions_system_server",
+    defaults: ["api_versions_non_updatable_defaults"],
     srcs: [":android_system_server_stubs_current_with_test_libs{.jar}"],
-    generate_stubs: false,
-    api_levels_annotations_enabled: true,
-    // this only has the non-updatable portions of the system server sdk,
-    // which can reference classes from updatable apexes, so remove references to them
-    // from this api_versions file.
-    flags: ["--remove-missing-class-references-in-api-levels"],
-    api_levels_annotations_dirs: [
-        "sdk-dir",
-        "api-versions-jars-dir",
-    ],
     api_levels_sdk_type: "system-server",
-    // extensions_info_file is purposefully omitted, because this module should just be
-    // the non-updatable portions of the sdk, and extension sdks are updatable.
 }
 
 /////////////////////////////////////////////////////////////////////
diff --git a/services/core/java/com/android/server/hdmi/HdmiCecController.java b/services/core/java/com/android/server/hdmi/HdmiCecController.java
index 9087354..3f89f23 100644
--- a/services/core/java/com/android/server/hdmi/HdmiCecController.java
+++ b/services/core/java/com/android/server/hdmi/HdmiCecController.java
@@ -347,7 +347,7 @@
      * {@link HdmiCecNetwork} only.
      *
      * @return CEC physical address of the device. The range of success address
-     *         is between 0x0000 and 0xFFFF. If failed it returns -1
+     *         is between 0x0000 and 0xFFFE. If failed it returns INVALID_PHYSICAL_ADDRESS.
      */
     @ServiceThreadOnly
     int getPhysicalAddress() {
@@ -1299,7 +1299,7 @@
                     hdmiPortInfo[i] = new HdmiPortInfo.Builder(
                             portInfo.portId,
                             portInfo.type,
-                            portInfo.physicalAddress)
+                            Short.toUnsignedInt(portInfo.physicalAddress))
                             .setCecSupported(portInfo.cecSupported)
                             .setMhlSupported(false)
                             .setArcSupported(portInfo.arcSupported)
@@ -1496,7 +1496,7 @@
                     hdmiPortInfo[i] = new HdmiPortInfo.Builder(
                             portInfo.portId,
                             portInfo.type,
-                            portInfo.physicalAddress)
+                            Short.toUnsignedInt(portInfo.physicalAddress))
                             .setCecSupported(portInfo.cecSupported)
                             .setMhlSupported(false)
                             .setArcSupported(portInfo.arcSupported)
diff --git a/services/tests/servicestests/src/com/android/server/autofill/OWNERS b/services/tests/servicestests/src/com/android/server/autofill/OWNERS
new file mode 100644
index 0000000..70106d1
--- /dev/null
+++ b/services/tests/servicestests/src/com/android/server/autofill/OWNERS
@@ -0,0 +1 @@
+include /core/java/android/view/autofill/OWNERS
\ No newline at end of file