diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2021-08-06 01:06:32 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2021-08-06 01:06:32 +0000 |
commit | ae35cceaa6a9861378f1bff5e0ff230477d374ff (patch) | |
tree | 89a7ee33d8c4d9f3dc821d2d024f18254d9951ed | |
parent | 3cf616a7c198c783b49986d2ba1999f63272afd3 (diff) | |
parent | cebf2e6cd693b0ad9cd9560c283e24f7e38aa0cf (diff) | |
download | native-ae35cceaa6a9861378f1bff5e0ff230477d374ff.tar.gz |
Snap for 7616100 from cebf2e6cd693b0ad9cd9560c283e24f7e38aa0cf to sc-d1-release
Change-Id: Id79718902426e4ec91b8394b11a97eee26af620d
-rw-r--r-- | services/sensorservice/SensorDevice.cpp | 2 | ||||
-rw-r--r-- | services/sensorservice/SensorInterface.cpp | 10 | ||||
-rw-r--r-- | services/sensorservice/SensorInterface.h | 1 |
3 files changed, 7 insertions, 6 deletions
diff --git a/services/sensorservice/SensorDevice.cpp b/services/sensorservice/SensorDevice.cpp index 5d6f8c773c..c233bf06cf 100644 --- a/services/sensorservice/SensorDevice.cpp +++ b/services/sensorservice/SensorDevice.cpp @@ -915,7 +915,7 @@ bool SensorDevice::isSensorActive(int handle) const { if (activationIndex < 0) { return false; } - return mActivationCount.valueAt(activationIndex).numActiveClients() > 0; + return mActivationCount.valueAt(activationIndex).isActive; } void SensorDevice::onMicSensorAccessChanged(void* ident, int handle, nsecs_t samplingPeriodNs) { diff --git a/services/sensorservice/SensorInterface.cpp b/services/sensorservice/SensorInterface.cpp index 560834f5f3..c285c00623 100644 --- a/services/sensorservice/SensorInterface.cpp +++ b/services/sensorservice/SensorInterface.cpp @@ -92,14 +92,16 @@ ProximitySensor::ProximitySensor(const sensor_t& sensor, SensorService& service) } 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 ea181c9877..4e9f7bf9c8 100644 --- a/services/sensorservice/SensorInterface.h +++ b/services/sensorservice/SensorInterface.h @@ -119,7 +119,6 @@ public: void didEnableAllSensors() override; private: SensorService& mSensorService; - bool mActive; }; // --------------------------------------------------------------------------- |