summaryrefslogtreecommitdiffstats
path: root/services/sensorservice
diff options
context:
space:
mode:
authorMathias Agopian <mathias@google.com>2013-07-08 12:50:39 -0700
committerMathias Agopian <mathias@google.com>2013-07-08 12:50:39 -0700
commit7438fd1a0132bc6de101e2a5f75040a119b6f29b (patch)
tree42e79cd430a11ee083cb583a5fdb0a66594e79fa /services/sensorservice
parent9c3e2dd97e100a3effe617cacb00cf163577ba13 (diff)
downloadframeworks_native-7438fd1a0132bc6de101e2a5f75040a119b6f29b.zip
frameworks_native-7438fd1a0132bc6de101e2a5f75040a119b6f29b.tar.gz
frameworks_native-7438fd1a0132bc6de101e2a5f75040a119b6f29b.tar.bz2
simplify some unnecessary complex code
getSensorType() ran in O(n) instead of O(1). fix that. Change-Id: Idcf29e46fc34db32604a0d8e5a9156486783b74f
Diffstat (limited to 'services/sensorservice')
-rw-r--r--services/sensorservice/SensorService.cpp19
-rw-r--r--services/sensorservice/SensorService.h1
2 files changed, 4 insertions, 16 deletions
diff --git a/services/sensorservice/SensorService.cpp b/services/sensorservice/SensorService.cpp
index 4718447..39e61b7 100644
--- a/services/sensorservice/SensorService.cpp
+++ b/services/sensorservice/SensorService.cpp
@@ -240,7 +240,8 @@ void SensorService::cleanupAutoDisabledSensor(const sp<SensorEventConnection>& c
status_t err = NO_ERROR;
for (int i=0 ; i<count ; i++) {
int handle = buffer[i].sensor;
- if (getSensorType(handle) == SENSOR_TYPE_SIGNIFICANT_MOTION) {
+ int type = buffer[i].type;
+ if (type == SENSOR_TYPE_SIGNIFICANT_MOTION) {
if (connection->hasSensor(handle)) {
sensor = mSensorMap.valueFor(handle);
err = sensor ?sensor->resetStateWithoutActuatingHardware(connection.get(), handle)
@@ -279,7 +280,7 @@ bool SensorService::threadLoop()
// Todo(): add a flag to the sensors definitions to indicate
// the sensors which can wake up the AP
for (int i = 0; i < count; i++) {
- if (getSensorType(buffer[i].sensor) == SENSOR_TYPE_SIGNIFICANT_MOTION) {
+ if (buffer[i].type == SENSOR_TYPE_SIGNIFICANT_MOTION) {
acquire_wake_lock(PARTIAL_WAKE_LOCK, WAKE_LOCK_NAME);
wakeLockAcquired = true;
break;
@@ -331,7 +332,7 @@ bool SensorService::threadLoop()
// handle backward compatibility for RotationVector sensor
if (halVersion < SENSORS_DEVICE_API_VERSION_1_0) {
for (int i = 0; i < count; i++) {
- if (getSensorType(buffer[i].sensor) == SENSOR_TYPE_ROTATION_VECTOR) {
+ if (buffer[i].type == SENSOR_TYPE_ROTATION_VECTOR) {
// All the 4 components of the quaternion should be available
// No heading accuracy. Set it to -1
buffer[i].data[4] = -1;
@@ -419,18 +420,6 @@ String8 SensorService::getSensorName(int handle) const {
return result;
}
-int SensorService::getSensorType(int handle) const {
- size_t count = mUserSensorList.size();
- for (size_t i=0 ; i<count ; i++) {
- const Sensor& sensor(mUserSensorList[i]);
- if (sensor.getHandle() == handle) {
- return sensor.getType();
- }
- }
- return -1;
-}
-
-
Vector<Sensor> SensorService::getSensorList()
{
char value[PROPERTY_VALUE_MAX];
diff --git a/services/sensorservice/SensorService.h b/services/sensorservice/SensorService.h
index 67489cc..56b0a3e 100644
--- a/services/sensorservice/SensorService.h
+++ b/services/sensorservice/SensorService.h
@@ -111,7 +111,6 @@ class SensorService :
DefaultKeyedVector<int, SensorInterface*> getActiveVirtualSensors() const;
String8 getSensorName(int handle) const;
- int getSensorType(int handle) const;
void recordLastValue(sensors_event_t const * buffer, size_t count);
static void sortEventBuffer(sensors_event_t* buffer, size_t count);
Sensor registerSensor(SensorInterface* sensor);