Skip to content

Commit d54ba65

Browse files
authored
Merge pull request SimpleMobileTools#529 from esensar/fix/alarm-deobfuscation
Migrate last alarm to unobfuscated storage as well
2 parents 9738847 + ab9d5ed commit d54ba65

File tree

3 files changed

+29
-13
lines changed

3 files changed

+29
-13
lines changed

app/src/main/kotlin/com/simplemobiletools/clock/helpers/Config.kt

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import android.content.Context
44
import android.media.RingtoneManager
55
import com.simplemobiletools.clock.extensions.gson.gson
66
import com.simplemobiletools.clock.models.Alarm
7+
import com.simplemobiletools.clock.models.ObfuscatedAlarm
78
import com.simplemobiletools.clock.models.ObfuscatedTimer
89
import com.simplemobiletools.clock.models.Timer
910
import com.simplemobiletools.commons.extensions.getDefaultAlarmSound
@@ -66,7 +67,15 @@ class Config(context: Context) : BaseConfig(context) {
6667

6768
var alarmLastConfig: Alarm?
6869
get() = prefs.getString(ALARM_LAST_CONFIG, null)?.let { lastAlarm ->
69-
gson.fromJson(lastAlarm, Alarm::class.java)
70+
try {
71+
if (lastAlarm.contains("\"b\"")) {
72+
gson.fromJson(lastAlarm, ObfuscatedAlarm::class.java).toAlarm()
73+
} else {
74+
gson.fromJson(lastAlarm, Alarm::class.java)
75+
}
76+
} catch (e: Exception) {
77+
null
78+
}
7079
}
7180
set(alarm) = prefs.edit().putString(ALARM_LAST_CONFIG, gson.toJson(alarm)).apply()
7281

app/src/main/kotlin/com/simplemobiletools/clock/models/Alarm.kt

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package com.simplemobiletools.clock.models
22

3+
import androidx.annotation.Keep
4+
5+
@Keep
36
data class Alarm(
47
var id: Int,
58
var timeInMinutes: Int,
@@ -11,3 +14,18 @@ data class Alarm(
1114
var label: String,
1215
var oneShot: Boolean = false
1316
)
17+
18+
@Keep
19+
data class ObfuscatedAlarm(
20+
var a: Int,
21+
var b: Int,
22+
var c: Int,
23+
var d: Boolean,
24+
var e: Boolean,
25+
var f: String,
26+
var g: String,
27+
var h: String,
28+
var i: Boolean = false
29+
) {
30+
fun toAlarm() = Alarm(a, b, c, d, e, f, g, h, i)
31+
}

app/src/main/kotlin/com/simplemobiletools/clock/models/Timer.kt

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -33,16 +33,5 @@ data class ObfuscatedTimer(
3333
var i: String? = null,
3434
var j: Boolean = false
3535
) {
36-
fun toTimer(): Timer = Timer(
37-
a,
38-
b,
39-
TimerState.Idle,
40-
d,
41-
e,
42-
f,
43-
g,
44-
h,
45-
i,
46-
j
47-
)
36+
fun toTimer() = Timer(a, b, TimerState.Idle, d, e, f, g, h, i, j)
4837
}

0 commit comments

Comments
 (0)