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

Commit 2d7bb81a authored by Mike Lockwood's avatar Mike Lockwood
Browse files

Keep screen bright until boot completed.



Fixes b/2262575 (device boots into darkness)

Change-Id: Ib1fb3fcfd4a389d8aa5803a60e07660cfbe4fe47
Signed-off-by: default avatarMike Lockwood <lockwood@android.com>
parent 04c585e3
Loading
Loading
Loading
Loading
+20 −2
Original line number Diff line number Diff line
@@ -154,6 +154,7 @@ class PowerManagerService extends IPowerManager.Stub
    private final int MY_UID;

    private boolean mDoneBooting = false;
    private boolean mBootCompleted = false;
    private int mStayOnConditions = 0;
    private int[] mBroadcastQueue = new int[] { -1, -1, -1 };
    private int[] mBroadcastWhy = new int[3];
@@ -351,6 +352,13 @@ class PowerManagerService extends IPowerManager.Stub
        }
    }

    private final class BootCompletedReceiver extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {
            bootCompleted();
        }
    }

    /**
     * Set the setting that determines whether the device stays on when plugged in.
     * The argument is a bit string, with each bit specifying a power source that,
@@ -498,6 +506,9 @@ class PowerManagerService extends IPowerManager.Stub
        IntentFilter filter = new IntentFilter();
        filter.addAction(Intent.ACTION_BATTERY_CHANGED);
        mContext.registerReceiver(new BatteryReceiver(), filter);
        filter = new IntentFilter();
        filter.addAction(Intent.ACTION_BOOT_COMPLETED);
        mContext.registerReceiver(new BootCompletedReceiver(), filter);

        // Listen for Gservices changes
        IntentFilter gservicesChangedFilter =
@@ -970,7 +981,7 @@ class PowerManagerService extends IPowerManager.Stub

    private void setTimeoutLocked(long now, int nextState)
    {
        if (mDoneBooting) {
        if (mBootCompleted) {
            mHandler.removeCallbacks(mTimeoutTask);
            mTimeoutTask.nextState = nextState;
            long when = now;
@@ -1385,7 +1396,7 @@ class PowerManagerService extends IPowerManager.Stub
                return;
            }

            if (!mDoneBooting && !mUseSoftwareAutoBrightness) {
            if (!mBootCompleted && !mUseSoftwareAutoBrightness) {
                newState |= ALL_BRIGHT;
            }

@@ -2343,6 +2354,13 @@ class PowerManagerService extends IPowerManager.Stub
            } finally {
                Binder.restoreCallingIdentity(identity);
            }
        }
    }

    void bootCompleted() {
        Log.d(TAG, "bootCompleted");
        synchronized (mLocks) {
            mBootCompleted = true;
            userActivity(SystemClock.uptimeMillis(), false, BUTTON_EVENT, true);
            updateWakeLockLocked();
            mLocks.notifyAll();