diff options
author | Mathias Agopian <mathias@google.com> | 2010-11-29 17:26:51 -0800 |
---|---|---|
committer | Mathias Agopian <mathias@google.com> | 2012-06-27 17:07:54 -0700 |
commit | 50b66767f6c5635430483393e17d15969dfe2f05 (patch) | |
tree | 62204a2e607a9e53abb466befadae3240650de66 /services/sensorservice/SensorDevice.h | |
parent | 87c9dbb728febe9ce035874796c58f308043879d (diff) | |
download | frameworks_native-50b66767f6c5635430483393e17d15969dfe2f05.zip frameworks_native-50b66767f6c5635430483393e17d15969dfe2f05.tar.gz frameworks_native-50b66767f6c5635430483393e17d15969dfe2f05.tar.bz2 |
fix [3237242] sensormanager sensor active count gets out of sync
whether a physical sensor needed to be active or not was managed by
a simpe reference counter; unfortunatelly nothing prevented it to
get out of sync if a sensor was disabled more than once.
sensorservice already maintainted a list of all the "clients"
connected to a physical sensor; we now use that list to determine if
a sensor should be enabled. This can never be "out-of-sync" since
this is the only data structure linking a sensor to a user of that
sensor.
also removed the isEnabled() method, which was never used and
implemented wrongly (since it didn't take into account that a sensor
could be disabled for a client but not of another).
Change-Id: I789affb877728ca957e99f7ba749def37c4db1c7
Diffstat (limited to 'services/sensorservice/SensorDevice.h')
-rw-r--r-- | services/sensorservice/SensorDevice.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/services/sensorservice/SensorDevice.h b/services/sensorservice/SensorDevice.h index 63ecbcd..c19b2ce 100644 --- a/services/sensorservice/SensorDevice.h +++ b/services/sensorservice/SensorDevice.h @@ -40,8 +40,7 @@ class SensorDevice : public Singleton<SensorDevice> { Mutex mLock; // protect mActivationCount[].rates // fixed-size array after construction struct Info { - Info() : count(0) { } - int32_t count; + Info() { } KeyedVector<void*, nsecs_t> rates; }; DefaultKeyedVector<int, Info> mActivationCount; |