summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2021-08-06 01:07:17 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2021-08-06 01:07:17 +0000
commit3c88bbdae7b0e47372e744183d4bec2d54a22d44 (patch)
tree89a7ee33d8c4d9f3dc821d2d024f18254d9951ed
parentd62785ad7658101098ed053d05430c89b073cc37 (diff)
parentcebf2e6cd693b0ad9cd9560c283e24f7e38aa0cf (diff)
downloadnative-3c88bbdae7b0e47372e744183d4bec2d54a22d44.tar.gz
Snap for 7616100 from cebf2e6cd693b0ad9cd9560c283e24f7e38aa0cf to sc-release
Change-Id: I2a0d5b9b527b9a81c5229166e9acd02d7e4846d3
-rw-r--r--services/sensorservice/SensorDevice.cpp2
-rw-r--r--services/sensorservice/SensorInterface.cpp10
-rw-r--r--services/sensorservice/SensorInterface.h1
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;
};
// ---------------------------------------------------------------------------