diff --git a/res/layout/fragment_clock_settings.xml b/res/layout/fragment_clock_settings.xml
index 3778698..2047a84 100644
--- a/res/layout/fragment_clock_settings.xml
+++ b/res/layout/fragment_clock_settings.xml
@@ -102,22 +102,45 @@
                 android:orientation="vertical"
                 android:clipChildren="false">
 
-                <HorizontalScrollView
-                    android:id="@+id/color_options_scroll_view"
+                <FrameLayout
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
-                    android:scrollbars="none">
-                    <LinearLayout
-                        android:id="@+id/color_options"
-                        android:clipToPadding="false"
-                        android:paddingHorizontal="16dp"
-                        android:layout_marginBottom="16dp"
+                    android:clipChildren="false">
+
+                    <HorizontalScrollView
+                        android:id="@+id/color_options_scroll_view"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:clipChildren="false"
+                        android:scrollbars="none">
+
+                        <LinearLayout
+                            android:id="@+id/color_options"
+                            android:clipToPadding="false"
+                            android:clipChildren="false"
+                            android:paddingHorizontal="16dp"
+                            android:layout_marginBottom="16dp"
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:orientation="horizontal"
+                            android:divider="@drawable/horizontal_divider_8dp"
+                            android:showDividers="middle" />
+                    </HorizontalScrollView>
+
+                    <!--
+                        This is just an invisible placeholder put in place so that the parent keeps
+                        its height stable as the RecyclerView updates from 0 items to N items.
+                        Keeping it stable allows the layout logic to keep the size of the preview
+                        container stable as well, which bodes well for setting up the SurfaceView
+                        for remote rendering without changing its size after the content is loaded
+                        into the RecyclerView.
+                        -->
+                    <include
+                        layout="@layout/clock_color_option"
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
-                        android:orientation="horizontal"
-                        android:divider="@drawable/horizontal_divider_8dp"
-                        android:showDividers="middle"/>
-                </HorizontalScrollView>
+                        android:visibility="invisible" />
+                </FrameLayout>
 
                 <SeekBar
                     android:id="@+id/slider"
diff --git a/src/com/android/customization/picker/clock/ui/binder/ClockCarouselViewBinder.kt b/src/com/android/customization/picker/clock/ui/binder/ClockCarouselViewBinder.kt
index 8d5924e..7d19dc1 100644
--- a/src/com/android/customization/picker/clock/ui/binder/ClockCarouselViewBinder.kt
+++ b/src/com/android/customization/picker/clock/ui/binder/ClockCarouselViewBinder.kt
@@ -38,6 +38,7 @@
         viewModel: ClockCarouselViewModel,
         clockViewFactory: ClockViewFactory,
         lifecycleOwner: LifecycleOwner,
+        hideSmartspace: (Boolean) -> Unit,
     ) {
         val singleClockHostView =
             singleClockView.requireViewById<FrameLayout>(R.id.single_clock_host_view)
@@ -53,7 +54,19 @@
                                 clockViewFactory.getController(clockId)
                             },
                             onClockSelected = { clockId -> viewModel.setSelectedClock(clockId) },
-                            getPreviewRatio = { clockViewFactory.getRatio() }
+                            getPreviewRatio = { clockViewFactory.getRatio() },
+                            onClockTransitionCompleted = { startId, endId ->
+                                if (startId != endId ) {
+                                    val hasCustomWeatherDataDisplay =
+                                            clockViewFactory
+                                                    .getController(endId)
+                                                    .largeClock
+                                                    .config
+                                                    .hasCustomWeatherDataDisplay
+
+                                    hideSmartspace(hasCustomWeatherDataDisplay)
+                                }
+                            },
                         )
                     }
                 }
diff --git a/src/com/android/customization/picker/clock/ui/view/ClockCarouselView.kt b/src/com/android/customization/picker/clock/ui/view/ClockCarouselView.kt
index d71e202..a084a54 100644
--- a/src/com/android/customization/picker/clock/ui/view/ClockCarouselView.kt
+++ b/src/com/android/customization/picker/clock/ui/view/ClockCarouselView.kt
@@ -59,6 +59,7 @@
         onGetClockController: (clockId: String) -> ClockController,
         onClockSelected: (clockId: String) -> Unit,
         getPreviewRatio: () -> Float,
