diff options
| author | 2022-11-17 15:43:04 +0000 | |
|---|---|---|
| committer | 2022-11-17 15:43:04 +0000 | |
| commit | 2e1ca7f61a2f876c70a6e2491db1b1aeddaf9520 (patch) | |
| tree | 738734431e50447a2f9c4c982fc3855aa5451d54 | |
| parent | 81924341700230b76a54872ce56ffdde6b0ef320 (diff) | |
| parent | c2b519b890358ab722b6a7bd459cf682679e9ccd (diff) | |
Merge "Override for testing when clock is not set" into tm-qpr-dev
3 files changed, 12 insertions, 3 deletions
diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml index 400235ae4c0f..9ed62cbebdde 100644 --- a/packages/SystemUI/res/values/strings.xml +++ b/packages/SystemUI/res/values/strings.xml @@ -1940,6 +1940,9 @@ <!-- SysUI Tuner: Summary of no shortcut being selected [CHAR LIMIT=60] --> <string name="lockscreen_none">None</string> + <!-- ClockId to use when none is set by user --> + <string name="lockscreen_clock_id_fallback" translatable="false">DEFAULT</string> + <!-- SysUI Tuner: Format string for describing launching an app [CHAR LIMIT=60] --> <string name="tuner_launch_app">Launch <xliff:g id="app" example="Settings">%1$s</xliff:g></string> 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 601cb66d99c2..5c2c27a36e59 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 9767313331d3..b514f60efc7d 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)); } } |