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

Commit b3f3ea36 authored by Josh Yang's avatar Josh Yang Committed by Android (Google) Code Review
Browse files

Merge "Add a config_brightWhenDozing to suppress the dim state when we entered...

Merge "Add a config_brightWhenDozing to suppress the dim state when we entered dozing wakefulness but haven't started dream service yet." into main
parents 771ff857 daf92375
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -2712,6 +2712,12 @@
         turned off and the screen off animation has been performed. -->
    <bool name="config_dozeAfterScreenOffByDefault">false</bool>

    <!-- If true, bright policy will be applied when we have entered dozing wakefulness but haven't
         started doze component. This can be used to suppress the temporary dim state before
         starting a dream service. This is typically used together with
         config_maximumScreenDimDuration set to 0 to completely suppress dim effect. -->
    <bool name="config_brightWhenDozing">false</bool>

    <!-- Doze: should the TYPE_PICK_UP_GESTURE sensor be used as a pulse signal. -->
    <bool name="config_dozePulsePickup">false</bool>

+1 −0
Original line number Diff line number Diff line
@@ -1956,6 +1956,7 @@
  <java-symbol type="bool" name="config_enableNightMode" />
  <java-symbol type="bool" name="config_tintNotificationActionButtons" />
  <java-symbol type="bool" name="config_dozeAfterScreenOffByDefault" />
  <java-symbol type="bool" name="config_brightWhenDozing" />
  <java-symbol type="bool" name="config_enableActivityRecognitionHardwareOverlay" />
  <java-symbol type="bool" name="config_defaultAdasGnssLocationEnabled" />
  <java-symbol type="bool" name="config_enableFusedLocationOverlay" />
