Merge "AOD: Skip prox check if cached prox value available" into oc-dr1-dev am: f96573f894

am: aab2573caf

Change-Id: I44975aa2357d500093600353fe1a7dc28cf54c15
This commit is contained in:
Adrian Roos
2017-07-25 14:05:36 +00:00
committed by android-build-merger
2 changed files with 10 additions and 0 deletions

View File

@@ -184,6 +184,13 @@ public class DozeSensors {
pw.print("ProxSensor: "); pw.println(mProxSensor.toString());
}
/**
* @return true if prox is currently far, false if near or null if unknown.
*/
public Boolean isProximityCurrentlyFar() {
return mProxSensor.mCurrentlyFar;
}
private class ProxSensor implements SensorEventListener {
static final long COOLDOWN_TRIGGER = 2 * 1000;

View File

@@ -103,8 +103,11 @@ public class DozeTriggers implements DozeMachine.Part {
private void proximityCheckThenCall(IntConsumer callback,
boolean alreadyPerformedProxCheck,
int pulseReason) {
Boolean cachedProxFar = mDozeSensors.isProximityCurrentlyFar();
if (alreadyPerformedProxCheck) {
callback.accept(ProximityCheck.RESULT_NOT_CHECKED);
} else if (cachedProxFar != null) {
callback.accept(cachedProxFar ? ProximityCheck.RESULT_FAR : ProximityCheck.RESULT_NEAR);
} else {
final long start = SystemClock.uptimeMillis();
new ProximityCheck() {