diff options
author | Tyler Nijmeh <tylernij@gmail.com> | 2021-04-04 20:39:44 -0700 |
---|---|---|
committer | Tyler Nijmeh <tylernij@gmail.com> | 2021-04-04 20:39:44 -0700 |
commit | 81fc854036b2dad54e304d027e80722ab4c2f554 (patch) | |
tree | 92e6ea80a48cc3964bc41c3a891ff0287a682a50 | |
parent | 270c5a3c794238b3bb342b27895308b007c8650b (diff) |
Do not automatically enable LPM
Devices get locked in this state otherwise
Signed-off-by: Tyler Nijmeh <tylernij@gmail.com>
3 files changed, 19 insertions, 35 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 1a65293..123eb1d 100644 --- a/app/src/main/java/com/draco/buoy/fragments/MainPreferenceFragment.kt +++ b/app/src/main/java/com/draco/buoy/fragments/MainPreferenceFragment.kt @@ -2,7 +2,6 @@ package com.draco.buoy.fragments import android.content.* import android.net.Uri -import android.os.BatteryManager import android.os.Build import android.os.Bundle import androidx.preference.* @@ -79,15 +78,9 @@ class MainPreferenceFragment : PreferenceFragmentCompat(), SharedPreferences.OnS refreshSettings() lockSettings() - /* Listen for power plugged or unplugged */ - val connectionChangedIntent = IntentFilter() - connectionChangedIntent.addAction(Intent.ACTION_POWER_CONNECTED) - requireContext().registerReceiver(connectionChangedReceiver, connectionChangedIntent) - - /* Check now */ - val batteryManager = requireContext().getSystemService(Context.BATTERY_SERVICE) as BatteryManager - if (batteryManager.isCharging) - pluggedInAlert() + /* Alert the user that LPM is not enabled */ + if (!batterySaverManager.getLowPower()) + Snackbar.make(requireView(), getString(R.string.snackbar_low_power), Snackbar.LENGTH_SHORT).show() /* On import text changed, apply the new configuration */ findPreference<EditTextPreference>(getString(R.string.pref_key_import))?.let { @@ -99,11 +92,6 @@ class MainPreferenceFragment : PreferenceFragmentCompat(), SharedPreferences.OnS } } - override fun onDestroy() { - super.onDestroy() - requireContext().unregisterReceiver(connectionChangedReceiver) - } - override fun onPreferenceTreeClick(preference: Preference): Boolean { when (preference.key) { getString(R.string.pref_profile_key_default) -> { @@ -253,22 +241,4 @@ class MainPreferenceFragment : PreferenceFragmentCompat(), SharedPreferences.OnS override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences?, key: String?) { applySettings() } - - /** - * Warn the user that low power mode won't work until the device is on battery power - */ - private fun pluggedInAlert() { - Snackbar.make(requireView(), getString(R.string.snackbar_plugged_in), Snackbar.LENGTH_LONG).show() - } - - /** - * On power change, enable or disable all settings - */ - private var connectionChangedReceiver = object : BroadcastReceiver() { - override fun onReceive(context: Context, intent: Intent) { - when (intent.action) { - Intent.ACTION_POWER_CONNECTED -> pluggedInAlert() - } - } - } }
\ 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 a72aa70..8bf76a6 100644 --- a/app/src/main/java/com/draco/buoy/utils/BatterySaverManager.kt +++ b/app/src/main/java/com/draco/buoy/utils/BatterySaverManager.kt @@ -19,6 +19,17 @@ class BatterySaverManager(private val contentResolver: ContentResolver) { } /** + * Return true if low power mode is enabled + */ + fun getLowPower(): Boolean { + return Settings.Global.getInt( + contentResolver, + BatterySaverSecureSettings.LOW_POWER, + 0 + ) == 1 + } + + /** * Enable or disable low power sticky mode */ fun setLowPowerSticky(state: Boolean) { @@ -79,7 +90,7 @@ class BatterySaverManager(private val contentResolver: ContentResolver) { is BatterySaverConstantsConfig -> setConstantsConfig(config) } - setLowPower(true) + //setLowPower(true) setLowPowerSticky(true) setLowPowerStickyAutoDisableEnabled(false) } @@ -89,5 +100,8 @@ class BatterySaverManager(private val contentResolver: ContentResolver) { */ fun resetToDefault() { apply(null) + + setLowPowerSticky(false) + setLowPowerStickyAutoDisableEnabled(true) } }
\ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f737890..e1fff57 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -12,7 +12,7 @@ <string name="snackbar_intent_failed">Could not handle this action</string> <string name="snackbar_failed_to_apply">Failed to apply; device is likely incompatible</string> - <string name="snackbar_plugged_in">Buoy will take effect when device is unplugged</string> + <string name="snackbar_low_power">Changes will take effect when device is in battery saver mode</string> <string name="developer_url">https://www.github.com/tytydraco</string> <string name="source_url">https://www.github.com/tytydraco/Buoy</string> |