From 71748521237b7ace9635a326f3a5689645f44ab2 Mon Sep 17 00:00:00 2001 From: Suphon Thanakornpakapong Date: Fri, 13 May 2022 09:40:28 +0700 Subject: [PATCH] Fix smartspace date not showing --- .../app/lawnchair/smartspace/IcuDateTextView.kt | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/lawnchair/src/app/lawnchair/smartspace/IcuDateTextView.kt b/lawnchair/src/app/lawnchair/smartspace/IcuDateTextView.kt index ebb60b40aa..4afcbb081d 100644 --- a/lawnchair/src/app/lawnchair/smartspace/IcuDateTextView.kt +++ b/lawnchair/src/app/lawnchair/smartspace/IcuDateTextView.kt @@ -16,7 +16,7 @@ class IcuDateTextView @JvmOverloads constructor( ) : DoubleShadowTextView(context, attrs) { private var formatter: DateFormat? = null - private val mTicker = this::onTimeTick + private val ticker = this::onTimeTick private val intentReceiver = object : BroadcastReceiver() { override fun onReceive(context: Context, intent: Intent) { onTimeChanged(intent.action != Intent.ACTION_TIME_TICK) @@ -26,8 +26,8 @@ class IcuDateTextView @JvmOverloads constructor( override fun onAttachedToWindow() { super.onAttachedToWindow() val intentFilter = IntentFilter() - intentFilter.addAction("android.intent.action.TIME_SET") - intentFilter.addAction("android.intent.action.TIMEZONE_CHANGED") + intentFilter.addAction(Intent.ACTION_TIME_CHANGED) + intentFilter.addAction(Intent.ACTION_TIMEZONE_CHANGED) context.registerReceiver(intentReceiver, intentFilter) onTimeChanged(true) } @@ -57,6 +57,12 @@ class IcuDateTextView @JvmOverloads constructor( private fun onTimeTick() { onTimeChanged(false) val uptimeMillis: Long = SystemClock.uptimeMillis() - handler.postAtTime(mTicker, uptimeMillis + (1000 - uptimeMillis % 1000)) + handler?.postAtTime(ticker, uptimeMillis + (1000 - uptimeMillis % 1000)) + } + + override fun onVisibilityAggregated(isVisible: Boolean) { + super.onVisibilityAggregated(isVisible) + handler?.removeCallbacks(ticker) + ticker() } }