+10 −4
Original line number Diff line number Diff line
@@ -395,7 +395,8 @@ public class PowerGroup {

    @VisibleForTesting
    int getDesiredScreenPolicyLocked(boolean quiescent, boolean dozeAfterScreenOff,
            boolean bootCompleted, boolean screenBrightnessBoostInProgress) {
            boolean bootCompleted, boolean screenBrightnessBoostInProgress,
            boolean brightWhenDozing) {
        final int wakefulness = getWakefulnessLocked();
        final int wakeLockSummary = getWakeLockSummaryLocked();
        if (wakefulness == WAKEFULNESS_ASLEEP || quiescent) {
@@ -407,8 +408,12 @@ public class PowerGroup {
            if (dozeAfterScreenOff) {
                return DisplayPowerRequest.POLICY_OFF;
            }
            if (brightWhenDozing) {
                return DisplayPowerRequest.POLICY_BRIGHT;
            }
            // Fall through and preserve the current screen policy if not configured to
            // doze after screen off.  This causes the screen off transition to be skipped.
            // bright when dozing or doze after screen off.  This causes the screen off transition
            // to be skipped.
        }

        if ((wakeLockSummary & WAKE_LOCK_SCREEN_BRIGHT) != 0
@@ -429,9 +434,10 @@ public class PowerGroup {
            boolean boostScreenBrightness, int dozeScreenState, float dozeScreenBrightness,
            boolean overrideDrawWakeLock, PowerSaveState powerSaverState, boolean quiescent,
            boolean dozeAfterScreenOff, boolean bootCompleted,
            boolean screenBrightnessBoostInProgress, boolean waitForNegativeProximity) {
            boolean screenBrightnessBoostInProgress, boolean waitForNegativeProximity,
            boolean brightWhenDozing) {
        mDisplayPowerRequest.policy = getDesiredScreenPolicyLocked(quiescent, dozeAfterScreenOff,
                bootCompleted, screenBrightnessBoostInProgress);
                bootCompleted, screenBrightnessBoostInProgress, brightWhenDozing);
        mDisplayPowerRequest.screenBrightnessOverride = screenBrightnessOverride;
        mDisplayPowerRequest.useProximitySensor = useProximitySensor;
        mDisplayPowerRequest.boostScreenBrightness = boostScreenBrightness;
+10 −2
Original line number Diff line number Diff line
@@ -546,6 +546,10 @@ public final class PowerManagerService extends SystemService
    // True if doze should not be started until after the screen off transition.
    private boolean mDozeAfterScreenOff;

    // True if bright policy should be applied when we have entered dozing wakefulness but haven't
    // started doze component.
    private boolean mBrightWhenDozingConfig;

    // The minimum screen off timeout, in milliseconds.
    private long mMinimumScreenOffTimeoutConfig;

@@ -1492,6 +1496,8 @@ public final class PowerManagerService extends SystemService
                com.android.internal.R.bool.config_dreamsDisabledByAmbientModeSuppressionConfig);
        mDozeAfterScreenOff = resources.getBoolean(
                com.android.internal.R.bool.config_dozeAfterScreenOffByDefault);
        mBrightWhenDozingConfig = resources.getBoolean(
                com.android.internal.R.bool.config_brightWhenDozing);
        mMinimumScreenOffTimeoutConfig = resources.getInteger(
                com.android.internal.R.integer.config_minimumScreenOffTimeout);
        mMaximumScreenDimDurationConfig = resources.getInteger(
@@ -3560,7 +3566,8 @@ public final class PowerManagerService extends SystemService
                                        .getBatterySaverPolicy(ServiceType.SCREEN_BRIGHTNESS)
                                : new PowerSaveState.Builder().build(),
                        sQuiescent, mDozeAfterScreenOff, mBootCompleted,
                        mScreenBrightnessBoostInProgress, mRequestWaitForNegativeProximity);
                        mScreenBrightnessBoostInProgress, mRequestWaitForNegativeProximity,
                        mBrightWhenDozingConfig);
                int wakefulness = powerGroup.getWakefulnessLocked();
                if (DEBUG_SPEW) {
                    Slog.d(TAG, "updateDisplayPowerStateLocked: displayReady=" + ready
@@ -3635,7 +3642,7 @@ public final class PowerManagerService extends SystemService
    int getDesiredScreenPolicyLocked(int groupId) {
        return mPowerGroups.get(groupId).getDesiredScreenPolicyLocked(sQuiescent,
                mDozeAfterScreenOff, mBootCompleted,
                mScreenBrightnessBoostInProgress);
                mScreenBrightnessBoostInProgress, mBrightWhenDozingConfig);
    }

    @VisibleForTesting
@@ -4655,6 +4662,7 @@ public final class PowerManagerService extends SystemService
            pw.println("  mDreamsActivateOnSleepSetting=" + mDreamsActivateOnSleepSetting);
            pw.println("  mDreamsActivateOnDockSetting=" + mDreamsActivateOnDockSetting);
            pw.println("  mDozeAfterScreenOff=" + mDozeAfterScreenOff);
            pw.println("  mBrightWhenDozingConfig=" + mBrightWhenDozingConfig);
            pw.println("  mMinimumScreenOffTimeoutConfig=" + mMinimumScreenOffTimeoutConfig);
            pw.println("  mMaximumScreenDimDurationConfig=" + mMaximumScreenDimDurationConfig);
            pw.println("  mMaximumScreenDimRatioConfig=" + mMaximumScreenDimRatioConfig);
+18 −9
Original line number Diff line number Diff line
@@ -267,7 +267,8 @@ public class PowerGroupTest {
                /* dozeAfterScreenOff= */ false,
                /* bootCompleted= */ true,
                /* screenBrightnessBoostInProgress= */ false,
                /* waitForNegativeProximity= */ false);
                /* waitForNegativeProximity= */ false,
                /* brightWhenDozing= */ false);
        DisplayManagerInternal.DisplayPowerRequest displayPowerRequest =
                mPowerGroup.mDisplayPowerRequest;
        assertThat(displayPowerRequest.policy).isEqualTo(POLICY_DIM);
@@ -305,7 +306,8 @@ public class PowerGroupTest {
                /* dozeAfterScreenOff= */ false,
                /* bootCompleted= */ true,
                /* screenBrightnessBoostInProgress= */ false,
                /* waitForNegativeProximity= */ false);
                /* waitForNegativeProximity= */ false,
                /* brightWhenDozing= */ false);
        DisplayManagerInternal.DisplayPowerRequest displayPowerRequest =
                mPowerGroup.mDisplayPowerRequest;
        assertThat(displayPowerRequest.policy).isEqualTo(POLICY_DOZE);
@@ -342,7 +344,8 @@ public class PowerGroupTest {
                /* dozeAfterScreenOff= */ true,
                /* bootCompleted= */ true,
                /* screenBrightnessBoostInProgress= */ false,
                /* waitForNegativeProximity= */ false);
                /* waitForNegativeProximity= */ false,
                /* brightWhenDozing= */ false);
        DisplayManagerInternal.DisplayPowerRequest displayPowerRequest =
                mPowerGroup.mDisplayPowerRequest;
        assertThat(displayPowerRequest.policy).isEqualTo(POLICY_OFF);
