commit | f3eabb3bfce79dd393c974ccb40d257bf48a1e77 | [log] [tgz] |
---|---|---|
author | Chris Kuiper <ckuiper@google.com> | Thu Aug 05 02:18:43 2021 +0000 |
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | Thu Aug 05 02:18:43 2021 +0000 |
tree | 683a0e848db369b2ff84971d72ed5fd8379ee9ee | |
parent | e17d422866e6cab5cdb452638a0001af086ee94b [diff] | |
parent | cebf2e6cd693b0ad9cd9560c283e24f7e38aa0cf [diff] |
sensorservice: ProximitySensor needs to report correct sensor state. am: cebf2e6cd6 Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/15459770 Change-Id: I8b604c38d9b7f08748caf9b91fe925d24deb0bfb
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; }; // ---------------------------------------------------------------------------