commit | f80d575de7506bcbe14bdb65b0ed02a4e121bf4f | [log] [tgz] |
---|---|---|
author | Chris Kuiper <ckuiper@google.com> | Thu Aug 05 02:35:31 2021 +0000 |
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | Thu Aug 05 02:35:31 2021 +0000 |
tree | d3538c54b5fa1b535017f44d2b808bb977a3db1c | |
parent | 96ff19f4c64dd197aa7986d3b98e54d43f9b9954 [diff] | |
parent | 92a114dc02b64924692ec20fbd2f6d5187818127 [diff] |
sensorservice: ProximitySensor needs to report correct sensor state. am: cebf2e6cd6 am: 92a114dc02 Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/15459770 Change-Id: Iba0ac2c980d02e48f051001d97ff5856d8f4eced
diff --git a/services/sensorservice/SensorInterface.cpp b/services/sensorservice/SensorInterface.cpp index 560834f..c285c00 100644 --- a/services/sensorservice/SensorInterface.cpp +++ b/services/sensorservice/SensorInterface.cpp
@@ -92,14 +92,16 @@ } status_t ProximitySensor::activate(void* ident, bool enabled) { - bool wasActive = mActive; + bool lastState = mSensorDevice.isSensorActive(mSensor.getHandle()); + status_t status = HardwareSensor::activate(ident, enabled); if (status != NO_ERROR) { return status; } - mActive = enabled; - if (wasActive != enabled) { - mSensorService.onProximityActiveLocked(enabled); + + bool currentState = mSensorDevice.isSensorActive(mSensor.getHandle()); + if (currentState != lastState) { + mSensorService.onProximityActiveLocked(currentState); } return NO_ERROR; }
diff --git a/services/sensorservice/SensorInterface.h b/services/sensorservice/SensorInterface.h index ea181c9..4e9f7bf 100644 --- a/services/sensorservice/SensorInterface.h +++ b/services/sensorservice/SensorInterface.h
@@ -119,7 +119,6 @@ void didEnableAllSensors() override; private: SensorService& mSensorService; - bool mActive; }; // ---------------------------------------------------------------------------