summaryrefslogtreecommitdiff
path: root/src/com/android/customization/picker/clock/ui/view
diff options
context:
space:
mode:
authorGeorge Lin <giolin@google.com>2023-03-02 20:47:53 +0000
committerGeorge Lin <giolin@google.com>2023-03-03 15:53:11 +0000
commit891c4f786c4fd11c374f157fb26e1956471d653f (patch)
tree6df8e718de3bcdcf1d403b7a8e7b09f964579e80 /src/com/android/customization/picker/clock/ui/view
parent412c9bd722f5a0ebdb47892468f7f3646ef1dcfa (diff)
downloadThemePicker-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.kt13
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) }