diff options
author | Tyler Nijmeh <tylernij@gmail.com> | 2021-03-31 12:30:03 -0700 |
---|---|---|
committer | Tyler Nijmeh <tylernij@gmail.com> | 2021-03-31 12:30:03 -0700 |
commit | 1c04bfd5343191744dccb53a833e966d90cbeacc (patch) | |
tree | 20ff2b66a7463747094e660b0d28f43b443f64aa /app | |
parent | b0f0169b66156af2a75a90d3d90a8e024a0ba867 (diff) |
Add quick settings tiles
Signed-off-by: Tyler Nijmeh <tylernij@gmail.com>
Diffstat (limited to 'app')
7 files changed, 145 insertions, 1 deletions
diff --git a/app/build.gradle b/app/build.gradle index 7ab5e86..47bdbcd 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -9,7 +9,7 @@ android { defaultConfig { applicationId "com.draco.buoy" - minSdk 23 + minSdk 24 targetSdk 30 versionCode 1 versionName "1.0" diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index b72fa01..9424907 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -29,6 +29,56 @@ <receiver android:name=".receivers.ExternalProfileReceiver" android:exported="true" tools:ignore="ExportedReceiver" /> + + <service android:name=".services.TileResetService" + android:icon="@drawable/ic_baseline_api_24" + android:label="@string/pref_profile_title_reset" + android:permission="android.permission.BIND_QUICK_SETTINGS_TILE" + android:exported="true"> + <intent-filter> + <action android:name="android.service.quicksettings.action.QS_TILE" /> + </intent-filter> + </service> + + <service android:name=".services.TileLightService" + android:icon="@drawable/ic_baseline_api_24" + android:label="@string/pref_profile_title_light" + android:permission="android.permission.BIND_QUICK_SETTINGS_TILE" + android:exported="true"> + <intent-filter> + <action android:name="android.service.quicksettings.action.QS_TILE" /> + </intent-filter> + </service> + + <service android:name=".services.TileModerateService" + android:icon="@drawable/ic_baseline_api_24" + android:label="@string/pref_profile_title_moderate" + android:permission="android.permission.BIND_QUICK_SETTINGS_TILE" + android:exported="true"> + <intent-filter> + <action android:name="android.service.quicksettings.action.QS_TILE" /> + </intent-filter> + </service> + + <service android:name=".services.TileHighService" + android:icon="@drawable/ic_baseline_api_24" + android:label="@string/pref_profile_title_high" + android:permission="android.permission.BIND_QUICK_SETTINGS_TILE" + android:exported="true"> + <intent-filter> + <action android:name="android.service.quicksettings.action.QS_TILE" /> + </intent-filter> + </service> + + <service android:name=".services.TileExtremeService" + android:icon="@drawable/ic_baseline_api_24" + android:label="@string/pref_profile_title_extreme" + android:permission="android.permission.BIND_QUICK_SETTINGS_TILE" + android:exported="true"> + <intent-filter> + <action android:name="android.service.quicksettings.action.QS_TILE" /> + </intent-filter> + </service> </application> </manifest>
\ No newline at end of file diff --git a/app/src/main/java/com/draco/buoy/services/TileExtremeService.kt b/app/src/main/java/com/draco/buoy/services/TileExtremeService.kt new file mode 100644 index 0000000..b00bd2a --- /dev/null +++ b/app/src/main/java/com/draco/buoy/services/TileExtremeService.kt @@ -0,0 +1,19 @@ +package com.draco.buoy.services + +import android.service.quicksettings.TileService +import com.draco.buoy.repositories.profiles.BatterySaverConstantsConfigProfiles +import com.draco.buoy.utils.BatterySaverManager + +class TileExtremeService : TileService() { + private lateinit var batterySaverManager: BatterySaverManager + + override fun onCreate() { + super.onCreate() + batterySaverManager = BatterySaverManager(contentResolver) + } + + override fun onClick() { + super.onClick() + batterySaverManager.apply(BatterySaverConstantsConfigProfiles.EXTREME) + } +}
\ No newline at end of file diff --git a/app/src/main/java/com/draco/buoy/services/TileHighService.kt b/app/src/main/java/com/draco/buoy/services/TileHighService.kt new file mode 100644 index 0000000..66ac8b5 --- /dev/null +++ b/app/src/main/java/com/draco/buoy/services/TileHighService.kt @@ -0,0 +1,19 @@ +package com.draco.buoy.services + +import android.service.quicksettings.TileService +import com.draco.buoy.repositories.profiles.BatterySaverConstantsConfigProfiles +import com.draco.buoy.utils.BatterySaverManager + +class TileHighService : TileService() { + private lateinit var batterySaverManager: BatterySaverManager + + override fun onCreate() { + super.onCreate() + batterySaverManager = BatterySaverManager(contentResolver) + } + + override fun onClick() { + super.onClick() + batterySaverManager.apply(BatterySaverConstantsConfigProfiles.HIGH) + } +}
\ No newline at end of file diff --git a/app/src/main/java/com/draco/buoy/services/TileLightService.kt b/app/src/main/java/com/draco/buoy/services/TileLightService.kt new file mode 100644 index 0000000..2ef0a8d --- /dev/null +++ b/app/src/main/java/com/draco/buoy/services/TileLightService.kt @@ -0,0 +1,19 @@ +package com.draco.buoy.services + +import android.service.quicksettings.TileService +import com.draco.buoy.repositories.profiles.BatterySaverConstantsConfigProfiles +import com.draco.buoy.utils.BatterySaverManager + +class TileLightService : TileService() { + private lateinit var batterySaverManager: BatterySaverManager + + override fun onCreate() { + super.onCreate() + batterySaverManager = BatterySaverManager(contentResolver) + } + + override fun onClick() { + super.onClick() + batterySaverManager.apply(BatterySaverConstantsConfigProfiles.LIGHT) + } +}
\ No newline at end of file diff --git a/app/src/main/java/com/draco/buoy/services/TileModerateService.kt b/app/src/main/java/com/draco/buoy/services/TileModerateService.kt new file mode 100644 index 0000000..d9f66e8 --- /dev/null +++ b/app/src/main/java/com/draco/buoy/services/TileModerateService.kt @@ -0,0 +1,19 @@ +package com.draco.buoy.services + +import android.service.quicksettings.TileService +import com.draco.buoy.repositories.profiles.BatterySaverConstantsConfigProfiles +import com.draco.buoy.utils.BatterySaverManager + +class TileModerateService : TileService() { + private lateinit var batterySaverManager: BatterySaverManager + + override fun onCreate() { + super.onCreate() + batterySaverManager = BatterySaverManager(contentResolver) + } + + override fun onClick() { + super.onClick() + batterySaverManager.apply(BatterySaverConstantsConfigProfiles.MODERATE) + } +}
\ No newline at end of file diff --git a/app/src/main/java/com/draco/buoy/services/TileResetService.kt b/app/src/main/java/com/draco/buoy/services/TileResetService.kt new file mode 100644 index 0000000..21f22d7 --- /dev/null +++ b/app/src/main/java/com/draco/buoy/services/TileResetService.kt @@ -0,0 +1,18 @@ +package com.draco.buoy.services + +import android.service.quicksettings.TileService +import com.draco.buoy.utils.BatterySaverManager + +class TileResetService : TileService() { + private lateinit var batterySaverManager: BatterySaverManager + + override fun onCreate() { + super.onCreate() + batterySaverManager = BatterySaverManager(contentResolver) + } + + override fun onClick() { + super.onClick() + batterySaverManager.reset() + } +}
\ No newline at end of file |