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