Global.kt raw
1 package io.github.domi04151309.alwayson.helpers
2
3 import android.content.ComponentName
4 import android.content.Context
5 import android.content.Intent
6 import android.service.quicksettings.TileService
7 import androidx.core.content.edit
8 import androidx.preference.PreferenceManager
9 import io.github.domi04151309.alwayson.receivers.AlwaysOnAppWidgetProvider
10 import io.github.domi04151309.alwayson.services.AlwaysOnTileService
11
12 internal object Global {
13 const val LOG_TAG: String = "AlwaysOn"
14
15 const val ALWAYS_ON_STATE_CHANGED: String =
16 "io.github.domi04151309.alwayson.ALWAYS_ON_STATE_CHANGED"
17
18 fun currentAlwaysOnState(context: Context): Boolean =
19 PreferenceManager
20 .getDefaultSharedPreferences(context)
21 .getBoolean(P.ALWAYS_ON, P.ALWAYS_ON_DEFAULT)
22
23 fun changeAlwaysOnState(context: Context): Boolean {
24 val value =
25 !PreferenceManager.getDefaultSharedPreferences(context).getBoolean(P.ALWAYS_ON, P.ALWAYS_ON_DEFAULT)
26 PreferenceManager.getDefaultSharedPreferences(context).edit {
27 putBoolean(P.ALWAYS_ON, value)
28 }
29 TileService.requestListeningState(
30 context,
31 ComponentName(context, AlwaysOnTileService::class.java),
32 )
33 context.sendBroadcast(
34 Intent(context, AlwaysOnAppWidgetProvider::class.java)
35 .setAction(ALWAYS_ON_STATE_CHANGED),
36 )
37 return value
38 }
39 }
40