Merge "Remove VR features"

This commit is contained in:
Rupesh Bansal
2022-12-03 02:06:02 +00:00
committed by Android (Google) Code Review
11 changed files with 22 additions and 414 deletions

View File

@@ -423,8 +423,6 @@ public abstract class DisplayManagerInternal {
public static final int POLICY_DIM = 2;
// Policy: Make the screen bright as usual.
public static final int POLICY_BRIGHT = 3;
// Policy: Keep the screen and display optimized for VR mode.
public static final int POLICY_VR = 4;
// The basic overall policy to apply: off, doze, dim or bright.
public int policy;
@@ -489,10 +487,6 @@ public abstract class DisplayManagerInternal {
return policy == POLICY_BRIGHT || policy == POLICY_DIM;
}
public boolean isVr() {
return policy == POLICY_VR;
}
public void copyFrom(DisplayPowerRequest other) {
policy = other.policy;
useProximitySensor = other.useProximitySensor;
@@ -566,8 +560,6 @@ public abstract class DisplayManagerInternal {
return "DIM";
case POLICY_BRIGHT:
return "BRIGHT";
case POLICY_VR:
return "VR";
default:
return Integer.toString(policy);
}

View File

@@ -483,8 +483,7 @@ class AutomaticBrightnessController {
private static boolean isInteractivePolicy(int policy) {
return policy == DisplayPowerRequest.POLICY_BRIGHT
|| policy == DisplayPowerRequest.POLICY_DIM
|| policy == DisplayPowerRequest.POLICY_VR;
|| policy == DisplayPowerRequest.POLICY_DIM;
}
private boolean setScreenBrightnessByUser(float brightness) {

View File

@@ -219,15 +219,6 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
private final float mScreenBrightnessDefault;
// The minimum allowed brightness while in VR.
private final float mScreenBrightnessForVrRangeMinimum;
// The maximum allowed brightness while in VR.
private final float mScreenBrightnessForVrRangeMaximum;
// The default screen brightness for VR.
private final float mScreenBrightnessForVrDefault;
// True if auto-brightness should be used.
private boolean mUseSoftwareAutoBrightnessConfig;
@@ -450,9 +441,6 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
// PowerManager.BRIGHTNESS_INVALID_FLOAT when there's no temporary brightness set.
private float mTemporaryScreenBrightness;
// The current screen brightness while in VR mode.
private float mScreenBrightnessForVr;
// The last auto brightness adjustment that was set by the user and not temporary. Set to
// Float.NaN when an auto-brightness adjustment hasn't been recorded yet.
private float mAutoBrightnessAdjustment;
@@ -563,14 +551,6 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
mScreenBrightnessDefault = clampAbsoluteBrightness(
mLogicalDisplay.getDisplayInfoLocked().brightnessDefault);
// VR SETTINGS
mScreenBrightnessForVrDefault = clampAbsoluteBrightness(
pm.getBrightnessConstraint(PowerManager.BRIGHTNESS_CONSTRAINT_TYPE_DEFAULT_VR));
mScreenBrightnessForVrRangeMaximum = clampAbsoluteBrightness(
pm.getBrightnessConstraint(PowerManager.BRIGHTNESS_CONSTRAINT_TYPE_MAXIMUM_VR));
mScreenBrightnessForVrRangeMinimum = clampAbsoluteBrightness(
pm.getBrightnessConstraint(PowerManager.BRIGHTNESS_CONSTRAINT_TYPE_MINIMUM_VR));
mAllowAutoBrightnessWhileDozingConfig = resources.getBoolean(
com.android.internal.R.bool.config_allowAutoBrightnessWhileDozing);
@@ -643,7 +623,6 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
loadProximitySensor();
mCurrentScreenBrightnessSetting = getScreenBrightnessSetting();
mScreenBrightnessForVr = getScreenBrightnessForVrSetting();
mAutoBrightnessAdjustment = getAutoBrightnessAdjustmentSetting();
mTemporaryScreenBrightness = PowerManager.BRIGHTNESS_INVALID_FLOAT;
mPendingScreenBrightnessSetting = PowerManager.BRIGHTNESS_INVALID_FLOAT;
@@ -948,9 +927,6 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
};
mBrightnessSetting.registerListener(mBrightnessSettingListener);
mContext.getContentResolver().registerContentObserver(
Settings.System.getUriFor(Settings.System.SCREEN_BRIGHTNESS_FOR_VR_FLOAT),
false /*notifyForDescendants*/, mSettingsObserver, UserHandle.USER_ALL);
mContext.getContentResolver().registerContentObserver(
Settings.System.getUriFor(Settings.System.SCREEN_AUTO_BRIGHTNESS_ADJ),
false /*notifyForDescendants*/, mSettingsObserver, UserHandle.USER_ALL);
@@ -1271,9 +1247,6 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
mBrightnessReasonTemp.setReason(BrightnessReason.REASON_DOZE);
}
break;
case DisplayPowerRequest.POLICY_VR:
state = Display.STATE_VR;
break;
case DisplayPowerRequest.POLICY_DIM:
case DisplayPowerRequest.POLICY_BRIGHT:
default:
@@ -1351,12 +1324,6 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
mBrightnessReasonTemp.setReason(BrightnessReason.REASON_SCREEN_OFF);
}
// Always use the VR brightness when in the VR state.
if (state == Display.STATE_VR) {
brightnessState = mScreenBrightnessForVr;
mBrightnessReasonTemp.setReason(BrightnessReason.REASON_VR);
}
if ((Float.isNaN(brightnessState))
&& isValidBrightnessValue(mPowerRequest.screenBrightnessOverride)) {
brightnessState = mPowerRequest.screenBrightnessOverride;
@@ -1575,7 +1542,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
mBrightnessThrottler.getBrightnessMaxReason());
// Animate the screen brightness when the screen is on or dozing.
// Skip the animation when the screen is off or suspended or transition to/from VR.
// Skip the animation when the screen is off.
boolean brightnessAdjusted = false;
final boolean brightnessIsTemporary =
mAppliedTemporaryBrightness || mAppliedTemporaryAutoBrightnessAdjustment;
@@ -1598,8 +1565,6 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
}
}
final boolean wasOrWillBeInVr =
(state == Display.STATE_VR || oldState == Display.STATE_VR);
final boolean initialRampSkip = (state == Display.STATE_ON && mSkipRampState
!= RAMP_STATE_SKIP_NONE) || skipRampBecauseOfProximityChangeToNegative;
// While dozing, sometimes the brightness is split into buckets. Rather than animating
@@ -1641,7 +1606,7 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
&& (animateValue != currentBrightness
|| sdrAnimateValue != currentSdrBrightness)) {
if (initialRampSkip || hasBrightnessBuckets
|| wasOrWillBeInVr || !isDisplayContentVisible || brightnessIsTemporary) {
|| !isDisplayContentVisible || brightnessIsTemporary) {
animateScreenBrightness(animateValue, sdrAnimateValue,
SCREEN_ANIMATION_RATE_MINIMUM);
} else {
@@ -2078,12 +2043,6 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
}
}
private float clampScreenBrightnessForVr(float value) {
return MathUtils.constrain(
value, mScreenBrightnessForVrRangeMinimum,
mScreenBrightnessForVrRangeMaximum);
}
private float clampScreenBrightness(float value) {
if (Float.isNaN(value)) {
value = PowerManager.BRIGHTNESS_MIN;
@@ -2172,23 +2131,6 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
mPowerState.setColorFadeLevel(1.0f);
mPowerState.dismissColorFade();
}
} else if (target == Display.STATE_VR) {
// Wait for brightness animation to complete beforehand when entering VR
// from screen on to prevent a perceptible jump because brightness may operate
// differently when the display is configured for dozing.
if (mScreenBrightnessRampAnimator.isAnimating()
&& mPowerState.getScreenState() == Display.STATE_ON) {
return;
}
// Set screen state.
if (!setScreenState(Display.STATE_VR)) {
return; // screen on blocked
}
// Dismiss the black surface without fanfare.
mPowerState.setColorFadeLevel(1.0f);
mPowerState.dismissColorFade();
} else if (target == Display.STATE_DOZE) {
// Want screen dozing.
// Wait for brightness animation to complete beforehand when entering doze
@@ -2396,9 +2338,6 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
mAutomaticBrightnessController.resetShortTermModel();
}
}
// We don't bother with a pending variable for VR screen brightness since we just
// immediately adapt to it.
mScreenBrightnessForVr = getScreenBrightnessForVrSetting();
sendUpdatePowerState();
}
@@ -2417,13 +2356,6 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
return clampAbsoluteBrightness(brightness);
}
private float getScreenBrightnessForVrSetting() {
final float brightnessFloat = Settings.System.getFloatForUser(mContext.getContentResolver(),
Settings.System.SCREEN_BRIGHTNESS_FOR_VR_FLOAT, mScreenBrightnessForVrDefault,
UserHandle.USER_CURRENT);
return clampScreenBrightnessForVr(brightnessFloat);
}
@Override
public void setBrightness(float brightnessValue) {
// Update the setting, which will eventually call back into DPC to have us actually update
@@ -2597,9 +2529,6 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
pw.println(" mScreenBrightnessRangeDefault=" + mScreenBrightnessDefault);
pw.println(" mScreenBrightnessDozeConfig=" + mScreenBrightnessDozeConfig);
pw.println(" mScreenBrightnessDimConfig=" + mScreenBrightnessDimConfig);
pw.println(" mScreenBrightnessForVrRangeMinimum=" + mScreenBrightnessForVrRangeMinimum);
pw.println(" mScreenBrightnessForVrRangeMaximum=" + mScreenBrightnessForVrRangeMaximum);
pw.println(" mScreenBrightnessForVrDefault=" + mScreenBrightnessForVrDefault);
pw.println(" mUseSoftwareAutoBrightnessConfig=" + mUseSoftwareAutoBrightnessConfig);
pw.println(" mAllowAutoBrightnessWhileDozingConfig="
+ mAllowAutoBrightnessWhileDozingConfig);
@@ -2649,7 +2578,6 @@ final class DisplayPowerController implements AutomaticBrightnessController.Call
pw.println(" mBrightnessReason=" + mBrightnessReason);
pw.println(" mTemporaryAutoBrightnessAdjustment=" + mTemporaryAutoBrightnessAdjustment);
pw.println(" mPendingAutoBrightnessAdjustment=" + mPendingAutoBrightnessAdjustment);
pw.println(" mScreenBrightnessForVrFloat=" + mScreenBrightnessForVr);
pw.println(" mAppliedAutoBrightness=" + mAppliedAutoBrightness);
pw.println(" mAppliedDimming=" + mAppliedDimming);
pw.println(" mAppliedLowPower=" + mAppliedLowPower);

View File

@@ -198,15 +198,6 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
private final float mScreenBrightnessDefault;
// The minimum allowed brightness while in VR.
private final float mScreenBrightnessForVrRangeMinimum;
// The maximum allowed brightness while in VR.
private final float mScreenBrightnessForVrRangeMaximum;
// The default screen brightness for VR.
private final float mScreenBrightnessForVrDefault;
// True if auto-brightness should be used.
private boolean mUseSoftwareAutoBrightnessConfig;
@@ -394,9 +385,6 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
// behalf of the user.
private float mCurrentScreenBrightnessSetting;
// The current screen brightness while in VR mode.
private float mScreenBrightnessForVr;
// The last auto brightness adjustment that was set by the user and not temporary. Set to
// Float.NaN when an auto-brightness adjustment hasn't been recorded yet.
private float mAutoBrightnessAdjustment;
@@ -488,14 +476,6 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
mScreenBrightnessDefault = clampAbsoluteBrightness(
mLogicalDisplay.getDisplayInfoLocked().brightnessDefault);
// VR SETTINGS
mScreenBrightnessForVrDefault = clampAbsoluteBrightness(
pm.getBrightnessConstraint(PowerManager.BRIGHTNESS_CONSTRAINT_TYPE_DEFAULT_VR));
mScreenBrightnessForVrRangeMaximum = clampAbsoluteBrightness(
pm.getBrightnessConstraint(PowerManager.BRIGHTNESS_CONSTRAINT_TYPE_MAXIMUM_VR));
mScreenBrightnessForVrRangeMinimum = clampAbsoluteBrightness(
pm.getBrightnessConstraint(PowerManager.BRIGHTNESS_CONSTRAINT_TYPE_MINIMUM_VR));
loadBrightnessRampRates();
mSkipScreenOnBrightnessRamp = resources.getBoolean(
R.bool.config_skipScreenOnBrightnessRamp);
@@ -562,7 +542,6 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
mDisplayBrightnessController =
new DisplayBrightnessController(context, null, mDisplayId);
mCurrentScreenBrightnessSetting = getScreenBrightnessSetting();
mScreenBrightnessForVr = getScreenBrightnessForVrSetting();
mAutoBrightnessAdjustment = getAutoBrightnessAdjustmentSetting();
mPendingScreenBrightnessSetting = PowerManager.BRIGHTNESS_INVALID_FLOAT;
mTemporaryAutoBrightnessAdjustment = PowerManager.BRIGHTNESS_INVALID_FLOAT;
@@ -861,9 +840,6 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
};
mBrightnessSetting.registerListener(mBrightnessSettingListener);
mContext.getContentResolver().registerContentObserver(
Settings.System.getUriFor(Settings.System.SCREEN_BRIGHTNESS_FOR_VR_FLOAT),
false /*notifyForDescendants*/, mSettingsObserver, UserHandle.USER_ALL);
mContext.getContentResolver().registerContentObserver(
Settings.System.getUriFor(Settings.System.SCREEN_AUTO_BRIGHTNESS_ADJ),
false /*notifyForDescendants*/, mSettingsObserver, UserHandle.USER_ALL);
@@ -1163,9 +1139,6 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
state = Display.STATE_DOZE;
}
break;
case DisplayPowerRequest.POLICY_VR:
state = Display.STATE_VR;
break;
case DisplayPowerRequest.POLICY_DIM:
case DisplayPowerRequest.POLICY_BRIGHT:
default:
@@ -1199,12 +1172,6 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
float brightnessState = displayBrightnessState.getBrightness();
mBrightnessReasonTemp.set(displayBrightnessState.getBrightnessReason());
// Always use the VR brightness when in the VR state.
if (state == Display.STATE_VR) {
brightnessState = mScreenBrightnessForVr;
mBrightnessReasonTemp.setReason(BrightnessReason.REASON_VR);
}
final boolean autoBrightnessEnabledInDoze =
mDisplayBrightnessController.isAllowAutoBrightnessWhileDozingConfig()
&& Display.isDozeState(state);
@@ -1405,7 +1372,7 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
mBrightnessThrottler.getBrightnessMaxReason());
// Animate the screen brightness when the screen is on or dozing.
// Skip the animation when the screen is off or suspended or transition to/from VR.
// Skip the animation when the screen is off or suspended.
boolean brightnessAdjusted = false;
final boolean brightnessIsTemporary =
(mBrightnessReason.getReason() == BrightnessReason.REASON_TEMPORARY)
@@ -1429,8 +1396,6 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
}
}
final boolean wasOrWillBeInVr =
(state == Display.STATE_VR || oldState == Display.STATE_VR);
final boolean initialRampSkip = (state == Display.STATE_ON && mSkipRampState
!= RAMP_STATE_SKIP_NONE) || mDisplayPowerProximityStateController
.shouldSkipRampBecauseOfProximityChangeToNegative();
@@ -1473,7 +1438,7 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
&& (animateValue != currentBrightness
|| sdrAnimateValue != currentSdrBrightness)) {
if (initialRampSkip || hasBrightnessBuckets
|| wasOrWillBeInVr || !isDisplayContentVisible || brightnessIsTemporary) {
|| !isDisplayContentVisible || brightnessIsTemporary) {
animateScreenBrightness(animateValue, sdrAnimateValue,
SCREEN_ANIMATION_RATE_MINIMUM);
} else {
@@ -1886,12 +1851,6 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
fallbackType);
}
private float clampScreenBrightnessForVr(float value) {
return MathUtils.constrain(
value, mScreenBrightnessForVrRangeMinimum,
mScreenBrightnessForVrRangeMaximum);
}
private float clampScreenBrightness(float value) {
if (Float.isNaN(value)) {
value = PowerManager.BRIGHTNESS_MIN;
@@ -1980,23 +1939,6 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
mPowerState.setColorFadeLevel(1.0f);
mPowerState.dismissColorFade();
}
} else if (target == Display.STATE_VR) {
// Wait for brightness animation to complete beforehand when entering VR
// from screen on to prevent a perceptible jump because brightness may operate
// differently when the display is configured for dozing.
if (mScreenBrightnessRampAnimator.isAnimating()
&& mPowerState.getScreenState() == Display.STATE_ON) {
return;
}
// Set screen state.
if (!setScreenState(Display.STATE_VR)) {
return; // screen on blocked
}
// Dismiss the black surface without fanfare.
mPowerState.setColorFadeLevel(1.0f);
mPowerState.dismissColorFade();
} else if (target == Display.STATE_DOZE) {
// Want screen dozing.
// Wait for brightness animation to complete beforehand when entering doze
@@ -2113,9 +2055,6 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
mAutomaticBrightnessController.resetShortTermModel();
}
}
// We don't bother with a pending variable for VR screen brightness since we just
// immediately adapt to it.
mScreenBrightnessForVr = getScreenBrightnessForVrSetting();
sendUpdatePowerState();
}
@@ -2134,13 +2073,6 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
return clampAbsoluteBrightness(brightness);
}
private float getScreenBrightnessForVrSetting() {
final float brightnessFloat = Settings.System.getFloatForUser(mContext.getContentResolver(),
Settings.System.SCREEN_BRIGHTNESS_FOR_VR_FLOAT, mScreenBrightnessForVrDefault,
UserHandle.USER_CURRENT);
return clampScreenBrightnessForVr(brightnessFloat);
}
@Override
public void setBrightness(float brightnessValue) {
// Update the setting, which will eventually call back into DPC to have us actually update
@@ -2254,9 +2186,6 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
pw.println(" mScreenBrightnessRangeDefault=" + mScreenBrightnessDefault);
pw.println(" mScreenBrightnessDozeConfig=" + mScreenBrightnessDozeConfig);
pw.println(" mScreenBrightnessDimConfig=" + mScreenBrightnessDimConfig);
pw.println(" mScreenBrightnessForVrRangeMinimum=" + mScreenBrightnessForVrRangeMinimum);
pw.println(" mScreenBrightnessForVrRangeMaximum=" + mScreenBrightnessForVrRangeMaximum);
pw.println(" mScreenBrightnessForVrDefault=" + mScreenBrightnessForVrDefault);
pw.println(" mUseSoftwareAutoBrightnessConfig=" + mUseSoftwareAutoBrightnessConfig);
pw.println(" mSkipScreenOnBrightnessRamp=" + mSkipScreenOnBrightnessRamp);
pw.println(" mColorFadeFadesConfig=" + mColorFadeFadesConfig);
@@ -2292,7 +2221,6 @@ final class DisplayPowerController2 implements AutomaticBrightnessController.Cal
pw.println(" mBrightnessReason=" + mBrightnessReason);
pw.println(" mTemporaryAutoBrightnessAdjustment=" + mTemporaryAutoBrightnessAdjustment);
pw.println(" mPendingAutoBrightnessAdjustment=" + mPendingAutoBrightnessAdjustment);
pw.println(" mScreenBrightnessForVrFloat=" + mScreenBrightnessForVr);
pw.println(" mAppliedAutoBrightness=" + mAppliedAutoBrightness);
pw.println(" mAppliedDimming=" + mAppliedDimming);
pw.println(" mAppliedLowPower=" + mAppliedLowPower);

View File

@@ -762,18 +762,8 @@ final class LocalDisplayAdapter extends DisplayAdapter {
}
}
// If the state change was from or to VR, then we need to tell the light
// so that it can apply appropriate VR brightness settings. Also, update the
// brightness so the state is propogated to light.
boolean vrModeChange = false;
if ((state == Display.STATE_VR || currentState == Display.STATE_VR) &&
currentState != state) {
setVrMode(state == Display.STATE_VR);
vrModeChange = true;
}
// Apply brightness changes given that we are in a non-suspended state.
if (brightnessChanged || vrModeChange) {
if (brightnessChanged) {
setDisplayBrightness(brightnessState, sdrBrightnessState);
mBrightnessState = brightnessState;
mSdrBrightnessState = sdrBrightnessState;
@@ -785,15 +775,6 @@ final class LocalDisplayAdapter extends DisplayAdapter {
}
}
private void setVrMode(boolean isVrEnabled) {
if (DEBUG) {
Slog.d(TAG, "setVrMode("
+ "id=" + physicalDisplayId
+ ", state=" + Display.stateToString(state) + ")");
}
mBacklightAdapter.setVrMode(isVrEnabled);
}
private void setDisplayState(int state) {
if (DEBUG) {
Slog.d(TAG, "setDisplayState("
@@ -1505,12 +1486,6 @@ final class LocalDisplayAdapter extends DisplayAdapter {
}
}
void setVrMode(boolean isVrModeEnabled) {
if (mBacklight != null) {
mBacklight.setVrMode(isVrModeEnabled);
}
}
void setForceSurfaceControl(boolean forceSurfaceControl) {
mForceSurfaceControl = forceSurfaceControl;
}

View File

@@ -34,10 +34,9 @@ public final class BrightnessReason {
public static final int REASON_DOZE_DEFAULT = 3;
public static final int REASON_AUTOMATIC = 4;
public static final int REASON_SCREEN_OFF = 5;
public static final int REASON_VR = 6;
public static final int REASON_OVERRIDE = 7;
public static final int REASON_TEMPORARY = 8;
public static final int REASON_BOOST = 9;
public static final int REASON_OVERRIDE = 6;
public static final int REASON_TEMPORARY = 7;
public static final int REASON_BOOST = 8;
public static final int REASON_MAX = REASON_BOOST;
public static final int MODIFIER_DIMMED = 0x1;
@@ -185,8 +184,6 @@ public final class BrightnessReason {
return "automatic";
case REASON_SCREEN_OFF:
return "screen_off";
case REASON_VR:
return "vr";
case REASON_OVERRIDE:
return "override";
case REASON_TEMPORARY:

View File

@@ -324,11 +324,6 @@ public class PowerGroup {
return mDisplayPowerRequest.policy == DisplayPowerRequest.POLICY_DIM;
}
public boolean isPolicyVrLocked() {
return mDisplayPowerRequest.isVr();
}
public boolean isBrightOrDimLocked() {
return mDisplayPowerRequest.isBrightOrDim();
}
@@ -382,7 +377,7 @@ public class PowerGroup {
@VisibleForTesting
int getDesiredScreenPolicyLocked(boolean quiescent, boolean dozeAfterScreenOff,
boolean vrModeEnabled, boolean bootCompleted, boolean screenBrightnessBoostInProgress) {
boolean bootCompleted, boolean screenBrightnessBoostInProgress) {
final int wakefulness = getWakefulnessLocked();
final int wakeLockSummary = getWakeLockSummaryLocked();
if (wakefulness == WAKEFULNESS_ASLEEP || quiescent) {
@@ -398,13 +393,6 @@ public class PowerGroup {
// doze after screen off. This causes the screen off transition to be skipped.
}
// It is important that POLICY_VR check happens after the wakefulness checks above so
// that VR-mode does not prevent displays from transitioning to the correct state when
// dozing or sleeping.
if (vrModeEnabled) {
return DisplayPowerRequest.POLICY_VR;
}
if ((wakeLockSummary & WAKE_LOCK_SCREEN_BRIGHT) != 0
|| !bootCompleted
|| (getUserActivitySummaryLocked() & USER_ACTIVITY_SCREEN_BRIGHT) != 0
@@ -423,10 +411,10 @@ public class PowerGroup {
boolean useProximitySensor, boolean boostScreenBrightness, int dozeScreenState,
float dozeScreenBrightness, boolean overrideDrawWakeLock,
PowerSaveState powerSaverState, boolean quiescent, boolean dozeAfterScreenOff,
boolean vrModeEnabled, boolean bootCompleted, boolean screenBrightnessBoostInProgress,
boolean bootCompleted, boolean screenBrightnessBoostInProgress,
boolean waitForNegativeProximity) {
mDisplayPowerRequest.policy = getDesiredScreenPolicyLocked(quiescent, dozeAfterScreenOff,
vrModeEnabled, bootCompleted, screenBrightnessBoostInProgress);
bootCompleted, screenBrightnessBoostInProgress);
mDisplayPowerRequest.screenBrightnessOverride = screenBrightnessOverride;
mDisplayPowerRequest.useAutoBrightness = autoBrightness;
mDisplayPowerRequest.useProximitySensor = useProximitySensor;

View File

@@ -90,8 +90,6 @@ import android.os.WorkSource.WorkChain;
import android.provider.Settings;
import android.provider.Settings.SettingNotFoundException;
import android.service.dreams.DreamManagerInternal;
import android.service.vr.IVrManager;
import android.service.vr.IVrStateCallbacks;
import android.sysprop.InitProperties;
import android.sysprop.PowerProperties;
import android.util.ArrayMap;
@@ -196,8 +194,6 @@ public final class PowerManagerService extends SystemService
private static final int DIRTY_SCREEN_BRIGHTNESS_BOOST = 1 << 11;
// Dirty bit: sQuiescent changed
private static final int DIRTY_QUIESCENT = 1 << 12;
// Dirty bit: VR Mode enabled changed
private static final int DIRTY_VR_MODE_CHANGED = 1 << 13;
// Dirty bit: attentive timer may have timed out
private static final int DIRTY_ATTENTIVE = 1 << 14;
// Dirty bit: display group wakefulness has changed
@@ -580,9 +576,6 @@ public final class PowerManagerService extends SystemService
public final float mScreenBrightnessDefault;
public final float mScreenBrightnessDoze;
public final float mScreenBrightnessDim;
public final float mScreenBrightnessMinimumVr;
public final float mScreenBrightnessMaximumVr;
public final float mScreenBrightnessDefaultVr;
// Value we store for tracking face down behavior.
private boolean mIsFaceDown = false;
@@ -666,9 +659,6 @@ public final class PowerManagerService extends SystemService
// True if double tap to wake is enabled
private boolean mDoubleTapWakeEnabled;
// True if we are currently in VR Mode.
private boolean mIsVrModeEnabled;
// True if we in the process of performing a forceSuspend
private boolean mForceSuspendActive;
@@ -1145,29 +1135,6 @@ public final class PowerManagerService extends SystemService
mScreenBrightnessDim = dim;
}
final float vrMin = mContext.getResources().getFloat(com.android.internal.R.dimen
.config_screenBrightnessSettingForVrMinimumFloat);
final float vrMax = mContext.getResources().getFloat(com.android.internal.R.dimen
.config_screenBrightnessSettingForVrMaximumFloat);
final float vrDef = mContext.getResources().getFloat(com.android.internal.R.dimen
.config_screenBrightnessSettingForVrDefaultFloat);
if (vrMin == INVALID_BRIGHTNESS_IN_CONFIG || vrMax == INVALID_BRIGHTNESS_IN_CONFIG
|| vrDef == INVALID_BRIGHTNESS_IN_CONFIG) {
mScreenBrightnessMinimumVr = BrightnessSynchronizer.brightnessIntToFloat(
mContext.getResources().getInteger(com.android.internal.R.integer
.config_screenBrightnessForVrSettingMinimum));
mScreenBrightnessMaximumVr = BrightnessSynchronizer.brightnessIntToFloat(
mContext.getResources().getInteger(com.android.internal.R.integer
.config_screenBrightnessForVrSettingMaximum));
mScreenBrightnessDefaultVr = BrightnessSynchronizer.brightnessIntToFloat(
mContext.getResources().getInteger(com.android.internal.R.integer
.config_screenBrightnessForVrSettingDefault));
} else {
mScreenBrightnessMinimumVr = vrMin;
mScreenBrightnessMaximumVr = vrMax;
mScreenBrightnessDefaultVr = vrDef;
}
synchronized (mLock) {
mBootingSuspendBlocker =
mInjector.createSuspendBlocker(this, "PowerManagerService.Booting");
@@ -1373,14 +1340,6 @@ public final class PowerManagerService extends SystemService
resolver.registerContentObserver(Settings.Global.getUriFor(
Settings.Global.DEVICE_DEMO_MODE),
false, mSettingsObserver, UserHandle.USER_SYSTEM);
IVrManager vrManager = IVrManager.Stub.asInterface(getBinderService(Context.VR_SERVICE));
if (vrManager != null) {
try {
vrManager.registerListener(mVrStateCallbacks);
} catch (RemoteException e) {
Slog.e(TAG, "Failed to register VR mode state listener: " + e);
}
}
// Register for broadcasts from other components of the system.
IntentFilter filter = new IntentFilter();
@@ -2848,7 +2807,7 @@ public final class PowerManagerService extends SystemService
>= powerGroup.getLastWakeTimeLocked()) {
groupNextTimeout = lastUserActivityTimeNoChangeLights + screenOffTimeout;
if (now < groupNextTimeout) {
if (powerGroup.isPolicyBrightLocked() || powerGroup.isPolicyVrLocked()) {
if (powerGroup.isPolicyBrightLocked()) {
groupUserActivitySummary = USER_ACTIVITY_SCREEN_BRIGHT;
} else if (powerGroup.isPolicyDimLocked()) {
groupUserActivitySummary = USER_ACTIVITY_SCREEN_DIM;
@@ -3415,7 +3374,6 @@ public final class PowerManagerService extends SystemService
|| !mDreamsSupportedConfig
|| !mDreamsEnabledSetting
|| !(powerGroup.isBrightOrDimLocked())
|| powerGroup.isPolicyVrLocked()
|| (powerGroup.getUserActivitySummaryLocked() & (USER_ACTIVITY_SCREEN_BRIGHT
| USER_ACTIVITY_SCREEN_DIM | USER_ACTIVITY_SCREEN_DREAM)) == 0) {
return false;
@@ -3460,8 +3418,8 @@ public final class PowerManagerService extends SystemService
final boolean oldPowerGroupsReady = areAllPowerGroupsReadyLocked();
if ((dirty & (DIRTY_WAKE_LOCKS | DIRTY_USER_ACTIVITY | DIRTY_WAKEFULNESS
| DIRTY_ACTUAL_DISPLAY_POWER_STATE_UPDATED | DIRTY_BOOT_COMPLETED
| DIRTY_SETTINGS | DIRTY_SCREEN_BRIGHTNESS_BOOST | DIRTY_VR_MODE_CHANGED |
DIRTY_QUIESCENT | DIRTY_DISPLAY_GROUP_WAKEFULNESS)) != 0) {
| DIRTY_SETTINGS | DIRTY_SCREEN_BRIGHTNESS_BOOST
| DIRTY_QUIESCENT | DIRTY_DISPLAY_GROUP_WAKEFULNESS)) != 0) {
if ((dirty & DIRTY_QUIESCENT) != 0) {
if (areAllPowerGroupsReadyLocked()) {
sQuiescent = false;
@@ -3496,7 +3454,7 @@ public final class PowerManagerService extends SystemService
mDozeScreenBrightnessOverrideFromDreamManagerFloat,
mDrawWakeLockOverrideFromSidekick,
mBatterySaverPolicy.getBatterySaverPolicy(ServiceType.SCREEN_BRIGHTNESS),
sQuiescent, mDozeAfterScreenOff, mIsVrModeEnabled, mBootCompleted,
sQuiescent, mDozeAfterScreenOff, mBootCompleted,
mScreenBrightnessBoostInProgress, mRequestWaitForNegativeProximity);
int wakefulness = powerGroup.getWakefulnessLocked();
if (DEBUG_SPEW) {
@@ -3514,7 +3472,6 @@ public final class PowerManagerService extends SystemService
+ ", useAutoBrightness=" + autoBrightness
+ ", mScreenBrightnessBoostInProgress="
+ mScreenBrightnessBoostInProgress
+ ", mIsVrModeEnabled= " + mIsVrModeEnabled
+ ", sQuiescent=" + sQuiescent);
}
@@ -3562,7 +3519,7 @@ public final class PowerManagerService extends SystemService
}
private boolean shouldBoostScreenBrightness() {
return !mIsVrModeEnabled && mScreenBrightnessBoostInProgress;
return mScreenBrightnessBoostInProgress;
}
private static boolean isValidBrightness(float value) {
@@ -3573,7 +3530,7 @@ public final class PowerManagerService extends SystemService
@GuardedBy("mLock")
int getDesiredScreenPolicyLocked(int groupId) {
return mPowerGroups.get(groupId).getDesiredScreenPolicyLocked(sQuiescent,
mDozeAfterScreenOff, mIsVrModeEnabled, mBootCompleted,
mDozeAfterScreenOff, mBootCompleted,
mScreenBrightnessBoostInProgress);
}
@@ -3654,8 +3611,7 @@ public final class PowerManagerService extends SystemService
@GuardedBy("mLock")
private boolean shouldUseProximitySensorLocked() {
// Use default display group for proximity sensor.
return !mIsVrModeEnabled
&& (mPowerGroups.get(Display.DEFAULT_DISPLAY_GROUP).getWakeLockSummaryLocked()
return (mPowerGroups.get(Display.DEFAULT_DISPLAY_GROUP).getWakeLockSummaryLocked()
& WAKE_LOCK_PROXIMITY_SCREEN_OFF) != 0;
}
@@ -4279,11 +4235,6 @@ public final class PowerManagerService extends SystemService
}
}
@VisibleForTesting
void setVrModeEnabled(boolean enabled) {
mIsVrModeEnabled = enabled;
}
private void setPowerBoostInternal(int boost, int durationMs) {
// Maybe filter the event.
mNativeWrapper.nativeSetPowerBoost(boost, durationMs);
@@ -4553,7 +4504,6 @@ public final class PowerManagerService extends SystemService
pw.println(" mScreenBrightnessMaximum=" + mScreenBrightnessMaximum);
pw.println(" mScreenBrightnessDefault=" + mScreenBrightnessDefault);
pw.println(" mDoubleTapWakeEnabled=" + mDoubleTapWakeEnabled);
pw.println(" mIsVrModeEnabled=" + mIsVrModeEnabled);
pw.println(" mForegroundProfile=" + mForegroundProfile);
pw.println(" mUserId=" + mUserId);
@@ -4964,9 +4914,6 @@ public final class PowerManagerService extends SystemService
proto.write(
PowerServiceSettingsAndConfigurationDumpProto.IS_DOUBLE_TAP_WAKE_ENABLED,
mDoubleTapWakeEnabled);
proto.write(
PowerServiceSettingsAndConfigurationDumpProto.IS_VR_MODE_ENABLED,
mIsVrModeEnabled);
proto.end(settingsAndConfigurationToken);
final long attentiveTimeout = getAttentiveTimeoutLocked();
@@ -5095,21 +5042,6 @@ public final class PowerManagerService extends SystemService
}
}
private final IVrStateCallbacks mVrStateCallbacks = new IVrStateCallbacks.Stub() {
@Override
public void onVrStateChanged(boolean enabled) {
setPowerModeInternal(Mode.VR, enabled);
synchronized (mLock) {
if (mIsVrModeEnabled != enabled) {
setVrModeEnabled(enabled);
mDirty |= DIRTY_VR_MODE_CHANGED;
updatePowerStateLocked();
}
}
}
};
private final AmbientDisplaySuppressionChangedCallback mAmbientSuppressionChangedCallback =
new AmbientDisplaySuppressionChangedCallback() {
@Override
@@ -5837,12 +5769,6 @@ public final class PowerManagerService extends SystemService
return mScreenBrightnessDim;
case PowerManager.BRIGHTNESS_CONSTRAINT_TYPE_DOZE:
return mScreenBrightnessDoze;
case PowerManager.BRIGHTNESS_CONSTRAINT_TYPE_MINIMUM_VR:
return mScreenBrightnessMinimumVr;
case PowerManager.BRIGHTNESS_CONSTRAINT_TYPE_MAXIMUM_VR:
return mScreenBrightnessMaximumVr;
case PowerManager.BRIGHTNESS_CONSTRAINT_TYPE_DEFAULT_VR:
return mScreenBrightnessDefaultVr;
default:
return PowerManager.BRIGHTNESS_INVALID_FLOAT;
}
@@ -6626,7 +6552,6 @@ public final class PowerManagerService extends SystemService
case Display.STATE_DOZE_SUSPEND:
case Display.STATE_ON_SUSPEND:
case Display.STATE_ON:
case Display.STATE_VR:
break;
default:
screenState = Display.STATE_UNKNOWN;

View File

@@ -20,7 +20,6 @@ import static android.hardware.display.DisplayManagerInternal.DisplayPowerReques
import static android.hardware.display.DisplayManagerInternal.DisplayPowerRequest.POLICY_DIM;
import static android.hardware.display.DisplayManagerInternal.DisplayPowerRequest.POLICY_DOZE;
import static android.hardware.display.DisplayManagerInternal.DisplayPowerRequest.POLICY_OFF;
import static android.hardware.display.DisplayManagerInternal.DisplayPowerRequest.POLICY_VR;
import static android.provider.DeviceConfig.NAMESPACE_ATTENTION_MANAGER_SERVICE;
import static android.view.Display.DEFAULT_DISPLAY_GROUP;
@@ -59,8 +58,7 @@ public class ScreenUndimDetectorTest {
Arrays.asList(POLICY_OFF,
POLICY_DOZE,
POLICY_DIM,
POLICY_BRIGHT,
POLICY_VR);
POLICY_BRIGHT);
private static final int OTHER_DISPLAY_GROUP = DEFAULT_DISPLAY_GROUP + 1;
@ClassRule
@@ -291,7 +289,7 @@ public class ScreenUndimDetectorTest {
@Test
public void recordScreenPolicy_dimToNonBright_resets() {
for (int to : Arrays.asList(POLICY_OFF, POLICY_DOZE, POLICY_VR)) {
for (int to : Arrays.asList(POLICY_OFF, POLICY_DOZE)) {
setup();
mScreenUndimDetector.mUndimCounter = 1;
mScreenUndimDetector.mUndimCounterStartedMillis = 123;
@@ -309,7 +307,7 @@ public class ScreenUndimDetectorTest {
@Test
public void recordScreenPolicy_brightToNonDim_resets() {
for (int to : Arrays.asList(POLICY_OFF, POLICY_DOZE, POLICY_VR)) {
for (int to : Arrays.asList(POLICY_OFF, POLICY_DOZE)) {
setup();
mScreenUndimDetector.mUndimCounter = 1;
mScreenUndimDetector.mUndimCounterStartedMillis = 123;

View File

@@ -21,7 +21,6 @@ import static android.hardware.display.DisplayManagerInternal.DisplayPowerReques
import static android.hardware.display.DisplayManagerInternal.DisplayPowerRequest.POLICY_DIM;
import static android.hardware.display.DisplayManagerInternal.DisplayPowerRequest.POLICY_DOZE;
import static android.hardware.display.DisplayManagerInternal.DisplayPowerRequest.POLICY_OFF;
import static android.hardware.display.DisplayManagerInternal.DisplayPowerRequest.POLICY_VR;
import static android.os.PowerManager.GO_TO_SLEEP_REASON_APPLICATION;
import static android.os.PowerManager.GO_TO_SLEEP_REASON_DEVICE_ADMIN;
import static android.os.PowerManager.GO_TO_SLEEP_REASON_DEVICE_FOLD;
@@ -267,7 +266,6 @@ public class PowerGroupTest {
powerSaveState,
/* quiescent= */ false,
/* dozeAfterScreenOff= */ false,
/* vrModeEnabled= */ false,
/* bootCompleted= */ true,
/* screenBrightnessBoostInProgress= */ false,
/* waitForNegativeProximity= */ false);
@@ -308,7 +306,6 @@ public class PowerGroupTest {
powerSaveState,
/* quiescent= */ false,
/* dozeAfterScreenOff= */ false,
/* vrModeEnabled= */ false,
/* bootCompleted= */ true,
/* screenBrightnessBoostInProgress= */ false,
/* waitForNegativeProximity= */ false);
@@ -348,7 +345,6 @@ public class PowerGroupTest {
powerSaveState,
/* quiescent= */ false,
/* dozeAfterScreenOff= */ true,
/* vrModeEnabled= */ false,
/* bootCompleted= */ true,
/* screenBrightnessBoostInProgress= */ false,
/* waitForNegativeProximity= */ false);
@@ -387,7 +383,6 @@ public class PowerGroupTest {
powerSaveState,
/* quiescent= */ true,
/* dozeAfterScreenOff= */ true,
/* vrModeEnabled= */ false,
/* bootCompleted= */ true,
/* screenBrightnessBoostInProgress= */ false,
/* waitForNegativeProximity= */ false);
@@ -406,83 +401,6 @@ public class PowerGroupTest {
brightnessFactor);
}
@Test
public void testUpdateWhileAsleep_VrModeEnabled() {
final boolean batterySaverEnabled = false;
float brightnessFactor = 0.3f;
PowerSaveState powerSaveState = new PowerSaveState.Builder()
.setBatterySaverEnabled(batterySaverEnabled)
.setBrightnessFactor(brightnessFactor)
.build();
mPowerGroup.sleepLocked(TIMESTAMP1, UID, GO_TO_SLEEP_REASON_TIMEOUT);
assertThat(mPowerGroup.getWakefulnessLocked()).isEqualTo(WAKEFULNESS_ASLEEP);
mPowerGroup.updateLocked(/* screenBrightnessOverride= */ BRIGHTNESS,
/* autoBrightness = */ true,
/* useProximitySensor= */ true,
/* boostScreenBrightness= */ true,
/* dozeScreenStateOverride= */ Display.STATE_ON,
/* dozeScreenBrightness= */ BRIGHTNESS_DOZE,
/* overrideDrawWakeLock= */ false,
powerSaveState,
/* quiescent= */ false,
/* dozeAfterScreenOff= */ true,
/* vrModeEnabled= */ true,
/* bootCompleted= */ true,
/* screenBrightnessBoostInProgress= */ false,
/* waitForNegativeProximity= */ false);
DisplayManagerInternal.DisplayPowerRequest displayPowerRequest =
mPowerGroup.mDisplayPowerRequest;
assertThat(displayPowerRequest.policy).isEqualTo(POLICY_OFF);
assertThat(displayPowerRequest.screenBrightnessOverride).isWithin(PRECISION).of(BRIGHTNESS);
assertThat(displayPowerRequest.useAutoBrightness).isEqualTo(true);
assertThat(displayPowerRequest.useProximitySensor).isEqualTo(true);
assertThat(displayPowerRequest.boostScreenBrightness).isEqualTo(true);
assertThat(displayPowerRequest.dozeScreenState).isEqualTo(Display.STATE_UNKNOWN);
assertThat(displayPowerRequest.dozeScreenBrightness).isEqualTo(
PowerManager.BRIGHTNESS_INVALID_FLOAT);
assertThat(displayPowerRequest.lowPowerMode).isEqualTo(batterySaverEnabled);
assertThat(displayPowerRequest.screenLowPowerBrightnessFactor).isWithin(PRECISION).of(
brightnessFactor);
}
@Test
public void testUpdateWhileAwake_VrModeEnabled() {
final boolean batterySaverEnabled = false;
float brightnessFactor = 0.3f;
PowerSaveState powerSaveState = new PowerSaveState.Builder()
.setBatterySaverEnabled(batterySaverEnabled)
.setBrightnessFactor(brightnessFactor)
.build();
assertThat(mPowerGroup.getWakefulnessLocked()).isEqualTo(WAKEFULNESS_AWAKE);
mPowerGroup.updateLocked(/* screenBrightnessOverride= */ BRIGHTNESS,
/* autoBrightness = */ true,
/* useProximitySensor= */ true,
/* boostScreenBrightness= */ true,
/* dozeScreenStateOverride= */ Display.STATE_ON,
/* dozeScreenBrightness= */ BRIGHTNESS_DOZE,
/* overrideDrawWakeLock= */ false,
powerSaveState,
/* quiescent= */ false,
/* dozeAfterScreenOff= */ true,
/* vrModeEnabled= */ true,
/* bootCompleted= */ true,
/* screenBrightnessBoostInProgress= */ false,
/* waitForNegativeProximity= */ false);
DisplayManagerInternal.DisplayPowerRequest displayPowerRequest =
mPowerGroup.mDisplayPowerRequest;
assertThat(displayPowerRequest.policy).isEqualTo(POLICY_VR);
assertThat(displayPowerRequest.screenBrightnessOverride).isWithin(PRECISION).of(BRIGHTNESS);
assertThat(displayPowerRequest.useAutoBrightness).isEqualTo(true);
assertThat(displayPowerRequest.useProximitySensor).isEqualTo(true);
assertThat(displayPowerRequest.boostScreenBrightness).isEqualTo(true);
assertThat(displayPowerRequest.dozeScreenState).isEqualTo(Display.STATE_UNKNOWN);
assertThat(displayPowerRequest.dozeScreenBrightness).isEqualTo(
PowerManager.BRIGHTNESS_INVALID_FLOAT);
assertThat(displayPowerRequest.lowPowerMode).isEqualTo(batterySaverEnabled);
assertThat(displayPowerRequest.screenLowPowerBrightnessFactor).isWithin(PRECISION).of(
brightnessFactor);
}
@Test
public void testUpdateWhileAsleep_UpdatesDisplayPowerRequest() {
final boolean batterySaverEnabled = false;
@@ -503,7 +421,6 @@ public class PowerGroupTest {
powerSaveState,
/* quiescent= */ false,
/* dozeAfterScreenOff= */ false,
/* vrModeEnabled= */ false,
/* bootCompleted= */ true,
/* screenBrightnessBoostInProgress= */ false,
/* waitForNegativeProximity= */ false);
@@ -543,7 +460,6 @@ public class PowerGroupTest {
powerSaveState,
/* quiescent= */ false,
/* dozeAfterScreenOff= */ false,
/* vrModeEnabled= */ false,
/* bootCompleted= */ true,
/* screenBrightnessBoostInProgress= */ false,
/* waitForNegativeProximity= */ false);
@@ -581,7 +497,6 @@ public class PowerGroupTest {
powerSaveState,
/* quiescent= */ false,
/* dozeAfterScreenOff= */ false,
/* vrModeEnabled= */ false,
/* bootCompleted= */ false,
/* screenBrightnessBoostInProgress= */ false,
/* waitForNegativeProximity= */ false);
@@ -620,7 +535,6 @@ public class PowerGroupTest {
powerSaveState,
/* quiescent= */ false,
/* dozeAfterScreenOff= */ false,
/* vrModeEnabled= */ false,
/* bootCompleted= */ true,
/* screenBrightnessBoostInProgress= */ false,
/* waitForNegativeProximity= */ false);
@@ -658,7 +572,6 @@ public class PowerGroupTest {
powerSaveState,
/* quiescent= */ false,
/* dozeAfterScreenOff= */ false,
/* vrModeEnabled= */ false,
/* bootCompleted= */ true,
/* screenBrightnessBoostInProgress= */ true,
/* waitForNegativeProximity= */ false);

View File

@@ -453,39 +453,6 @@ public class PowerManagerServiceTest {
assertThat(reason).isEqualTo(PowerManager.SHUTDOWN_REASON_THERMAL_SHUTDOWN);
}
@Test
public void testGetDesiredScreenPolicy_WithVR() {
createService();
startSystem();
// Brighten up the screen
mService.setWakefulnessLocked(Display.DEFAULT_DISPLAY_GROUP, WAKEFULNESS_AWAKE, 0, 0, 0, 0,
null, null);
assertThat(mService.getDesiredScreenPolicyLocked(Display.DEFAULT_DISPLAY)).isEqualTo(
DisplayPowerRequest.POLICY_BRIGHT);
// Move to VR
mService.setVrModeEnabled(true);
assertThat(mService.getDesiredScreenPolicyLocked(Display.DEFAULT_DISPLAY)).isEqualTo(
DisplayPowerRequest.POLICY_VR);
// Then take a nap
mService.setWakefulnessLocked(Display.DEFAULT_DISPLAY_GROUP, WAKEFULNESS_ASLEEP, 0, 0, 0, 0,
null, null);
assertThat(mService.getDesiredScreenPolicyLocked(Display.DEFAULT_DISPLAY)).isEqualTo(
DisplayPowerRequest.POLICY_OFF);
// Wake up to VR
mService.setWakefulnessLocked(Display.DEFAULT_DISPLAY_GROUP, WAKEFULNESS_AWAKE, 0, 0, 0, 0,
null, null);
assertThat(mService.getDesiredScreenPolicyLocked(Display.DEFAULT_DISPLAY)).isEqualTo(
DisplayPowerRequest.POLICY_VR);
// And back to normal
mService.setVrModeEnabled(false);
assertThat(mService.getDesiredScreenPolicyLocked(Display.DEFAULT_DISPLAY)).isEqualTo(
DisplayPowerRequest.POLICY_BRIGHT);
}
@Test
public void testWakefulnessAwake_InitialValue() {
createService();
@@ -1787,10 +1754,8 @@ public class PowerManagerServiceTest {
when(mNativeWrapperMock.nativeSetPowerMode(anyInt(), anyBoolean())).thenReturn(true);
mService.getBinderServiceInstance().setPowerMode(Mode.LAUNCH, true);
mService.getBinderServiceInstance().setPowerMode(Mode.VR, false);
verify(mNativeWrapperMock).nativeSetPowerMode(eq(Mode.LAUNCH), eq(true));
verify(mNativeWrapperMock).nativeSetPowerMode(eq(Mode.VR), eq(false));
}
@Test