+        onClockTransitionCompleted: (startId: String, endId: String) -> Unit,
     ) {
         adapter =
             ClockCarouselAdapter(clockIds, onGetClockController, onClockSelected, getPreviewRatio)
@@ -66,17 +67,20 @@
         carousel.refresh()
         motionLayout.setTransitionListener(
             object : MotionLayout.TransitionListener {
+                var scalingDownClockId = ""
+                var scalingUpClockId = ""
+
                 override fun onTransitionStarted(
                     motionLayout: MotionLayout?,
                     startId: Int,
                     endId: Int
                 ) {
                     isCarouselInTransition = true
-                    val scalingDownClockId = adapter.clockIds[carousel.currentIndex]
+                    scalingDownClockId = adapter.clockIds[carousel.currentIndex]
                     val scalingUpIdx =
                         if (endId == R.id.next) (carousel.currentIndex + 1) % adapter.count()
                         else (carousel.currentIndex - 1 + adapter.count()) % adapter.count()
-                    val scalingUpClockId = adapter.clockIds[scalingUpIdx]
+                    scalingUpClockId = adapter.clockIds[scalingUpIdx]
                     scalingDownClockController = adapter.onGetClockController(scalingDownClockId)
                     scalingUpClockController = adapter.onGetClockController(scalingUpClockId)
                     scalingDownClockView = motionLayout?.findViewById(R.id.clock_scale_view_2)
@@ -118,6 +122,7 @@
 
                 override fun onTransitionCompleted(motionLayout: MotionLayout?, currentId: Int) {
                     isCarouselInTransition = false
+                    onClockTransitionCompleted(scalingDownClockId, scalingUpClockId)
                 }
 
                 override fun onTransitionTrigger(
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 2f83fa7..d2e0476 100644
--- a/src/com/android/customization/picker/preview/ui/section/PreviewWithClockCarouselSectionController.kt
+++ b/src/com/android/customization/picker/preview/ui/section/PreviewWithClockCarouselSectionController.kt
@@ -19,6 +19,7 @@
 
 import android.app.Activity
 import android.content.Context
+import android.os.Bundle
 import android.view.View
 import android.view.View.OnAttachStateChangeListener
 import android.view.ViewGroup
@@ -31,6 +32,7 @@
 import com.android.customization.picker.clock.ui.view.ClockCarouselView
 import com.android.customization.picker.clock.ui.view.ClockViewFactory
 import com.android.customization.picker.clock.ui.viewmodel.ClockCarouselViewModel
+import com.android.systemui.shared.quickaffordance.shared.model.KeyguardPreviewConstants
 import com.android.wallpaper.R
 import com.android.wallpaper.model.CustomizationSectionController.CustomizationSectionNavigationController
 import com.android.wallpaper.model.WallpaperColorsViewModel
@@ -112,6 +114,7 @@
                                     viewModel = clockCarouselViewModel,
                                     clockViewFactory = clockViewFactory,
                                     lifecycleOwner = lifecycleOwner,
+                                    hideSmartspace = ::hideSmartspace,
                                 )
                                 if (onAttachStateChangeListener != null) {
                                     carouselView.carousel.removeOnAttachStateChangeListener(
@@ -130,4 +133,16 @@
 
         return view
     }
+
+    private fun hideSmartspace(hide: Boolean) {
+        previewViewBinding.sendMessage(
+            KeyguardPreviewConstants.MESSAGE_ID_HIDE_SMART_SPACE,
+            Bundle().apply {
+                putBoolean(
+                    KeyguardPreviewConstants.KEY_HIDE_SMART_SPACE,
+                    hide,
+                )
+            }
+        )
+    }
 }
diff --git a/src/com/android/customization/picker/quickaffordance/ui/binder/KeyguardQuickAffordancePreviewBinder.kt b/src/com/android/customization/picker/quickaffordance/ui/binder/KeyguardQuickAffordancePreviewBinder.kt
index 58a082d..67c63b7 100644
--- a/src/com/android/customization/picker/quickaffordance/ui/binder/KeyguardQuickAffordancePreviewBinder.kt
+++ b/src/com/android/customization/picker/quickaffordance/ui/binder/KeyguardQuickAffordancePreviewBinder.kt
@@ -25,7 +25,7 @@
 import androidx.lifecycle.flowWithLifecycle
 import androidx.lifecycle.lifecycleScope
 import com.android.customization.picker.quickaffordance.ui.viewmodel.KeyguardQuickAffordancePickerViewModel
-import com.android.systemui.shared.quickaffordance.shared.model.KeyguardQuickAffordancePreviewConstants
+import com.android.systemui.shared.quickaffordance.shared.model.KeyguardPreviewConstants
 import com.android.wallpaper.R
 import com.android.wallpaper.picker.customization.ui.binder.ScreenPreviewBinder
 import kotlinx.coroutines.launch
@@ -61,9 +61,9 @@
                 .flowWithLifecycle(lifecycleOwner.lifecycle, Lifecycle.State.STARTED)
                 .collect { slotId ->
                     binding.sendMessage(
-                        KeyguardQuickAffordancePreviewConstants.MESSAGE_ID_SLOT_SELECTED,
+                        KeyguardPreviewConstants.MESSAGE_ID_SLOT_SELECTED,
                         Bundle().apply {
-                            putString(KeyguardQuickAffordancePreviewConstants.KEY_SLOT_ID, slotId)
+                            putString(KeyguardPreviewConstants.KEY_SLOT_ID, slotId)
                         },
                     )
                 }
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 14b6acc..397d3a9 100644
--- a/src/com/android/customization/picker/quickaffordance/ui/viewmodel/KeyguardQuickAffordancePickerViewModel.kt
+++ b/src/com/android/customization/picker/quickaffordance/ui/viewmodel/KeyguardQuickAffordancePickerViewModel.kt
@@ -29,7 +29,7 @@
 import com.android.customization.picker.quickaffordance.domain.interactor.KeyguardQuickAffordancePickerInteractor
 import com.android.systemui.shared.customization.data.content.CustomizationProviderContract
 import com.android.systemui.shared.keyguard.shared.model.KeyguardQuickAffordanceSlots
-import com.android.systemui.shared.quickaffordance.shared.model.KeyguardQuickAffordancePreviewConstants
+import com.android.systemui.shared.quickaffordance.shared.model.KeyguardPreviewConstants
 import com.android.wallpaper.R
 import com.android.wallpaper.module.CurrentWallpaperInfoFactory
 import com.android.wallpaper.picker.common.button.ui.viewmodel.ButtonStyle
@@ -79,11 +79,11 @@
             initialExtrasProvider = {
                 Bundle().apply {
                     putString(
-                        KeyguardQuickAffordancePreviewConstants.KEY_INITIALLY_SELECTED_SLOT_ID,
+                        KeyguardPreviewConstants.KEY_INITIALLY_SELECTED_SLOT_ID,
                         selectedSlotId.value,
                     )
                     putBoolean(
-                        KeyguardQuickAffordancePreviewConstants.KEY_HIGHLIGHT_QUICK_AFFORDANCES,
+                        KeyguardPreviewConstants.KEY_HIGHLIGHT_QUICK_AFFORDANCES,
                         true,
                     )
                 }
