@@ -23,7 +23,7 @@ class CaffeineManager(context: Context) {
2323 private const val PREF_NAME = " caffeine_prefs"
2424 private const val PREF_KEY_ORIGINAL = " original_timeout"
2525 private const val PREF_KEY_EXPECTED = " expected_timeout"
26- private const val DEFAULT_TIMEOUT = 60000
26+ private const val DEFAULT_TIMEOUT = 60_000
2727 }
2828
2929 private val appContext = context.applicationContext
@@ -50,12 +50,6 @@ class CaffeineManager(context: Context) {
5050 }
5151 }
5252
53- private val settingsObserver = object : android.database.ContentObserver (null ) {
54- override fun onChange (selfChange : Boolean ) {
55- synchronizeState()
56- }
57- }
58-
5953 fun synchronizeState () {
6054 managerScope.launch {
6155 val prefs = getPrefs()
@@ -97,10 +91,12 @@ class CaffeineManager(context: Context) {
9791 if (newState == CaffeineState .Off ) {
9892 restoreOriginalTimeout()
9993 } else {
100- if (stateCycle.indexOf(newState) == 1 ) saveOriginalTimeout()
94+ if (! getPrefs().contains(PREF_KEY_ORIGINAL )) {
95+ saveOriginalTimeout()
96+ }
10197
10298 if (setSystemTimeout(newState.timeout)) {
103- getPrefs().edit { putInt(PREF_KEY_EXPECTED , newState.timeout) }
99+ getPrefs().edit(commit = true ) { putInt(PREF_KEY_EXPECTED , newState.timeout) }
104100 toggleReceiver(true )
105101 } else {
106102 forceReset()
@@ -111,8 +107,7 @@ class CaffeineManager(context: Context) {
111107
112108 private fun saveOriginalTimeout () {
113109 val current = getSystemTimeout()
114- if (stateCycle.any { it.timeout == current && it != CaffeineState .Off }) return
115- getPrefs().edit { putInt(PREF_KEY_ORIGINAL , current) }
110+ getPrefs().edit(commit = true ) { putInt(PREF_KEY_ORIGINAL , current) }
116111 }
117112
118113 private fun restoreOriginalTimeout () {
@@ -123,7 +118,7 @@ class CaffeineManager(context: Context) {
123118
124119 private fun forceReset () {
125120 _currentState .value = CaffeineState .Off
126- getPrefs().edit { remove( PREF_KEY_EXPECTED ) }
121+ getPrefs().edit { clear( ) }
127122 toggleReceiver(false )
128123 requestTileUpdate()
129124 }
@@ -133,16 +128,10 @@ class CaffeineManager(context: Context) {
133128 appContext.registerReceiver(
134129 screenOffReceiver, IntentFilter (Intent .ACTION_SCREEN_OFF )
135130 )
136- appContext.contentResolver.registerContentObserver(
137- Settings .System .getUriFor(Settings .System .SCREEN_OFF_TIMEOUT ),
138- false ,
139- settingsObserver
140- )
141131 isReceiverRegistered = true
142132 } else if (! enable && isReceiverRegistered) {
143133 try {
144134 appContext.unregisterReceiver(screenOffReceiver)
145- appContext.contentResolver.unregisterContentObserver(settingsObserver)
146135 } catch (_: IllegalArgumentException ) {
147136 }
148137 isReceiverRegistered = false
0 commit comments