diff options
author | George Lin <giolin@google.com> | 2023-03-02 20:47:53 +0000 |
---|---|---|
committer | George Lin <giolin@google.com> | 2023-03-03 15:53:11 +0000 |
commit | 891c4f786c4fd11c374f157fb26e1956471d653f (patch) | |
tree | 6df8e718de3bcdcf1d403b7a8e7b09f964579e80 /src/com/android/customization/picker/clock/ui/view | |
parent | 412c9bd722f5a0ebdb47892468f7f3646ef1dcfa (diff) | |
download | ThemePicker-891c4f786c4fd11c374f157fb26e1956471d653f.tar.gz |
[TP] Make clock previews tick
Make the clock previews tick with minute
Test: Manually waited for the minute updates and saw clocks tick
Bug: 270097085
Change-Id: I288c3d8ff50432b3eb9ca2cebabd2a8bbf5e3b21
Diffstat (limited to 'src/com/android/customization/picker/clock/ui/view')
-rw-r--r-- | src/com/android/customization/picker/clock/ui/view/ClockViewFactory.kt | 13 |
1 files changed, 13 insertions, 0 deletions
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 59b3a714..7f480dee 100644 --- a/src/com/android/customization/picker/clock/ui/view/ClockViewFactory.kt +++ b/src/com/android/customization/picker/clock/ui/view/ClockViewFactory.kt @@ -22,12 +22,14 @@ import com.android.systemui.plugins.ClockController import com.android.systemui.shared.clocks.ClockRegistry import com.android.wallpaper.R import com.android.wallpaper.util.ScreenSizeCalculator +import com.android.wallpaper.util.TimeUtils.TimeTicker class ClockViewFactory( private val activity: Activity, private val registry: ClockRegistry, ) { private val clockControllers: HashMap<String, ClockController> = HashMap() + private var ticker: TimeTicker? = null fun getView(clockId: String): View { return (clockControllers[clockId] ?: initClockController(clockId)).largeClock.view @@ -43,6 +45,17 @@ class ClockViewFactory( .onSeedColorChanged(seedColor) } + fun registerTimeTicker() { + ticker = + TimeTicker.registerNewReceiver(activity.applicationContext) { + clockControllers.values.forEach { it.largeClock.events.onTimeTick() } + } + } + + fun unregisterTimeTicker() { + activity.applicationContext.unregisterReceiver(ticker) + } + private fun initClockController(clockId: String): ClockController { val controller = registry.createExampleClock(clockId).also { it?.initialize(activity.resources, 0f, 0f) } |