Remove the flag isCarouselInTransition

The clock vertical shift issue when onTimeTick is resolved.
We no longer need to inspect if we are scrolling the carousel.

1. Remove isCarouselInTransition. It's not really idea to create a state
   in a view and reference it externally. The view should be as
   stateless as possible.
2. Remove onTimeTick when populating, since this looks weird when we
   have second level clocks that the second arm moves every time when
   populateing

Test: Manually tested time tick does not make clock view vertically
      shift
Bug: 278850684
Change-Id: I6478a4467f7d9e3091a709a5978a042fa65d3d3b
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 7bdd4fc..f455600 100644
--- a/src/com/android/customization/picker/clock/ui/binder/ClockCarouselViewBinder.kt
+++ b/src/com/android/customization/picker/clock/ui/binder/ClockCarouselViewBinder.kt
@@ -106,9 +106,7 @@
             LifecycleEventObserver { source, event ->
                 when (event) {
                     Lifecycle.Event.ON_RESUME -> {
-                        clockViewFactory.registerTimeTicker(source) {
-                            !carouselView.isCarouselInTransition
-                        }
+                        clockViewFactory.registerTimeTicker(source)
                     }
                     Lifecycle.Event.ON_PAUSE -> {
                         clockViewFactory.unregisterTimeTicker(source)
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 059e498..3cf5471 100644
--- a/src/com/android/customization/picker/clock/ui/view/ClockCarouselView.kt
+++ b/src/com/android/customization/picker/clock/ui/view/ClockCarouselView.kt
@@ -36,8 +36,6 @@
         attrs,
     ) {
 
-    var isCarouselInTransition = false
-
     val carousel: Carousel
     private val motionLayout: MotionLayout
     private lateinit var adapter: ClockCarouselAdapter
@@ -72,7 +70,6 @@
                     startId: Int,
                     endId: Int
                 ) {
-                    isCarouselInTransition = true
                     val scalingDownClockId = adapter.clockIds[carousel.currentIndex]
                     val scalingUpIdx =
                         if (endId == R.id.next) (carousel.currentIndex + 1) % adapter.count()
@@ -125,7 +122,6 @@
                 }
 
                 override fun onTransitionCompleted(motionLayout: MotionLayout?, currentId: Int) {
-                    isCarouselInTransition = false
                     setCardAnimationState(currentId == R.id.start)
                 }
 
@@ -197,8 +193,6 @@
 
             clockHostView.removeAllViews()
             val clockView = onGetClockController(clockIds[index]).largeClock.view
-            // Making sure the large clock tick to the correct time
-            onGetClockController(clockIds[index]).largeClock.events.onTimeTick()
             // The clock view might still be attached to an existing parent. Detach before adding to
             // another parent.
             (clockView.parent as? ViewGroup)?.removeView(clockView)
diff --git a/src/com/android/customization/picker/clock/ui/view/ClockViewFactory.kt b/src/com/android/customization/picker/clock/ui/view/ClockViewFactory.kt
index cf154d5..3c7bab1 100644
--- a/src/com/android/customization/picker/clock/ui/view/ClockViewFactory.kt
+++ b/src/com/android/customization/picker/clock/ui/view/ClockViewFactory.kt
@@ -67,21 +67,13 @@
     }
 
     fun registerTimeTicker(owner: LifecycleOwner) {
-        registerTimeTicker(owner, null)
-    }
-
-    fun registerTimeTicker(owner: LifecycleOwner, shouldTimeTick: (() -> Boolean)?) {
         val hashCode = owner.hashCode()
         if (timeTickListeners.keys.contains(hashCode)) {
             return
         }
 
         timeTickListeners[hashCode] =
-            TimeTicker.registerNewReceiver(activity.applicationContext) {
-                if (shouldTimeTick == null || shouldTimeTick()) {
-                    onTimeTick()
-                }
-            }
+            TimeTicker.registerNewReceiver(activity.applicationContext) { onTimeTick() }
     }
 
     private fun onTimeTick() {