Loading services/java/com/android/server/power/DisplayPowerController.java +18 −7 Original line number Original line Diff line number Diff line Loading @@ -70,6 +70,12 @@ final class DisplayPowerController { private static final boolean DEBUG_PRETEND_PROXIMITY_SENSOR_ABSENT = false; private static final boolean DEBUG_PRETEND_PROXIMITY_SENSOR_ABSENT = false; private static final boolean DEBUG_PRETEND_LIGHT_SENSOR_ABSENT = false; private static final boolean DEBUG_PRETEND_LIGHT_SENSOR_ABSENT = false; // If true, uses the electron beam on animation. // We might want to turn this off if we cannot get a guarantee that the screen // actually turns on and starts showing new content after the call to set the // screen state returns. private static final boolean USE_ELECTRON_BEAM_ON_ANIMATION = true; private static final int ELECTRON_BEAM_ON_ANIMATION_DURATION_MILLIS = 300; private static final int ELECTRON_BEAM_ON_ANIMATION_DURATION_MILLIS = 300; private static final int ELECTRON_BEAM_OFF_ANIMATION_DURATION_MILLIS = 600; private static final int ELECTRON_BEAM_OFF_ANIMATION_DURATION_MILLIS = 600; Loading Loading @@ -550,6 +556,7 @@ final class DisplayPowerController { // on animation immediately then the results are pretty ugly. // on animation immediately then the results are pretty ugly. if (!mElectronBeamOffAnimator.isStarted()) { if (!mElectronBeamOffAnimator.isStarted()) { setScreenOn(true); setScreenOn(true); if (USE_ELECTRON_BEAM_ON_ANIMATION) { if (!mElectronBeamOnAnimator.isStarted()) { if (!mElectronBeamOnAnimator.isStarted()) { if (mPowerState.getElectronBeamLevel() == 1.0f) { if (mPowerState.getElectronBeamLevel() == 1.0f) { mPowerState.dismissElectronBeam(); mPowerState.dismissElectronBeam(); Loading @@ -559,6 +566,10 @@ final class DisplayPowerController { mElectronBeamOnAnimator.end(); mElectronBeamOnAnimator.end(); } } } } } else { mPowerState.setElectronBeamLevel(1.0f); mPowerState.dismissElectronBeam(); } } } } else { } else { // Want screen off. // Want screen off. Loading services/java/com/android/server/power/DisplayPowerState.java +3 −2 Original line number Original line Diff line number Diff line Loading @@ -242,8 +242,9 @@ final class DisplayPowerState { mElectronBeam.draw(mElectronBeamLevel); mElectronBeam.draw(mElectronBeamLevel); } } if ((mDirty & (DIRTY_BRIGHTNESS | DIRTY_SCREEN_ON)) != 0) { if ((mDirty & (DIRTY_BRIGHTNESS | DIRTY_SCREEN_ON | DIRTY_ELECTRON_BEAM)) != 0) { mScreenBrightnessModulator.setBrightness(mScreenOn ? mScreenBrightness : 0); mScreenBrightnessModulator.setBrightness(mScreenOn ? (int)(mScreenBrightness * mElectronBeamLevel) : 0); } } if ((mDirty & DIRTY_SCREEN_ON) != 0 && mScreenOn) { if ((mDirty & DIRTY_SCREEN_ON) != 0 && mScreenOn) { Loading Loading
services/java/com/android/server/power/DisplayPowerController.java +18 −7 Original line number Original line Diff line number Diff line Loading @@ -70,6 +70,12 @@ final class DisplayPowerController { private static final boolean DEBUG_PRETEND_PROXIMITY_SENSOR_ABSENT = false; private static final boolean DEBUG_PRETEND_PROXIMITY_SENSOR_ABSENT = false; private static final boolean DEBUG_PRETEND_LIGHT_SENSOR_ABSENT = false; private static final boolean DEBUG_PRETEND_LIGHT_SENSOR_ABSENT = false; // If true, uses the electron beam on animation. // We might want to turn this off if we cannot get a guarantee that the screen // actually turns on and starts showing new content after the call to set the // screen state returns. private static final boolean USE_ELECTRON_BEAM_ON_ANIMATION = true; private static final int ELECTRON_BEAM_ON_ANIMATION_DURATION_MILLIS = 300; private static final int ELECTRON_BEAM_ON_ANIMATION_DURATION_MILLIS = 300; private static final int ELECTRON_BEAM_OFF_ANIMATION_DURATION_MILLIS = 600; private static final int ELECTRON_BEAM_OFF_ANIMATION_DURATION_MILLIS = 600; Loading Loading @@ -550,6 +556,7 @@ final class DisplayPowerController { // on animation immediately then the results are pretty ugly. // on animation immediately then the results are pretty ugly. if (!mElectronBeamOffAnimator.isStarted()) { if (!mElectronBeamOffAnimator.isStarted()) { setScreenOn(true); setScreenOn(true); if (USE_ELECTRON_BEAM_ON_ANIMATION) { if (!mElectronBeamOnAnimator.isStarted()) { if (!mElectronBeamOnAnimator.isStarted()) { if (mPowerState.getElectronBeamLevel() == 1.0f) { if (mPowerState.getElectronBeamLevel() == 1.0f) { mPowerState.dismissElectronBeam(); mPowerState.dismissElectronBeam(); Loading @@ -559,6 +566,10 @@ final class DisplayPowerController { mElectronBeamOnAnimator.end(); mElectronBeamOnAnimator.end(); } } } } } else { mPowerState.setElectronBeamLevel(1.0f); mPowerState.dismissElectronBeam(); } } } } else { } else { // Want screen off. // Want screen off. Loading
services/java/com/android/server/power/DisplayPowerState.java +3 −2 Original line number Original line Diff line number Diff line Loading @@ -242,8 +242,9 @@ final class DisplayPowerState { mElectronBeam.draw(mElectronBeamLevel); mElectronBeam.draw(mElectronBeamLevel); } } if ((mDirty & (DIRTY_BRIGHTNESS | DIRTY_SCREEN_ON)) != 0) { if ((mDirty & (DIRTY_BRIGHTNESS | DIRTY_SCREEN_ON | DIRTY_ELECTRON_BEAM)) != 0) { mScreenBrightnessModulator.setBrightness(mScreenOn ? mScreenBrightness : 0); mScreenBrightnessModulator.setBrightness(mScreenOn ? (int)(mScreenBrightness * mElectronBeamLevel) : 0); } } if ((mDirty & DIRTY_SCREEN_ON) != 0 && mScreenOn) { if ((mDirty & DIRTY_SCREEN_ON) != 0 && mScreenOn) { Loading