Merge "Reset support for themed icons (2/3)." into tm-qpr-dev
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 56dd310..d6657a8 100644
--- a/src/com/android/customization/picker/clock/ui/fragment/ClockSettingsFragment.kt
+++ b/src/com/android/customization/picker/clock/ui/fragment/ClockSettingsFragment.kt
@@ -24,7 +24,9 @@
 import androidx.lifecycle.get
 import androidx.lifecycle.lifecycleScope
 import com.android.customization.module.ThemePickerInjector
+import com.android.customization.picker.clock.ui.binder.ClockCarouselViewBinder
 import com.android.customization.picker.clock.ui.binder.ClockSettingsBinder
+import com.android.customization.picker.clock.ui.view.ClockCarouselView
 import com.android.customization.picker.clock.ui.viewmodel.ClockSettingsViewModel
 import com.android.wallpaper.R
 import com.android.wallpaper.model.WallpaperColorsViewModel
@@ -107,14 +109,23 @@
             )
             .show()
 
+        val carouselView: ClockCarouselView = view.requireViewById(R.id.clock_carousel_view)
         lifecycleScope.launch {
-            val clockRegistry =
+            val registry =
                 withContext(Dispatchers.IO) { injector.getClockRegistryProvider(context).get() }
+            val clockViewFactory = injector.getClockViewFactory(context, registry)
+            ClockCarouselViewBinder.bind(
+                    view = carouselView,
+                    viewModel = injector.getClockCarouselViewModel(context, registry),
+                    clockViewFactory = { clockId -> clockViewFactory.getView(clockId) },
+                    lifecycleOwner = this@ClockSettingsFragment,
+                )
+                .show()
             ClockSettingsBinder.bind(
                 view,
                 ClockSettingsViewModel(
                     context,
-                    injector.getClockPickerInteractor(context, clockRegistry)
+                    injector.getClockPickerInteractor(context, registry)
                 ),
                 this@ClockSettingsFragment,
             )
diff --git a/src/com/android/customization/picker/clock/ui/section/ClockSectionController.kt b/src/com/android/customization/picker/clock/ui/section/ClockSectionController.kt
index bd81719..e1982d7 100644
--- a/src/com/android/customization/picker/clock/ui/section/ClockSectionController.kt
+++ b/src/com/android/customization/picker/clock/ui/section/ClockSectionController.kt
@@ -22,7 +22,7 @@
 import com.android.customization.module.ThemePickerInjector
 import com.android.customization.picker.clock.data.repository.ClockRegistryProvider
 import com.android.customization.picker.clock.ui.binder.ClockSectionViewBinder
-import com.android.customization.picker.clock.ui.fragment.ClockCustomDemoFragment
+import com.android.customization.picker.clock.ui.fragment.ClockSettingsFragment
 import com.android.customization.picker.clock.ui.view.ClockSectionView
 import com.android.wallpaper.R
 import com.android.wallpaper.config.BaseFlags
@@ -60,7 +60,7 @@
                     (InjectorProvider.getInjector() as ThemePickerInjector)
                         .getClockSectionViewModel(context, registry),
                 lifecycleOwner = lifecycleOwner
-            ) { navigationController.navigateTo(ClockCustomDemoFragment()) }
+            ) { navigationController.navigateTo(ClockSettingsFragment()) }
         }
         return view
     }
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 f1319c6..6522d84 100644
--- a/src/com/android/customization/picker/preview/ui/section/PreviewWithClockCarouselSectionController.kt
+++ b/src/com/android/customization/picker/preview/ui/section/PreviewWithClockCarouselSectionController.kt
@@ -20,6 +20,7 @@
 import android.app.Activity
 import android.content.Context
 import android.view.ViewStub
+import androidx.core.view.isGone
 import androidx.lifecycle.LifecycleOwner
 import androidx.lifecycle.lifecycleScope
 import com.android.customization.picker.clock.data.repository.ClockRegistryProvider
@@ -67,6 +68,7 @@
         val carouselViewStub: ViewStub = view.requireViewById(R.id.clock_carousel_view_stub)
         carouselViewStub.layoutResource = R.layout.clock_carousel_view
         val carouselView: ClockCarouselView = carouselViewStub.inflate() as ClockCarouselView
+        carouselView.isGone = true
         lifecycleOwner.lifecycleScope.launch {
             val registry = withContext(Dispatchers.IO) { clockRegistryProvider.get() }
             val clockViewFactory = clockViewFactoryProvider.get(registry)