summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTyler Nijmeh <tylernij@gmail.com>2021-03-31 14:22:09 -0700
committerTyler Nijmeh <tylernij@gmail.com>2021-03-31 14:22:09 -0700
commitc9591136669c7395efb91c3cd2364900efc23ac2 (patch)
tree5bd1f6ede93a1a16ff024edd970d779015d8e6d6
parent4a0af97520794c78f20c1cce9da42fb32d1880b9 (diff)
Lock settings if they are old
Signed-off-by: Tyler Nijmeh <tylernij@gmail.com>
-rw-r--r--app/build.gradle2
-rw-r--r--app/src/main/java/com/draco/buoy/fragments/MainPreferenceFragment.kt130
-rw-r--r--app/src/main/res/values/strings.xml2
3 files changed, 96 insertions, 38 deletions
diff --git a/app/build.gradle b/app/build.gradle
index 47bdbcd..69647b3 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -9,7 +9,7 @@ android {
defaultConfig {
applicationId "com.draco.buoy"
- minSdk 24
+ minSdk 26
targetSdk 30
versionCode 1
versionName "1.0"
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 f030c16..7cf5f34 100644
--- a/app/src/main/java/com/draco/buoy/fragments/MainPreferenceFragment.kt
+++ b/app/src/main/java/com/draco/buoy/fragments/MainPreferenceFragment.kt
@@ -4,6 +4,7 @@ import android.content.Context
import android.content.Intent
import android.content.SharedPreferences
import android.net.Uri
+import android.os.Build
import android.os.Bundle
import androidx.preference.*
import com.draco.buoy.R
@@ -16,6 +17,25 @@ import com.google.android.material.snackbar.Snackbar
class MainPreferenceFragment : PreferenceFragmentCompat(), SharedPreferences.OnSharedPreferenceChangeListener {
private lateinit var batterySaverManager: BatterySaverManager
+ private lateinit var advertiseIsEnabled: SwitchPreference
+ private lateinit var dataSaverEnabled: SwitchPreference
+ private lateinit var enableNightMode: SwitchPreference
+ private lateinit var launchBoostEnabled: SwitchPreference
+ private lateinit var vibrationEnabled: SwitchPreference
+ private lateinit var animationEnabled: SwitchPreference
+ private lateinit var soundTriggerEnabled: SwitchPreference
+ private lateinit var fullBackupDeferred: SwitchPreference
+ private lateinit var keyValueBackupDeferred: SwitchPreference
+ private lateinit var fireWallEnabled: SwitchPreference
+ private lateinit var gpsMode: ListPreference
+ private lateinit var adjustBrightnessEnabled: SwitchPreference
+ private lateinit var adjustBrightnessFactor: SeekBarPreference
+ private lateinit var forceAllAppsStandby: SwitchPreference
+ private lateinit var forceBackgroundCheck: SwitchPreference
+ private lateinit var optionalSensorsEnabled: SwitchPreference
+ private lateinit var aodEnabled: SwitchPreference
+ private lateinit var quickDozeEnabled: SwitchPreference
+
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
setPreferencesFromResource(R.xml.main, rootKey)
}
@@ -37,7 +57,28 @@ class MainPreferenceFragment : PreferenceFragmentCompat(), SharedPreferences.OnS
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
+
+ advertiseIsEnabled = findPreference(getString(R.string.pref_config_key_advertise_is_enabled))!!
+ dataSaverEnabled = findPreference(getString(R.string.pref_config_key_datasaver_enabled))!!
+ enableNightMode = findPreference(getString(R.string.pref_config_key_enable_night_mode))!!
+ launchBoostEnabled = findPreference(getString(R.string.pref_config_key_launch_boost_enabled))!!
+ vibrationEnabled = findPreference(getString(R.string.pref_config_key_vibration_enabled))!!
+ animationEnabled = findPreference(getString(R.string.pref_config_key_animation_enabled))!!
+ soundTriggerEnabled = findPreference(getString(R.string.pref_config_key_soundtrigger_enabled))!!
+ fullBackupDeferred = findPreference(getString(R.string.pref_config_key_fullbackup_deferred))!!
+ keyValueBackupDeferred = findPreference(getString(R.string.pref_config_key_keyvaluebackup_deferred))!!
+ fireWallEnabled = findPreference(getString(R.string.pref_config_key_firewall_enabled))!!
+ gpsMode = findPreference(getString(R.string.pref_config_key_gps_mode))!!
+ adjustBrightnessEnabled = findPreference(getString(R.string.pref_config_key_adjust_brightness_enabled))!!
+ adjustBrightnessFactor = findPreference(getString(R.string.pref_config_key_adjust_brightness_factor))!!
+ forceAllAppsStandby = findPreference(getString(R.string.pref_config_key_force_all_apps_standby))!!
+ forceBackgroundCheck = findPreference(getString(R.string.pref_config_key_force_background_check))!!
+ optionalSensorsEnabled = findPreference(getString(R.string.pref_config_key_optional_sensors_enabled))!!
+ aodEnabled = findPreference(getString(R.string.pref_config_key_aod_enabled))!!
+ quickDozeEnabled = findPreference(getString(R.string.pref_config_key_quick_doze_enabled))!!
+
refreshSettings()
+ lockSettings()
/**
* On import text changed, apply the new configuration
@@ -90,6 +131,23 @@ class MainPreferenceFragment : PreferenceFragmentCompat(), SharedPreferences.OnS
}
/**
+ * Lock specific settings if the Android version does not support it
+ */
+ private fun lockSettings() {
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
+ advertiseIsEnabled.isVisible = false
+ dataSaverEnabled.isVisible = false
+ enableNightMode.isVisible = false
+ launchBoostEnabled.isVisible = false
+ forceAllAppsStandby.isVisible = false
+ forceBackgroundCheck.isVisible = false
+ optionalSensorsEnabled.isVisible = false
+ aodEnabled.isVisible = false
+ quickDozeEnabled.isVisible = false
+ }
+ }
+
+ /**
* Show the user a dialog where they can export the constants
*/
private fun exportSettings() {
@@ -112,24 +170,24 @@ class MainPreferenceFragment : PreferenceFragmentCompat(), SharedPreferences.OnS
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_enabled))?.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
+ advertiseIsEnabled.isChecked = currentProfile.advertiseIsEnabled
+ dataSaverEnabled.isChecked = !currentProfile.dataSaverDisabled
+ enableNightMode.isChecked = currentProfile.enableNightMode
+ launchBoostEnabled.isChecked = !currentProfile.launchBoostDisabled
+ vibrationEnabled.isChecked = !currentProfile.vibrationDisabled
+ animationEnabled.isChecked = !currentProfile.animationDisabled
+ soundTriggerEnabled.isChecked = !currentProfile.soundTriggerDisabled
+ fullBackupDeferred.isChecked = currentProfile.fullBackupDeferred
+ keyValueBackupDeferred.isChecked = currentProfile.keyValueBackupDeferred
+ fireWallEnabled.isChecked = !currentProfile.fireWallDisabled
+ gpsMode.value = currentProfile.gpsMode.toString()
+ adjustBrightnessEnabled.isChecked = !currentProfile.adjustBrightnessDisabled
+ adjustBrightnessFactor.value = (currentProfile.adjustBrightnessFactor * 100).toInt()
+ forceAllAppsStandby.isChecked = currentProfile.forceAllAppsStandby
+ forceBackgroundCheck.isChecked = currentProfile.forceBackgroundCheck
+ optionalSensorsEnabled.isChecked = !currentProfile.optionalSensorsDisabled
+ aodEnabled.isChecked = !currentProfile.aodDisabled
+ quickDozeEnabled.isChecked = currentProfile.quickDozeEnabled
}
/**
@@ -137,24 +195,24 @@ class MainPreferenceFragment : PreferenceFragmentCompat(), SharedPreferences.OnS
*/
private fun applySettings() {
val config = BatterySaverConstantsConfig(
- findPreference<SwitchPreference>(getString(R.string.pref_config_key_advertise_is_enabled))!!.isChecked,
- !findPreference<SwitchPreference>(getString(R.string.pref_config_key_datasaver_enabled))!!.isChecked,
- findPreference<SwitchPreference>(getString(R.string.pref_config_key_enable_night_mode))!!.isChecked,
- !findPreference<SwitchPreference>(getString(R.string.pref_config_key_launch_boost_enabled))!!.isChecked,
- !findPreference<SwitchPreference>(getString(R.string.pref_config_key_vibration_enabled))!!.isChecked,
- !findPreference<SwitchPreference>(getString(R.string.pref_config_key_animation_enabled))!!.isChecked,
- !findPreference<SwitchPreference>(getString(R.string.pref_config_key_soundtrigger_enabled))!!.isChecked,
- findPreference<SwitchPreference>(getString(R.string.pref_config_key_fullbackup_deferred))!!.isChecked,
- findPreference<SwitchPreference>(getString(R.string.pref_config_key_keyvaluebackup_deferred))!!.isChecked,
- !findPreference<SwitchPreference>(getString(R.string.pref_config_key_firewall_enabled))!!.isChecked,
- findPreference<ListPreference>(getString(R.string.pref_config_key_gps_mode))!!.value.toInt(),
- !findPreference<SwitchPreference>(getString(R.string.pref_config_key_adjust_brightness_enabled))!!.isChecked,
- findPreference<SeekBarPreference>(getString(R.string.pref_config_key_adjust_brightness_factor))!!.value / 100f,
- findPreference<SwitchPreference>(getString(R.string.pref_config_key_force_all_apps_standby))!!.isChecked,
- findPreference<SwitchPreference>(getString(R.string.pref_config_key_force_background_check))!!.isChecked,
- !findPreference<SwitchPreference>(getString(R.string.pref_config_key_optional_sensors_enabled))!!.isChecked,
- !findPreference<SwitchPreference>(getString(R.string.pref_config_key_aod_enabled))!!.isChecked,
- findPreference<SwitchPreference>(getString(R.string.pref_config_key_quick_doze_enabled))!!.isChecked
+ advertiseIsEnabled.isChecked,
+ !dataSaverEnabled.isChecked,
+ enableNightMode.isChecked,
+ !launchBoostEnabled.isChecked,
+ !vibrationEnabled.isChecked,
+ !animationEnabled.isChecked,
+ !soundTriggerEnabled.isChecked,
+ fullBackupDeferred.isChecked,
+ keyValueBackupDeferred.isChecked,
+ !fireWallEnabled.isChecked,
+ gpsMode.value.toInt(),
+ !adjustBrightnessEnabled.isChecked,
+ adjustBrightnessFactor.value / 100f,
+ forceAllAppsStandby.isChecked,
+ forceBackgroundCheck.isChecked,
+ !optionalSensorsEnabled.isChecked,
+ !aodEnabled.isChecked,
+ quickDozeEnabled.isChecked
)
batterySaverManager.apply(config)
refreshSettings()
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index cd3d9ed..ec44fc3 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -95,7 +95,7 @@
<string name="pref_config_title_gps_mode">Location Mode</string>
<string name="pref_config_summary_gps_mode">How location requests are handled in low power mode</string>
- <string name="pref_config_key_adjust_brightness_enabled">adjust_brightness_disabled</string>
+ <string name="pref_config_key_adjust_brightness_enabled">adjust_brightness_enabled</string>
<string name="pref_config_title_adjust_brightness_enabled">Adjust Brightness</string>
<string name="pref_config_summary_adjust_brightness_enabled">Reduce the maximum brightness on the panel</string>