diff options
| author | 2019-09-10 10:24:05 -0700 | |
|---|---|---|
| committer | 2019-09-10 10:24:05 -0700 | |
| commit | cc8c9466f3e71ef732ea9e2a543f45de5fc73d6c (patch) | |
| tree | 5192c60a27680550682bce85a0d726a2553fd459 | |
| parent | 2c4d0db5e8a95f38cbf7aae1e52bf6b2752bef1c (diff) | |
| parent | 79300f15d7e0890ad230977d2f53d28065fef68b (diff) | |
Merge "Fix issue where notif wouldn't HUN" into qt-qpr1-dev
am: 79300f15d7
Change-Id: Iba47e89125a57549b7fb315f09b15a3bd4a28819
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java b/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java index 00bfb3f7cae8..bab64db4519c 100644 --- a/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java +++ b/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java @@ -417,6 +417,9 @@ public class DozeTriggers implements DozeMachine.Part { mDozeSensors.dump(pw); } + /** + * @see DozeSensors.ProxSensor + */ private abstract class ProximityCheck implements SensorEventListener, Runnable { private static final int TIMEOUT_DELAY_MS = 500; @@ -428,6 +431,7 @@ public class DozeTriggers implements DozeMachine.Part { private boolean mRegistered; private boolean mFinished; private float mMaxRange; + private boolean mUsingBrightnessSensor; protected abstract void onProximityResult(int result); @@ -435,6 +439,7 @@ public class DozeTriggers implements DozeMachine.Part { Preconditions.checkState(!mFinished && !mRegistered); Sensor sensor = DozeSensors.findSensorWithType(mSensorManager, mContext.getString(R.string.doze_brightness_sensor_type)); + mUsingBrightnessSensor = sensor != null; if (sensor == null) { sensor = mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY); } @@ -453,6 +458,9 @@ public class DozeTriggers implements DozeMachine.Part { mRegistered = true; } + /** + * @see DozeSensors.ProxSensor#onSensorChanged(SensorEvent) + */ @Override public void onSensorChanged(SensorEvent event) { if (event.values.length == 0) { @@ -462,7 +470,14 @@ public class DozeTriggers implements DozeMachine.Part { if (DozeMachine.DEBUG) { Log.d(TAG, "ProxCheck: Event: value=" + event.values[0] + " max=" + mMaxRange); } - final boolean isNear = event.values[0] < mMaxRange; + final boolean isNear; + if (mUsingBrightnessSensor) { + // The custom brightness sensor is gated by the proximity sensor and will + // return 0 whenever prox is covered. + isNear = event.values[0] == 0; + } else { + isNear = event.values[0] < mMaxRange; + } finishWithResult(isNear ? RESULT_NEAR : RESULT_FAR); } } |