summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/shared/src/com/android/systemui/shared/clocks/ClockRegistry.kt31
1 files changed, 20 insertions, 11 deletions
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 4b8b46d54848..c370e68592f8 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
@@ -72,18 +72,27 @@ open class ClockRegistry(
open var currentClockId: ClockId
get() {
- val json = Settings.Secure.getString(
- context.contentResolver,
- Settings.Secure.LOCK_SCREEN_CUSTOM_CLOCK_FACE
- )
- return gson.fromJson(json, ClockSetting::class.java)?.clockId ?: DEFAULT_CLOCK_ID
+ return try {
+ val json = Settings.Secure.getString(
+ context.contentResolver,
+ Settings.Secure.LOCK_SCREEN_CUSTOM_CLOCK_FACE
+ )
+ gson.fromJson(json, ClockSetting::class.java)?.clockId ?: DEFAULT_CLOCK_ID
+ } catch (ex: Exception) {
+ Log.e(TAG, "Failed to parse clock setting", ex)
+ DEFAULT_CLOCK_ID
+ }
}
set(value) {
- val json = gson.toJson(ClockSetting(value, System.currentTimeMillis()))
- Settings.Secure.putString(
- context.contentResolver,
- Settings.Secure.LOCK_SCREEN_CUSTOM_CLOCK_FACE, json
- )
+ try {
+ val json = gson.toJson(ClockSetting(value, System.currentTimeMillis()))
+ Settings.Secure.putString(
+ context.contentResolver,
+ Settings.Secure.LOCK_SCREEN_CUSTOM_CLOCK_FACE, json
+ )
+ } catch (ex: Exception) {
+ Log.e(TAG, "Failed to set clock setting", ex)
+ }
}
init {
@@ -170,6 +179,6 @@ open class ClockRegistry(
private data class ClockSetting(
val clockId: ClockId,
- val _applied_timestamp: Long
+ val _applied_timestamp: Long?
)
}