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

Commit dd1e0abb authored by Brandon McAnsh's avatar Brandon McAnsh Committed by Roman Birg
Browse files

Revamp 'Stay awake' choices



* Never, while USB debugging, always

Change-Id: I0aadcda8ca49ba55eb615d4d97190bb3a125cd07
Signed-off-by: default avatarBrandon McAnsh <brandon.mcansh@gmail.com>
parent 7e9570dd
Loading
Loading
Loading
Loading
+12 −3
Original line number Diff line number Diff line
@@ -380,7 +380,7 @@ public final class PowerManagerService extends SystemService
    private int mMaximumScreenOffTimeoutFromDeviceAdmin = Integer.MAX_VALUE;

    // The stay on while plugged in setting.
    // A bitfield of battery conditions under which to make the screen stay on.
    // 0: Not enabled; 1: debugging over usb; >2: charging.
    private int mStayOnWhilePluggedInSetting;

    // True if the device should wake up when plugged or unplugged
@@ -734,7 +734,7 @@ public final class PowerManagerService extends SystemService
                Settings.Secure.SLEEP_TIMEOUT, DEFAULT_SLEEP_TIMEOUT,
                UserHandle.USER_CURRENT);
        mStayOnWhilePluggedInSetting = Settings.Global.getInt(resolver,
                Settings.Global.STAY_ON_WHILE_PLUGGED_IN, BatteryManager.BATTERY_PLUGGED_AC);
                Settings.Global.STAY_ON_WHILE_PLUGGED_IN, 0);
        mTheaterModeEnabled = Settings.Global.getInt(mContext.getContentResolver(),
                Settings.Global.THEATER_MODE_ON, 0) == 1;
        mWakeUpWhenPluggedOrUnpluggedSetting = Settings.Global.getInt(resolver,
@@ -1531,7 +1531,16 @@ public final class PowerManagerService extends SystemService
            final boolean wasStayOn = mStayOn;
            if (mStayOnWhilePluggedInSetting != 0
                    && !isMaximumScreenOffTimeoutFromDeviceAdminEnforcedLocked()) {
                mStayOn = mBatteryManagerInternal.isPowered(mStayOnWhilePluggedInSetting);
                switch (mStayOnWhilePluggedInSetting) {
                    case 1: // Debugging only over usb
                        mStayOn = ((mPlugType & BatteryManager.BATTERY_PLUGGED_USB) != 0)
                                && Settings.Global.getInt(mContext.getContentResolver(),
                                        Settings.Global.ADB_ENABLED, 0) != 0;;
                        break;
                    default: // charging
                        mStayOn = mIsPowered;
                        break;
                }
            } else {
                mStayOn = false;
            }