Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 339699b5 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add util for reverting schedule mode"

parents c8732775 8adf58b6
Loading
Loading
Loading
Loading
+4 −0
Original line number Original line Diff line number Diff line
@@ -1165,6 +1165,10 @@
    <!-- The default suggested battery % at which we enable battery saver automatically.  -->
    <!-- The default suggested battery % at which we enable battery saver automatically.  -->
    <integer name="config_lowBatteryAutoTriggerDefaultLevel">15</integer>
    <integer name="config_lowBatteryAutoTriggerDefaultLevel">15</integer>


    <!-- The app which will handle routine based automatic battery saver, if empty the UI for
             routine based battery saver will be hidden -->
    <string name="config_batterySaverScheduleProvider"></string>

    <!-- Close low battery warning when battery level reaches the lowBatteryWarningLevel
    <!-- Close low battery warning when battery level reaches the lowBatteryWarningLevel
         plus this -->
         plus this -->
    <integer name="config_lowBatteryCloseWarningBump">5</integer>
    <integer name="config_lowBatteryCloseWarningBump">5</integer>
+1 −0
Original line number Original line Diff line number Diff line
@@ -3463,6 +3463,7 @@
  <java-symbol type="integer" name="config_lowBatteryAutoTriggerDefaultLevel" />
  <java-symbol type="integer" name="config_lowBatteryAutoTriggerDefaultLevel" />
  <java-symbol type="bool" name="config_batterySaverStickyBehaviourDisabled" />
  <java-symbol type="bool" name="config_batterySaverStickyBehaviourDisabled" />
  <java-symbol type="integer" name="config_dynamicPowerSavingsDefaultDisableThreshold" />
  <java-symbol type="integer" name="config_dynamicPowerSavingsDefaultDisableThreshold" />
  <java-symbol type="string" name="config_batterySaverScheduleProvider" />


  <!-- For car devices -->
  <!-- For car devices -->
  <java-symbol type="string" name="car_loading_profile" />
  <java-symbol type="string" name="car_loading_profile" />
+19 −0
Original line number Original line Diff line number Diff line
@@ -22,6 +22,7 @@ import android.content.Intent;
import android.os.PowerManager;
import android.os.PowerManager;
import android.provider.Settings.Global;
import android.provider.Settings.Global;
import android.provider.Settings.Secure;
import android.provider.Settings.Secure;
import android.text.TextUtils;
import android.util.KeyValueListParser;
import android.util.KeyValueListParser;
import android.util.Log;
import android.util.Log;
import android.util.Slog;
import android.util.Slog;
@@ -176,4 +177,22 @@ public class BatterySaverUtils {
            setAutoBatterySaverTriggerLevel(context, level);
            setAutoBatterySaverTriggerLevel(context, level);
        }
        }
    }
    }

    /**
     * Reverts battery saver schedule mode to none if we are in a bad state where routine mode
     * is selected but no app is configured to actually provide the signal.
     * @param context a valid context
     */
    public static void revertScheduleToNoneIfNeeded(Context context) {
        ContentResolver resolver = context.getContentResolver();
        final int currentMode = Global.getInt(resolver, Global.AUTOMATIC_POWER_SAVER_MODE,
                PowerManager.POWER_SAVER_MODE_PERCENTAGE);
        boolean providerConfigured = !TextUtils.isEmpty(context.getString(
                com.android.internal.R.string.config_batterySaverScheduleProvider));
        if (currentMode == PowerManager.POWER_SAVER_MODE_DYNAMIC && !providerConfigured) {
            Global.putInt(resolver, Global.LOW_POWER_MODE_TRIGGER_LEVEL, 0);
            Global.putInt(resolver, Global.AUTOMATIC_POWER_SAVER_MODE,
                    PowerManager.POWER_SAVER_MODE_PERCENTAGE);
        }
    }
}
}