diff options
| -rw-r--r-- | packages/SystemUI/shared/src/com/android/systemui/shared/clocks/ClockRegistry.kt | 31 |
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? ) } |