mirror of
https://github.com/SimpleMobileTools/Simple-Clock.git
synced 2025-04-27 16:38:53 +02:00
Merge pull request #529 from esensar/fix/alarm-deobfuscation
Migrate last alarm to unobfuscated storage as well
This commit is contained in:
commit
d54ba657a5
@ -4,6 +4,7 @@ import android.content.Context
|
|||||||
import android.media.RingtoneManager
|
import android.media.RingtoneManager
|
||||||
import com.simplemobiletools.clock.extensions.gson.gson
|
import com.simplemobiletools.clock.extensions.gson.gson
|
||||||
import com.simplemobiletools.clock.models.Alarm
|
import com.simplemobiletools.clock.models.Alarm
|
||||||
|
import com.simplemobiletools.clock.models.ObfuscatedAlarm
|
||||||
import com.simplemobiletools.clock.models.ObfuscatedTimer
|
import com.simplemobiletools.clock.models.ObfuscatedTimer
|
||||||
import com.simplemobiletools.clock.models.Timer
|
import com.simplemobiletools.clock.models.Timer
|
||||||
import com.simplemobiletools.commons.extensions.getDefaultAlarmSound
|
import com.simplemobiletools.commons.extensions.getDefaultAlarmSound
|
||||||
@ -66,7 +67,15 @@ class Config(context: Context) : BaseConfig(context) {
|
|||||||
|
|
||||||
var alarmLastConfig: Alarm?
|
var alarmLastConfig: Alarm?
|
||||||
get() = prefs.getString(ALARM_LAST_CONFIG, null)?.let { lastAlarm ->
|
get() = prefs.getString(ALARM_LAST_CONFIG, null)?.let { lastAlarm ->
|
||||||
gson.fromJson(lastAlarm, Alarm::class.java)
|
try {
|
||||||
|
if (lastAlarm.contains("\"b\"")) {
|
||||||
|
gson.fromJson(lastAlarm, ObfuscatedAlarm::class.java).toAlarm()
|
||||||
|
} else {
|
||||||
|
gson.fromJson(lastAlarm, Alarm::class.java)
|
||||||
|
}
|
||||||
|
} catch (e: Exception) {
|
||||||
|
null
|
||||||
|
}
|
||||||
}
|
}
|
||||||
set(alarm) = prefs.edit().putString(ALARM_LAST_CONFIG, gson.toJson(alarm)).apply()
|
set(alarm) = prefs.edit().putString(ALARM_LAST_CONFIG, gson.toJson(alarm)).apply()
|
||||||
|
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
package com.simplemobiletools.clock.models
|
package com.simplemobiletools.clock.models
|
||||||
|
|
||||||
|
import androidx.annotation.Keep
|
||||||
|
|
||||||
|
@Keep
|
||||||
data class Alarm(
|
data class Alarm(
|
||||||
var id: Int,
|
var id: Int,
|
||||||
var timeInMinutes: Int,
|
var timeInMinutes: Int,
|
||||||
@ -11,3 +14,18 @@ data class Alarm(
|
|||||||
var label: String,
|
var label: String,
|
||||||
var oneShot: Boolean = false
|
var oneShot: Boolean = false
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@Keep
|
||||||
|
data class ObfuscatedAlarm(
|
||||||
|
var a: Int,
|
||||||
|
var b: Int,
|
||||||
|
var c: Int,
|
||||||
|
var d: Boolean,
|
||||||
|
var e: Boolean,
|
||||||
|
var f: String,
|
||||||
|
var g: String,
|
||||||
|
var h: String,
|
||||||
|
var i: Boolean = false
|
||||||
|
) {
|
||||||
|
fun toAlarm() = Alarm(a, b, c, d, e, f, g, h, i)
|
||||||
|
}
|
||||||
|
@ -33,16 +33,5 @@ data class ObfuscatedTimer(
|
|||||||
var i: String? = null,
|
var i: String? = null,
|
||||||
var j: Boolean = false
|
var j: Boolean = false
|
||||||
) {
|
) {
|
||||||
fun toTimer(): Timer = Timer(
|
fun toTimer() = Timer(a, b, TimerState.Idle, d, e, f, g, h, i, j)
|
||||||
a,
|
|
||||||
b,
|
|
||||||
TimerState.Idle,
|
|
||||||
d,
|
|
||||||
e,
|
|
||||||
f,
|
|
||||||
g,
|
|
||||||
h,
|
|
||||||
i,
|
|
||||||
j
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user