From c2b519b890358ab722b6a7bd459cf682679e9ccd Mon Sep 17 00:00:00 2001 From: Hawkwood Glazier Date: Wed, 9 Nov 2022 20:11:09 +0000 Subject: [PATCH] Override for testing when clock is not set Bug: 259097187 Test: Manually verified default clock was correctly used Change-Id: I4fe2572aa95edf34cb7e6a4745e7dda35776c8f0 --- packages/SystemUI/res/values/strings.xml | 3 +++ .../com/android/systemui/shared/clocks/ClockRegistry.kt | 8 ++++++-- .../com/android/keyguard/dagger/ClockRegistryModule.java | 4 +++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml index db42543b3e82e..be99db83ad99a 100644 --- a/packages/SystemUI/res/values/strings.xml +++ b/packages/SystemUI/res/values/strings.xml @@ -1932,6 +1932,9 @@ None + + DEFAULT + Launch %1$s diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/clocks/ClockRegistry.kt b/packages/SystemUI/shared/src/com/android/systemui/shared/clocks/ClockRegistry.kt index 601cb66d99c29..5c2c27a36e591 100644 --- a/packages/SystemUI/shared/src/com/android/systemui/shared/clocks/ClockRegistry.kt +++ b/packages/SystemUI/shared/src/com/android/systemui/shared/clocks/ClockRegistry.kt @@ -41,6 +41,7 @@ open class ClockRegistry( val isEnabled: Boolean, userHandle: Int, defaultClockProvider: ClockProvider, + val fallbackClockId: ClockId = DEFAULT_CLOCK_ID, ) { // Usually this would be a typealias, but a SAM provides better java interop fun interface ClockChangeListener { @@ -69,10 +70,13 @@ open class ClockRegistry( context.contentResolver, Settings.Secure.LOCK_SCREEN_CUSTOM_CLOCK_FACE ) - ClockSetting.deserialize(json)?.clockId ?: DEFAULT_CLOCK_ID + if (json == null || json.isEmpty()) { + return fallbackClockId + } + ClockSetting.deserialize(json).clockId } catch (ex: Exception) { Log.e(TAG, "Failed to parse clock setting", ex) - DEFAULT_CLOCK_ID + fallbackClockId } } set(value) { diff --git a/packages/SystemUI/src/com/android/keyguard/dagger/ClockRegistryModule.java b/packages/SystemUI/src/com/android/keyguard/dagger/ClockRegistryModule.java index 9767313331d35..b514f60efc7dc 100644 --- a/packages/SystemUI/src/com/android/keyguard/dagger/ClockRegistryModule.java +++ b/packages/SystemUI/src/com/android/keyguard/dagger/ClockRegistryModule.java @@ -20,6 +20,7 @@ import android.content.Context; import android.os.Handler; import android.os.UserHandle; +import com.android.systemui.R; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.dagger.qualifiers.Application; import com.android.systemui.dagger.qualifiers.Main; @@ -50,6 +51,7 @@ public abstract class ClockRegistryModule { handler, featureFlags.isEnabled(Flags.LOCKSCREEN_CUSTOM_CLOCKS), UserHandle.USER_ALL, - defaultClockProvider); + defaultClockProvider, + context.getString(R.string.lockscreen_clock_id_fallback)); } }