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>
This commit is contained in:
@ -2416,7 +2416,7 @@ class PowerManagerService extends IPowerManager.Stub
|
|||||||
|
|
||||||
SensorEventListener mProximityListener = new SensorEventListener() {
|
SensorEventListener mProximityListener = new SensorEventListener() {
|
||||||
public void onSensorChanged(SensorEvent event) {
|
public void onSensorChanged(SensorEvent event) {
|
||||||
long milliseconds = event.timestamp / 1000000;
|
long milliseconds = SystemClock.elapsedRealtime();
|
||||||
synchronized (mLocks) {
|
synchronized (mLocks) {
|
||||||
float distance = event.values[0];
|
float distance = event.values[0];
|
||||||
long timeSinceLastEvent = milliseconds - mLastProximityEventTime;
|
long timeSinceLastEvent = milliseconds - mLastProximityEventTime;
|
||||||
@ -2453,7 +2453,7 @@ class PowerManagerService extends IPowerManager.Stub
|
|||||||
}
|
}
|
||||||
|
|
||||||
int value = (int)event.values[0];
|
int value = (int)event.values[0];
|
||||||
long milliseconds = event.timestamp / 1000000;
|
long milliseconds = SystemClock.elapsedRealtime();
|
||||||
if (mDebugLightSensor) {
|
if (mDebugLightSensor) {
|
||||||
Log.d(TAG, "onSensorChanged: light value: " + value);
|
Log.d(TAG, "onSensorChanged: light value: " + value);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user