Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 341b5a87 authored by Hawkwood Glazier's avatar Hawkwood Glazier Committed by Android (Google) Code Review
Browse files

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

parents 91b6e7c0 a8aa52ea
Loading
Loading
Loading
Loading
+20 −11
Original line number Diff line number Diff line
@@ -72,18 +72,27 @@ open class ClockRegistry(

    open var currentClockId: ClockId
        get() {
            return try {
                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
                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) {
            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?
    )
}