summaryrefslogtreecommitdiff
path: root/app/src/main/java
diff options
context:
space:
mode:
authorTyler Nijmeh <tylernij@gmail.com>2021-03-31 02:12:53 -0700
committerTyler Nijmeh <tylernij@gmail.com>2021-03-31 02:12:53 -0700
commite4020a7517fb25d8e048282429a71c216ce84668 (patch)
tree1377faa1b9809f379f343692b8420d169a08300b /app/src/main/java
parent9a63ecfe6217fa94f495c2f2877917eda6aa57b8 (diff)
Read settings in from device
Signed-off-by: Tyler Nijmeh <tylernij@gmail.com>
Diffstat (limited to 'app/src/main/java')
-rw-r--r--app/src/main/java/com/draco/buoy/fragments/MainPreferenceFragment.kt42
-rw-r--r--app/src/main/java/com/draco/buoy/models/BatterySaverConstantsConfig.kt4
-rw-r--r--app/src/main/java/com/draco/buoy/utils/BatterySaverManager.kt10
3 files changed, 47 insertions, 9 deletions
diff --git a/app/src/main/java/com/draco/buoy/fragments/MainPreferenceFragment.kt b/app/src/main/java/com/draco/buoy/fragments/MainPreferenceFragment.kt
index e0be6d3..f757d39 100644
--- a/app/src/main/java/com/draco/buoy/fragments/MainPreferenceFragment.kt
+++ b/app/src/main/java/com/draco/buoy/fragments/MainPreferenceFragment.kt
@@ -4,8 +4,7 @@ import android.content.Context
import android.content.Intent
import android.net.Uri
import android.os.Bundle
-import androidx.preference.Preference
-import androidx.preference.PreferenceFragmentCompat
+import androidx.preference.*
import com.draco.buoy.R
import com.draco.buoy.models.BatterySaverConstantsConfig
import com.draco.buoy.repositories.BatterySaverConstantsConfigProfiles
@@ -27,11 +26,11 @@ class MainPreferenceFragment : PreferenceFragmentCompat() {
override fun onPreferenceTreeClick(preference: Preference): Boolean {
when (preference.key) {
- getString(R.string.profile_key_reset) -> resetProfile()
- getString(R.string.profile_key_light) -> applyProfile(BatterySaverConstantsConfigProfiles.LIGHT)
- getString(R.string.profile_key_moderate) -> applyProfile(BatterySaverConstantsConfigProfiles.MODERATE)
- getString(R.string.profile_key_high) -> applyProfile(BatterySaverConstantsConfigProfiles.HIGH)
- getString(R.string.profile_key_extreme) -> applyProfile(BatterySaverConstantsConfigProfiles.EXTREME)
+ getString(R.string.pref_profile_key_reset) -> resetProfile()
+ getString(R.string.pref_profile_key_light) -> applyProfile(BatterySaverConstantsConfigProfiles.LIGHT)
+ getString(R.string.pref_profile_key_moderate) -> applyProfile(BatterySaverConstantsConfigProfiles.MODERATE)
+ getString(R.string.pref_profile_key_high) -> applyProfile(BatterySaverConstantsConfigProfiles.HIGH)
+ getString(R.string.pref_profile_key_extreme) -> applyProfile(BatterySaverConstantsConfigProfiles.EXTREME)
getString(R.string.pref_developer_key) -> openURL(getString(R.string.developer_url))
getString(R.string.pref_source_key) -> openURL(getString(R.string.source_url))
@@ -45,11 +44,39 @@ class MainPreferenceFragment : PreferenceFragmentCompat() {
return true
}
+ private fun updateSettings() {
+ val currentProfileString = batterySaverManager.getConstantsString()
+ val currentProfile = BatterySaverConstantsConfig().also {
+ if (currentProfileString != null)
+ it.import(currentProfileString)
+ }
+
+ findPreference<SwitchPreference>(getString(R.string.pref_config_key_advertise_is_enabled))?.isChecked = currentProfile.advertiseIsEnabled
+ findPreference<SwitchPreference>(getString(R.string.pref_config_key_datasaver_enabled))?.isChecked = !currentProfile.dataSaverDisabled
+ findPreference<SwitchPreference>(getString(R.string.pref_config_key_enable_night_mode))?.isChecked = currentProfile.enableNightMode
+ findPreference<SwitchPreference>(getString(R.string.pref_config_key_launch_boost_enabled))?.isChecked = !currentProfile.launchBoostDisabled
+ findPreference<SwitchPreference>(getString(R.string.pref_config_key_vibration_enabled))?.isChecked = !currentProfile.vibrationDisabled
+ findPreference<SwitchPreference>(getString(R.string.pref_config_key_animation_enabled))?.isChecked = !currentProfile.animationDisabled
+ findPreference<SwitchPreference>(getString(R.string.pref_config_key_soundtrigger_enabled))?.isChecked = !currentProfile.soundTriggerDisabled
+ findPreference<SwitchPreference>(getString(R.string.pref_config_key_fullbackup_deferred))?.isChecked = currentProfile.fullBackupDeferred
+ findPreference<SwitchPreference>(getString(R.string.pref_config_key_keyvaluebackup_deferred))?.isChecked = currentProfile.keyValueBackupDeferred
+ findPreference<SwitchPreference>(getString(R.string.pref_config_key_firewall_enabled))?.isChecked = !currentProfile.fireWallDisabled
+ findPreference<ListPreference>(getString(R.string.pref_config_key_gps_mode))?.value = currentProfile.gpsMode.toString()
+ findPreference<SwitchPreference>(getString(R.string.pref_config_key_adjust_brightness_enabled))?.isChecked = !currentProfile.adjustBrightnessDisabled
+ findPreference<SeekBarPreference>(getString(R.string.pref_config_key_adjust_brightness_factor))?.value = (currentProfile.adjustBrightnessFactor * 100).toInt()
+ findPreference<SwitchPreference>(getString(R.string.pref_config_key_force_all_apps_standby))?.isChecked = currentProfile.forceAllAppsStandby
+ findPreference<SwitchPreference>(getString(R.string.pref_config_key_force_background_check))?.isChecked = currentProfile.forceBackgroundCheck
+ findPreference<SwitchPreference>(getString(R.string.pref_config_key_optional_sensors_disabled))?.isChecked = currentProfile.optionalSensorsDisabled
+ findPreference<SwitchPreference>(getString(R.string.pref_config_key_aod_enabled))?.isChecked = currentProfile.aodDisabled
+ findPreference<SwitchPreference>(getString(R.string.pref_config_key_quick_doze_enabled))?.isChecked = currentProfile.quickDozeEnabled
+ }
+
private fun applyProfile(profile: BatterySaverConstantsConfig) {
batterySaverManager.setConstantsConfig(profile)
batterySaverManager.setLowPower(true)
batterySaverManager.setLowPowerSticky(true)
batterySaverManager.setLowPowerStickyAutoDisableEnabled(false)
+ updateSettings()
}
private fun resetProfile() {
@@ -57,6 +84,7 @@ class MainPreferenceFragment : PreferenceFragmentCompat() {
batterySaverManager.setLowPower(false)
batterySaverManager.setLowPowerSticky(false)
batterySaverManager.setLowPowerStickyAutoDisableEnabled(true)
+ updateSettings()
}
private fun openURL(url: String) {
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 6733227..c26ab01 100644
--- a/app/src/main/java/com/draco/buoy/models/BatterySaverConstantsConfig.kt
+++ b/app/src/main/java/com/draco/buoy/models/BatterySaverConstantsConfig.kt
@@ -32,7 +32,7 @@ data class BatterySaverConstantsConfig(
"${BatterySaverConstants.ANIMATION_DISABLED}=$animationDisabled," +
"${BatterySaverConstants.SOUNDTRIGGER_DISABLED}=$soundTriggerDisabled," +
"${BatterySaverConstants.FULLBACKUP_DEFERRED}=$fullBackupDeferred," +
- "${BatterySaverConstants.KEYVALUEBACKUP_DEFERRED}=$keyValueBackupDeferred" +
+ "${BatterySaverConstants.KEYVALUEBACKUP_DEFERRED}=$keyValueBackupDeferred," +
"${BatterySaverConstants.FIREWALL_DISABLED}=$fireWallDisabled," +
"${BatterySaverConstants.GPS_MODE}=$gpsMode," +
"${BatterySaverConstants.ADJUST_BRIGHTNESS_DISABLED}=$adjustBrightnessDisabled," +
@@ -44,7 +44,7 @@ data class BatterySaverConstantsConfig(
"${BatterySaverConstants.QUICK_DOZE_ENABLED}=$quickDozeEnabled"
}
- fun fromString(string: String) {
+ fun import(string: String) {
val keyValueMap = string.split(",").associate {
val (key, value) = it.split("=")
key to value
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 dbc2d37..f63b681 100644
--- a/app/src/main/java/com/draco/buoy/utils/BatterySaverManager.kt
+++ b/app/src/main/java/com/draco/buoy/utils/BatterySaverManager.kt
@@ -65,6 +65,16 @@ class BatterySaverManager(private val contentResolver: ContentResolver) {
}
/**
+ * Get the raw battery saver constants secure setting
+ */
+ fun getConstantsString(): String? {
+ return Settings.Global.getString(
+ contentResolver,
+ BatterySaverSecureSettings.BATTERY_SAVER_CONSTANTS
+ )
+ }
+
+ /**
* Set the battery saver constants secure setting via a config
*/
fun setConstantsConfig(config: BatterySaverConstantsConfig) {