summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/src/main/java/com/draco/buoy/models/BatterySaverConstantsConfig.kt35
-rw-r--r--app/src/main/java/com/draco/buoy/repositories/BatterySaverSecureSettings.kt21
-rw-r--r--app/src/main/java/com/draco/buoy/utils/BatterySaverManager.kt26
3 files changed, 57 insertions, 25 deletions
diff --git a/app/src/main/java/com/draco/buoy/models/BatterySaverConstantsConfig.kt b/app/src/main/java/com/draco/buoy/models/BatterySaverConstantsConfig.kt
index 22514d4..dafdb11 100644
--- a/app/src/main/java/com/draco/buoy/models/BatterySaverConstantsConfig.kt
+++ b/app/src/main/java/com/draco/buoy/models/BatterySaverConstantsConfig.kt
@@ -1,26 +1,27 @@
package com.draco.buoy.models
import com.draco.buoy.repositories.BatterySaverConstants
+import com.draco.buoy.repositories.PowerManagerLocationModes
data class BatterySaverConstantsConfig(
- var advertiseIsEnabled: Boolean = false,
- var dataSaverDisabled: Boolean = false,
- var enableNightMode: Boolean = false,
- var launchBoostDisabled: Boolean = false,
- var vibrationDisabled: Boolean = false,
+ var advertiseIsEnabled: Boolean = true,
+ var dataSaverDisabled: Boolean = true,
+ var enableNightMode: Boolean = true,
+ var launchBoostDisabled: Boolean = true,
+ var vibrationDisabled: Boolean = true,
var animationDisabled: Boolean = false,
- var soundTiggerDisabled: Boolean = false,
- var fullBackupDeferred: Boolean = false,
- var keyValueBackupDeferred: Boolean = false,
- var fireWallDisabled: Boolean = false,
- var gpsMode: Int = 0,
- var adjustBrightnessDisabled: Boolean = false,
- var adjustBrightnessFactor: Float = 1f,
- var forceAllAppsStandby: Boolean = false,
- var forceBackgroundCheck: Boolean = false,
- var optionalSensorsDisabled: Boolean = false,
- var aodDisabled: Boolean = false,
- var quickDozeEnabled: Boolean = false
+ var soundTiggerDisabled: Boolean = true,
+ var fullBackupDeferred: Boolean = true,
+ var keyValueBackupDeferred: Boolean = true,
+ var fireWallDisabled: Boolean = true,
+ var gpsMode: Int = PowerManagerLocationModes.ALL_DISABLED_SCREEN_OFF,
+ var adjustBrightnessDisabled: Boolean = true,
+ var adjustBrightnessFactor: Float = 0.5f,
+ var forceAllAppsStandby: Boolean = true,
+ var forceBackgroundCheck: Boolean = true,
+ var optionalSensorsDisabled: Boolean = true,
+ var aodDisabled: Boolean = true,
+ var quickDozeEnabled: Boolean = true
) {
override fun toString(): String {
return "${BatterySaverConstants.ADVERTISE_IS_ENABLED}=$advertiseIsEnabled," +
diff --git a/app/src/main/java/com/draco/buoy/repositories/BatterySaverSecureSettings.kt b/app/src/main/java/com/draco/buoy/repositories/BatterySaverSecureSettings.kt
index c769cf5..e381081 100644
--- a/app/src/main/java/com/draco/buoy/repositories/BatterySaverSecureSettings.kt
+++ b/app/src/main/java/com/draco/buoy/repositories/BatterySaverSecureSettings.kt
@@ -4,6 +4,23 @@ package com.draco.buoy.repositories
* Expose secure settings hidden in the Android APIs
*/
object BatterySaverSecureSettings {
- const val BATTERY_SAVER_CONSTANTS = "battery_saver_constants"
- const val LOW_POWER = "low_power"
+ /**
+ * Parameters for low power mode
+ */
+ const val BATTERY_SAVER_CONSTANTS = "battery_saver_constants"
+
+ /**
+ * Low power mode toggle
+ */
+ const val LOW_POWER = "low_power"
+
+ /**
+ * Re-enable low power mode on reboots / unplugs
+ */
+ const val LOW_POWER_STICKY = "low_power_sticky"
+
+ /**
+ * Battery percentage to auto-disable low power mode
+ */
+ const val LOW_POWER_STICKY_AUTO_DISABLE_ENABLED = "low_power_sticky_auto_disable_enabled"
} \ No newline at end of file
diff --git a/app/src/main/java/com/draco/buoy/utils/BatterySaverManager.kt b/app/src/main/java/com/draco/buoy/utils/BatterySaverManager.kt
index d8f5c5b..dbc2d37 100644
--- a/app/src/main/java/com/draco/buoy/utils/BatterySaverManager.kt
+++ b/app/src/main/java/com/draco/buoy/utils/BatterySaverManager.kt
@@ -20,7 +20,7 @@ class BatterySaverManager(private val contentResolver: ContentResolver) {
/**
* Enable or disable low power mode
*/
- fun setBatterySaverState(state: Boolean) {
+ fun setLowPower(state: Boolean) {
val intBool = if (state) 1 else 0
Settings.Global.putInt(
contentResolver,
@@ -30,13 +30,27 @@ class BatterySaverManager(private val contentResolver: ContentResolver) {
}
/**
- * Get current low power state
+ * Enable or disable low power sticky mode
*/
- fun getBatteryPowerSaverState(): Boolean {
- return Settings.Global.getInt(
+ fun setLowPowerSticky(state: Boolean) {
+ val intBool = if (state) 1 else 0
+ Settings.Global.putInt(
contentResolver,
- BatterySaverSecureSettings.LOW_POWER
- ) == 1
+ BatterySaverSecureSettings.LOW_POWER_STICKY,
+ intBool
+ )
+ }
+
+ /**
+ * Enable or disable low power sticky auto disable mode
+ */
+ fun setLowPowerStickyAutoDisableEnabled(state: Boolean) {
+ val intBool = if (state) 1 else 0
+ Settings.Global.putInt(
+ contentResolver,
+ BatterySaverSecureSettings.LOW_POWER_STICKY_AUTO_DISABLE_ENABLED,
+ intBool
+ )
}
/**