Merge Android U (ab/10368041)

Bug: 291102124
Merged-In: Ifea4c01d14f32c6d902e63255f8c60a883842873
Change-Id: Iebf9562f9ffbc388bba30f8ab43673819629af2b
diff --git a/Android.bp b/Android.bp
index f6c8558..b4c1b32 100644
--- a/Android.bp
+++ b/Android.bp
@@ -94,6 +94,8 @@
         ":ThemePicker_src_overrides",
     ],
 
+    required: ["android.software.theme_picker.xml"],
+
     use_embedded_native_libs: true,
 
     resource_zips: [":WallpaperPicker2_res", ":ThemePicker_res", ":ThemePicker_res_overrides"],
@@ -101,13 +103,20 @@
     optimize: {
         enabled: false,
     },
-    kotlincflags: ["-Xjvm-default=enable"],
+    kotlincflags: ["-Xjvm-default=all"],
     certificate: "",
 
     privileged: true,
     system_ext_specific: true,
 }
 
+prebuilt_etc {
+    name: "android.software.theme_picker.xml",
+    system_ext_specific: true,
+    sub_dir: "permissions",
+    src: "android.software.theme_picker.xml",
+}
+
 //
 // Build app code.
 //
@@ -118,5 +127,5 @@
     platform_apis: true,
     manifest: "AndroidManifest.xml",
     additional_manifests: [":WallpaperPicker2_Manifest"],
-    overrides: ["WallpaperPicker2"],
+    overrides: ["WallpaperPicker", "WallpaperPicker2"],
 }
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 4e71bcc..b8126e5 100755
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -11,8 +11,17 @@
     <uses-permission android:name="android.permission.READ_DEVICE_CONFIG" />
     <uses-permission android:name="android.permission.MODIFY_DAY_NIGHT_MODE" />
     <uses-permission android:name="android.permission.CUSTOMIZE_SYSTEM_UI" />
+    <uses-permission android:name="android.permission.BIND_WALLPAPER"/>
+    <uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>
+    <uses-permission android:name="android.permission.READ_WALLPAPER_INTERNAL"/>
+    <uses-permission android:name="android.permission.SET_WALLPAPER"/>
 
     <queries>
+        <package android:name="android"/>
+        <package android:name="com.android.launcher3"/>
+        <package android:name="com.android.settings"/>
+        <package android:name="com.android.systemui"/>
+
         <!-- Specific intents Wallpaper picker query for -->
         <!-- Package for theme stub -->
         <package android:name="com.android.customization.themes" />
diff --git a/android.software.theme_picker.xml b/android.software.theme_picker.xml
new file mode 100644
index 0000000..95d49f4
--- /dev/null
+++ b/android.software.theme_picker.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2023 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<permissions>
+    <privapp-permissions package="com.android.wallpaper">
+        <permission name="android.permission.BIND_WALLPAPER"/>
+        <permission name="android.permission.CHANGE_OVERLAY_PACKAGES"/>
+        <permission name="android.permission.CUSTOMIZE_SYSTEM_UI"/>
+        <permission name="android.permission.MODIFY_DAY_NIGHT_MODE"/>
+        <permission name="android.permission.READ_DEVICE_CONFIG"/>
+        <permission name="android.permission.READ_WALLPAPER_INTERNAL"/>
+        <permission name="android.permission.SET_WALLPAPER"/>
+        <permission name="android.permission.SET_WALLPAPER_COMPONENT"/>
+        <permission name="android.permission.WRITE_SECURE_SETTINGS"/>
+    </privapp-permissions>
+</permissions>
diff --git a/src/com/android/customization/picker/color/ui/binder/ColorSectionViewBinder.kt b/src/com/android/customization/picker/color/ui/binder/ColorSectionViewBinder.kt
index 45e3cde..2daefe4 100644
--- a/src/com/android/customization/picker/color/ui/binder/ColorSectionViewBinder.kt
+++ b/src/com/android/customization/picker/color/ui/binder/ColorSectionViewBinder.kt
@@ -109,7 +109,7 @@
                     viewModel = item.text,
                 )
             }
-            val optionSelectedView = itemView.findViewById<ImageView>(R.id.option_selected)
+            val optionSelectedView = itemView.requireViewById<ImageView>(R.id.option_selected)
 
             lifecycleOwner.lifecycleScope.launch {
                 lifecycleOwner.repeatOnLifecycle(Lifecycle.State.STARTED) {
diff --git a/tests/Android.bp b/tests/Android.bp
index 9fed740..9df2720 100644
--- a/tests/Android.bp
+++ b/tests/Android.bp
@@ -41,7 +41,7 @@
         "android.test.mock",
     ],
 
-    kotlincflags: ["-Xjvm-default=enable"],
+    kotlincflags: ["-Xjvm-default=all"],
     platform_apis: true,
     test_suites: ["device-tests"],
 }