Use SystemClock.elapsedRealtime() instead of sensor timestamp
when processing light and proximity events.
This should fix loss of 2 second hysterisis for light sensor (b/2243521)
Change-Id: Ia3ce331e67d803eb5e51810cb7161b7c528312d7
Signed-off-by: Mike Lockwood <lockwood@android.com>
diff --git a/services/java/com/android/server/PowerManagerService.java b/services/java/com/android/server/PowerManagerService.java
index 596325c..fd518c3 100644
--- a/services/java/com/android/server/PowerManagerService.java
+++ b/services/java/com/android/server/PowerManagerService.java
@@ -2416,7 +2416,7 @@
SensorEventListener mProximityListener = new SensorEventListener() {
public void onSensorChanged(SensorEvent event) {
- long milliseconds = event.timestamp / 1000000;
+ long milliseconds = SystemClock.elapsedRealtime();
synchronized (mLocks) {
float distance = event.values[0];
long timeSinceLastEvent = milliseconds - mLastProximityEventTime;
@@ -2453,7 +2453,7 @@
}
int value = (int)event.values[0];
- long milliseconds = event.timestamp / 1000000;
+ long milliseconds = SystemClock.elapsedRealtime();
if (mDebugLightSensor) {
Log.d(TAG, "onSensorChanged: light value: " + value);
}