Merge "Clock UX Polish & code cleanup" into udc-dev
diff --git a/src/com/android/customization/model/color/ColorProvider.kt b/src/com/android/customization/model/color/ColorProvider.kt
index 5ec919f..b2ff452 100644
--- a/src/com/android/customization/model/color/ColorProvider.kt
+++ b/src/com/android/customization/model/color/ColorProvider.kt
@@ -350,6 +350,7 @@
             when (colorScheme.style) {
                 Style.FRUIT_SALAD -> intArrayOf(seed, colorScheme.accent1.s200)
                 Style.TONAL_SPOT -> intArrayOf(colorScheme.accentColor, colorScheme.accentColor)
+                Style.RAINBOW -> intArrayOf(colorScheme.accent1.s200, colorScheme.accent1.s200)
                 else -> intArrayOf(colorScheme.accent1.s100, colorScheme.accent1.s100)
             }
         return intArrayOf(
diff --git a/src/com/android/customization/module/DefaultCustomizationSections.java b/src/com/android/customization/module/DefaultCustomizationSections.java
index 6a5f2f6..520b301 100644
--- a/src/com/android/customization/module/DefaultCustomizationSections.java
+++ b/src/com/android/customization/module/DefaultCustomizationSections.java
@@ -1,5 +1,6 @@
 package com.android.customization.module;
 
+import android.app.WallpaperManager;
 import android.os.Bundle;
 
 import androidx.annotation.Nullable;
@@ -100,6 +101,7 @@
             DisplayUtils displayUtils,
             CustomizationPickerViewModel customizationPickerViewModel,
             WallpaperInteractor wallpaperInteractor,
+            WallpaperManager wallpaperManager,
             boolean isTwoPaneAndSmallWidth) {
         List<CustomizationSectionController<?>> sectionControllers = new ArrayList<>();
 
@@ -118,6 +120,7 @@
                         wallpaperPreviewNavigator,
                         sectionNavigationController,
                         wallpaperInteractor,
+                        wallpaperManager,
                         isTwoPaneAndSmallWidth)
                         : new ScreenPreviewSectionController(
                                 activity,
@@ -128,6 +131,7 @@
                                 displayUtils,
                                 wallpaperPreviewNavigator,
                                 wallpaperInteractor,
+                                wallpaperManager,
                                 isTwoPaneAndSmallWidth));
 
         sectionControllers.add(
diff --git a/src/com/android/customization/picker/clock/ui/fragment/ClockSettingsFragment.kt b/src/com/android/customization/picker/clock/ui/fragment/ClockSettingsFragment.kt
index 0f96c29..7edaecf 100644
--- a/src/com/android/customization/picker/clock/ui/fragment/ClockSettingsFragment.kt
+++ b/src/com/android/customization/picker/clock/ui/fragment/ClockSettingsFragment.kt
@@ -79,7 +79,7 @@
                                     R.string.lock_screen_preview_provider_authority,
                                 ),
                         ),
-                    wallpaperInfoProvider = {
+                    wallpaperInfoProvider = { forceReload ->
                         suspendCancellableCoroutine { continuation ->
                             injector
                                 .getCurrentWallpaperInfoFactory(context)
@@ -90,7 +90,7 @@
                                             null,
                                         )
                                     },
-                                    /* forceRefresh= */ true,
+                                    forceReload,
                                 )
                         }
                     },
diff --git a/src/com/android/customization/picker/color/ui/fragment/ColorPickerFragment.kt b/src/com/android/customization/picker/color/ui/fragment/ColorPickerFragment.kt
index 23ad037..ef38f8b 100644
--- a/src/com/android/customization/picker/color/ui/fragment/ColorPickerFragment.kt
+++ b/src/com/android/customization/picker/color/ui/fragment/ColorPickerFragment.kt
@@ -98,13 +98,13 @@
                                         R.string.lock_screen_preview_provider_authority,
                                     ),
                         ),
-                    wallpaperInfoProvider = {
+                    wallpaperInfoProvider = { forceReload ->
                         suspendCancellableCoroutine { continuation ->
                             wallpaperInfoFactory.createCurrentWallpaperInfos(
                                 { homeWallpaper, lockWallpaper, _ ->
                                     continuation.resume(lockWallpaper ?: homeWallpaper, null)
                                 },
-                                /* forceRefresh= */ true,
+                                forceReload,
                             )
                         }
                     },
@@ -133,13 +133,13 @@
                                         R.string.grid_control_metadata_name,
                                     ),
                         ),
-                    wallpaperInfoProvider = {
+                    wallpaperInfoProvider = { forceReload ->
                         suspendCancellableCoroutine { continuation ->
                             wallpaperInfoFactory.createCurrentWallpaperInfos(
                                 { homeWallpaper, lockWallpaper, _ ->
                                     continuation.resume(homeWallpaper ?: lockWallpaper, null)
                                 },
-                                /* forceRefresh= */ true,
+                                forceReload,
                             )
                         }
                     },
diff --git a/src/com/android/customization/picker/preview/ui/section/PreviewWithClockCarouselSectionController.kt b/src/com/android/customization/picker/preview/ui/section/PreviewWithClockCarouselSectionController.kt
index 4bd5f1c..5ad01a8 100644
--- a/src/com/android/customization/picker/preview/ui/section/PreviewWithClockCarouselSectionController.kt
+++ b/src/com/android/customization/picker/preview/ui/section/PreviewWithClockCarouselSectionController.kt
@@ -17,6 +17,7 @@
 
 package com.android.customization.picker.preview.ui.section
 
+import android.app.WallpaperManager
 import android.content.Context
 import android.graphics.Rect
 import android.os.Bundle
@@ -65,6 +66,7 @@
     wallpaperPreviewNavigator: WallpaperPreviewNavigator,
     private val navigationController: CustomizationSectionNavigationController,
     wallpaperInteractor: WallpaperInteractor,
+    wallpaperManager: WallpaperManager,
     private val isTwoPaneAndSmallWidth: Boolean,
 ) :
     ScreenPreviewSectionController(
@@ -76,6 +78,7 @@
         displayUtils,
         wallpaperPreviewNavigator,
         wallpaperInteractor,
+        wallpaperManager,
         isTwoPaneAndSmallWidth,
     ) {
 
diff --git a/src/com/android/customization/picker/quickaffordance/ui/viewmodel/KeyguardQuickAffordancePickerViewModel.kt b/src/com/android/customization/picker/quickaffordance/ui/viewmodel/KeyguardQuickAffordancePickerViewModel.kt
index 0a52e8f..8a8bb20 100644
--- a/src/com/android/customization/picker/quickaffordance/ui/viewmodel/KeyguardQuickAffordancePickerViewModel.kt
+++ b/src/com/android/customization/picker/quickaffordance/ui/viewmodel/KeyguardQuickAffordancePickerViewModel.kt
@@ -91,13 +91,13 @@
                     )
                 }
             },
-            wallpaperInfoProvider = {
+            wallpaperInfoProvider = { forceReload ->
                 suspendCancellableCoroutine { continuation ->
                     wallpaperInfoFactory.createCurrentWallpaperInfos(
                         { homeWallpaper, lockWallpaper, _ ->
                             continuation.resume(lockWallpaper ?: homeWallpaper, null)
                         },
-                        /* forceRefresh= */ true,
+                        forceReload,
                     )
                 }
             },