Merge "Add exception handling to ClockRegistry to prevent crashes" into tm-qpr-dev

This commit is contained in:
Hawkwood Glazier
2022-08-02 21:58:58 +00:00
committed by Android (Google) Code Review

View File

@@ -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?
)
}