Loading packages/SystemUI/src/com/android/systemui/doze/DozeMachine.java +9 −0 Original line number Diff line number Diff line Loading @@ -199,6 +199,12 @@ public class DozeMachine { requestState(State.DOZE_REQUEST_PULSE, pulseReason); } void onScreenState(int state) { for (Part part : mParts) { part.onScreenState(state); } } private void requestState(State requestedState, int pulseReason) { Assert.isMainThread(); if (DEBUG) { Loading Loading @@ -423,6 +429,9 @@ public class DozeMachine { /** Give the Part a chance to clean itself up. */ default void destroy() {} /** Alerts that the screenstate is being changed. */ default void onScreenState(int state) {} } /** A wrapper interface for {@link android.service.dreams.DreamService} */ Loading packages/SystemUI/src/com/android/systemui/doze/DozeScreenBrightness.java +13 −8 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ import android.os.SystemProperties; import android.os.Trace; import android.os.UserHandle; import android.provider.Settings; import android.view.Display; import com.android.internal.annotations.VisibleForTesting; import com.android.systemui.broadcast.BroadcastDispatcher; Loading Loading @@ -68,6 +69,7 @@ public class DozeScreenBrightness extends BroadcastReceiver implements DozeMachi * --ei brightness_bucket 1} */ private int mDebugBrightnessBucket = -1; private DozeMachine.State mState; @VisibleForTesting public DozeScreenBrightness(Context context, DozeMachine.Service service, Loading Loading @@ -107,17 +109,10 @@ public class DozeScreenBrightness extends BroadcastReceiver implements DozeMachi @Override public void transitionTo(DozeMachine.State oldState, DozeMachine.State newState) { mState = newState; switch (newState) { case INITIALIZED: resetBrightnessToDefault(); break; case DOZE_AOD: case DOZE_REQUEST_PULSE: case DOZE_AOD_DOCKED: setLightSensorEnabled(true); break; case DOZE: setLightSensorEnabled(false); resetBrightnessToDefault(); break; case FINISH: Loading @@ -130,6 +125,16 @@ public class DozeScreenBrightness extends BroadcastReceiver implements DozeMachi } } @Override public void onScreenState(int state) { if (mState == DozeMachine.State.FINISH && !mScreenOff && (state == Display.STATE_DOZE || state == Display.STATE_DOZE_SUSPEND)) { setLightSensorEnabled(true); } else { setLightSensorEnabled(false); } } private void onDestroy() { setLightSensorEnabled(false); if (mDebuggable) { Loading packages/SystemUI/src/com/android/systemui/doze/DozeSensors.java +1 −19 Original line number Diff line number Diff line Loading @@ -66,7 +66,6 @@ public class DozeSensors { private final AlarmManager mAlarmManager; private final AsyncSensorManager mSensorManager; private final ContentResolver mResolver; private final TriggerSensor mPickupSensor; private final DozeParameters mDozeParameters; private final AmbientDisplayConfiguration mConfig; private final WakeLock mWakeLock; Loading @@ -80,7 +79,6 @@ public class DozeSensors { private long mDebounceFrom; private boolean mSettingRegistered; private boolean mListening; private boolean mPaused; @VisibleForTesting public enum DozeSensorsUiEvent implements UiEventLogger.UiEventEnum { Loading Loading @@ -121,7 +119,7 @@ public class DozeSensors { dozeParameters.getPulseOnSigMotion(), DozeLog.PULSE_REASON_SENSOR_SIGMOTION, false /* touchCoords */, false /* touchscreen */, dozeLog), mPickupSensor = new TriggerSensor( new TriggerSensor( mSensorManager.getDefaultSensor(Sensor.TYPE_PICK_UP_GESTURE), Settings.Secure.DOZE_PICK_UP_GESTURE, true /* settingDef */, Loading Loading @@ -231,18 +229,6 @@ public class DozeSensors { updateListening(); } /** * Unregister sensors, when listening, unless they are prox gated. * @see #setListening(boolean) */ public void setPaused(boolean paused) { if (mPaused == paused) { return; } mPaused = paused; updateListening(); } /** * Registers/unregisters sensors based on internal state. */ Loading Loading @@ -304,10 +290,6 @@ public class DozeSensors { } }; public void setDisableSensorsInterferingWithProximity(boolean disable) { mPickupSensor.setDisabled(disable); } /** Ignore the setting value of only the sensors that require the touchscreen. */ public void ignoreTouchScreenSensorsSettingInterferingWithDocking(boolean ignore) { for (TriggerSensor sensor : mSensors) { Loading packages/SystemUI/src/com/android/systemui/doze/DozeService.java +6 −0 Original line number Diff line number Diff line Loading @@ -130,4 +130,10 @@ public class DozeService extends DreamService mDozeMachine.requestState(DozeMachine.State.DOZE); } } @Override public void setDozeScreenState(int state) { super.setDozeScreenState(state); mDozeMachine.onScreenState(state); } } packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java +23 −8 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ import android.os.SystemClock; import android.os.UserHandle; import android.text.format.Formatter; import android.util.Log; import android.view.Display; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.logging.MetricsLogger; Loading Loading @@ -93,6 +94,9 @@ public class DozeTriggers implements DozeMachine.Part { private boolean mPulsePending; private final MetricsLogger mMetricsLogger = Dependency.get(MetricsLogger.class); private boolean mWantProx; private boolean mWantSensors; private boolean mWantTouchScreenSensors; @VisibleForTesting public enum DozingUpdateUiEvent implements UiEventLogger.UiEventEnum { Loading Loading @@ -384,24 +388,22 @@ public class DozeTriggers implements DozeMachine.Part { break; case DOZE: case DOZE_AOD: mDozeSensors.setProxListening(newState != DozeMachine.State.DOZE); mDozeSensors.setListening(true); mDozeSensors.setPaused(false); mWantProx = newState != DozeMachine.State.DOZE; mWantSensors = true; mWantTouchScreenSensors = true; if (newState == DozeMachine.State.DOZE_AOD && !sWakeDisplaySensorState) { onWakeScreen(false, newState); } break; case DOZE_AOD_PAUSED: case DOZE_AOD_PAUSING: mDozeSensors.setProxListening(true); mDozeSensors.setPaused(true); mWantProx = true; break; case DOZE_PULSING: case DOZE_PULSING_BRIGHT: case DOZE_AOD_DOCKED: mDozeSensors.setTouchscreenSensorsListening(false); mDozeSensors.setProxListening(true); mDozeSensors.setPaused(false); mWantProx = true; mWantTouchScreenSensors = false; break; case DOZE_PULSE_DONE: mDozeSensors.requestTemporaryDisable(); Loading @@ -420,6 +422,19 @@ public class DozeTriggers implements DozeMachine.Part { } } @Override public void onScreenState(int state) { if (state == Display.STATE_DOZE || state == Display.STATE_DOZE_SUSPEND || state == Display.STATE_OFF) { mDozeSensors.setProxListening(mWantProx); mDozeSensors.setListening(mWantSensors); mDozeSensors.setTouchscreenSensorsListening(mWantTouchScreenSensors); } else { mDozeSensors.setProxListening(false); mDozeSensors.setListening(false); } } private void checkTriggersAtInit() { if (mUiModeManager.getCurrentModeType() == Configuration.UI_MODE_TYPE_CAR || mDozeHost.isBlockingDoze() Loading Loading
packages/SystemUI/src/com/android/systemui/doze/DozeMachine.java +9 −0 Original line number Diff line number Diff line Loading @@ -199,6 +199,12 @@ public class DozeMachine { requestState(State.DOZE_REQUEST_PULSE, pulseReason); } void onScreenState(int state) { for (Part part : mParts) { part.onScreenState(state); } } private void requestState(State requestedState, int pulseReason) { Assert.isMainThread(); if (DEBUG) { Loading Loading @@ -423,6 +429,9 @@ public class DozeMachine { /** Give the Part a chance to clean itself up. */ default void destroy() {} /** Alerts that the screenstate is being changed. */ default void onScreenState(int state) {} } /** A wrapper interface for {@link android.service.dreams.DreamService} */ Loading
packages/SystemUI/src/com/android/systemui/doze/DozeScreenBrightness.java +13 −8 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ import android.os.SystemProperties; import android.os.Trace; import android.os.UserHandle; import android.provider.Settings; import android.view.Display; import com.android.internal.annotations.VisibleForTesting; import com.android.systemui.broadcast.BroadcastDispatcher; Loading Loading @@ -68,6 +69,7 @@ public class DozeScreenBrightness extends BroadcastReceiver implements DozeMachi * --ei brightness_bucket 1} */ private int mDebugBrightnessBucket = -1; private DozeMachine.State mState; @VisibleForTesting public DozeScreenBrightness(Context context, DozeMachine.Service service, Loading Loading @@ -107,17 +109,10 @@ public class DozeScreenBrightness extends BroadcastReceiver implements DozeMachi @Override public void transitionTo(DozeMachine.State oldState, DozeMachine.State newState) { mState = newState; switch (newState) { case INITIALIZED: resetBrightnessToDefault(); break; case DOZE_AOD: case DOZE_REQUEST_PULSE: case DOZE_AOD_DOCKED: setLightSensorEnabled(true); break; case DOZE: setLightSensorEnabled(false); resetBrightnessToDefault(); break; case FINISH: Loading @@ -130,6 +125,16 @@ public class DozeScreenBrightness extends BroadcastReceiver implements DozeMachi } } @Override public void onScreenState(int state) { if (mState == DozeMachine.State.FINISH && !mScreenOff && (state == Display.STATE_DOZE || state == Display.STATE_DOZE_SUSPEND)) { setLightSensorEnabled(true); } else { setLightSensorEnabled(false); } } private void onDestroy() { setLightSensorEnabled(false); if (mDebuggable) { Loading
packages/SystemUI/src/com/android/systemui/doze/DozeSensors.java +1 −19 Original line number Diff line number Diff line Loading @@ -66,7 +66,6 @@ public class DozeSensors { private final AlarmManager mAlarmManager; private final AsyncSensorManager mSensorManager; private final ContentResolver mResolver; private final TriggerSensor mPickupSensor; private final DozeParameters mDozeParameters; private final AmbientDisplayConfiguration mConfig; private final WakeLock mWakeLock; Loading @@ -80,7 +79,6 @@ public class DozeSensors { private long mDebounceFrom; private boolean mSettingRegistered; private boolean mListening; private boolean mPaused; @VisibleForTesting public enum DozeSensorsUiEvent implements UiEventLogger.UiEventEnum { Loading Loading @@ -121,7 +119,7 @@ public class DozeSensors { dozeParameters.getPulseOnSigMotion(), DozeLog.PULSE_REASON_SENSOR_SIGMOTION, false /* touchCoords */, false /* touchscreen */, dozeLog), mPickupSensor = new TriggerSensor( new TriggerSensor( mSensorManager.getDefaultSensor(Sensor.TYPE_PICK_UP_GESTURE), Settings.Secure.DOZE_PICK_UP_GESTURE, true /* settingDef */, Loading Loading @@ -231,18 +229,6 @@ public class DozeSensors { updateListening(); } /** * Unregister sensors, when listening, unless they are prox gated. * @see #setListening(boolean) */ public void setPaused(boolean paused) { if (mPaused == paused) { return; } mPaused = paused; updateListening(); } /** * Registers/unregisters sensors based on internal state. */ Loading Loading @@ -304,10 +290,6 @@ public class DozeSensors { } }; public void setDisableSensorsInterferingWithProximity(boolean disable) { mPickupSensor.setDisabled(disable); } /** Ignore the setting value of only the sensors that require the touchscreen. */ public void ignoreTouchScreenSensorsSettingInterferingWithDocking(boolean ignore) { for (TriggerSensor sensor : mSensors) { Loading
packages/SystemUI/src/com/android/systemui/doze/DozeService.java +6 −0 Original line number Diff line number Diff line Loading @@ -130,4 +130,10 @@ public class DozeService extends DreamService mDozeMachine.requestState(DozeMachine.State.DOZE); } } @Override public void setDozeScreenState(int state) { super.setDozeScreenState(state); mDozeMachine.onScreenState(state); } }
packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java +23 −8 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ import android.os.SystemClock; import android.os.UserHandle; import android.text.format.Formatter; import android.util.Log; import android.view.Display; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.logging.MetricsLogger; Loading Loading @@ -93,6 +94,9 @@ public class DozeTriggers implements DozeMachine.Part { private boolean mPulsePending; private final MetricsLogger mMetricsLogger = Dependency.get(MetricsLogger.class); private boolean mWantProx; private boolean mWantSensors; private boolean mWantTouchScreenSensors; @VisibleForTesting public enum DozingUpdateUiEvent implements UiEventLogger.UiEventEnum { Loading Loading @@ -384,24 +388,22 @@ public class DozeTriggers implements DozeMachine.Part { break; case DOZE: case DOZE_AOD: mDozeSensors.setProxListening(newState != DozeMachine.State.DOZE); mDozeSensors.setListening(true); mDozeSensors.setPaused(false); mWantProx = newState != DozeMachine.State.DOZE; mWantSensors = true; mWantTouchScreenSensors = true; if (newState == DozeMachine.State.DOZE_AOD && !sWakeDisplaySensorState) { onWakeScreen(false, newState); } break; case DOZE_AOD_PAUSED: case DOZE_AOD_PAUSING: mDozeSensors.setProxListening(true); mDozeSensors.setPaused(true); mWantProx = true; break; case DOZE_PULSING: case DOZE_PULSING_BRIGHT: case DOZE_AOD_DOCKED: mDozeSensors.setTouchscreenSensorsListening(false); mDozeSensors.setProxListening(true); mDozeSensors.setPaused(false); mWantProx = true; mWantTouchScreenSensors = false; break; case DOZE_PULSE_DONE: mDozeSensors.requestTemporaryDisable(); Loading @@ -420,6 +422,19 @@ public class DozeTriggers implements DozeMachine.Part { } } @Override public void onScreenState(int state) { if (state == Display.STATE_DOZE || state == Display.STATE_DOZE_SUSPEND || state == Display.STATE_OFF) { mDozeSensors.setProxListening(mWantProx); mDozeSensors.setListening(mWantSensors); mDozeSensors.setTouchscreenSensorsListening(mWantTouchScreenSensors); } else { mDozeSensors.setProxListening(false); mDozeSensors.setListening(false); } } private void checkTriggersAtInit() { if (mUiModeManager.getCurrentModeType() == Configuration.UI_MODE_TYPE_CAR || mDozeHost.isBlockingDoze() Loading