@@ -378,7 +381,8 @@ public class PowerGroupTest {
                /* dozeAfterScreenOff= */ true,
                /* bootCompleted= */ true,
                /* screenBrightnessBoostInProgress= */ false,
                /* waitForNegativeProximity= */ false);
                /* waitForNegativeProximity= */ false,
                /* brightWhenDozing= */ false);
        DisplayManagerInternal.DisplayPowerRequest displayPowerRequest =
                mPowerGroup.mDisplayPowerRequest;
        assertThat(displayPowerRequest.policy).isEqualTo(POLICY_OFF);
@@ -414,7 +418,8 @@ public class PowerGroupTest {
                /* dozeAfterScreenOff= */ false,
                /* bootCompleted= */ true,
                /* screenBrightnessBoostInProgress= */ false,
                /* waitForNegativeProximity= */ false);
                /* waitForNegativeProximity= */ false,
                /* brightWhenDozing= */ false);
        DisplayManagerInternal.DisplayPowerRequest displayPowerRequest =
                mPowerGroup.mDisplayPowerRequest;
        assertThat(displayPowerRequest.policy).isEqualTo(POLICY_OFF);
@@ -451,7 +456,8 @@ public class PowerGroupTest {
                /* dozeAfterScreenOff= */ false,
                /* bootCompleted= */ true,
                /* screenBrightnessBoostInProgress= */ false,
                /* waitForNegativeProximity= */ false);
                /* waitForNegativeProximity= */ false,
                /* brightWhenDozing= */ false);
        DisplayManagerInternal.DisplayPowerRequest displayPowerRequest =
                mPowerGroup.mDisplayPowerRequest;
        assertThat(displayPowerRequest.policy).isEqualTo(POLICY_BRIGHT);
@@ -486,7 +492,8 @@ public class PowerGroupTest {
                /* dozeAfterScreenOff= */ false,
                /* bootCompleted= */ false,
                /* screenBrightnessBoostInProgress= */ false,
                /* waitForNegativeProximity= */ false);
                /* waitForNegativeProximity= */ false,
                /* brightWhenDozing= */ false);
        DisplayManagerInternal.DisplayPowerRequest displayPowerRequest =
                mPowerGroup.mDisplayPowerRequest;
        assertThat(displayPowerRequest.policy).isEqualTo(POLICY_BRIGHT);
@@ -522,7 +529,8 @@ public class PowerGroupTest {
                /* dozeAfterScreenOff= */ false,
                /* bootCompleted= */ true,
                /* screenBrightnessBoostInProgress= */ false,
                /* waitForNegativeProximity= */ false);
                /* waitForNegativeProximity= */ false,
                /* brightWhenDozing= */ false);
        DisplayManagerInternal.DisplayPowerRequest displayPowerRequest =
                mPowerGroup.mDisplayPowerRequest;
        assertThat(displayPowerRequest.policy).isEqualTo(POLICY_BRIGHT);
@@ -557,7 +565,8 @@ public class PowerGroupTest {
                /* dozeAfterScreenOff= */ false,
                /* bootCompleted= */ true,
                /* screenBrightnessBoostInProgress= */ true,
                /* waitForNegativeProximity= */ false);
                /* waitForNegativeProximity= */ false,
                /* brightWhenDozing= */ false);
        DisplayManagerInternal.DisplayPowerRequest displayPowerRequest =
                mPowerGroup.mDisplayPowerRequest;
        assertThat(displayPowerRequest.policy).isEqualTo(POLICY_BRIGHT);