Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 99426810 authored by Chenjie Luo's avatar Chenjie Luo Committed by Android (Google) Code Review
Browse files

Merge "Check for the presence of accel and magnetometer sensors before adding...

Merge "Check for the presence of accel and magnetometer sensors before adding AOSP fusion sensors." into mnc-dev
parents f892f914 f504789d
Loading
Loading
Loading
Loading
+8 −2
Original line number Original line Diff line number Diff line
@@ -84,7 +84,7 @@ void SensorService::onFirstRef()
        ssize_t count = dev.getSensorList(&list);
        ssize_t count = dev.getSensorList(&list);
        if (count > 0) {
        if (count > 0) {
            ssize_t orientationIndex = -1;
            ssize_t orientationIndex = -1;
            bool hasGyro = false;
            bool hasGyro = false, hasAccel = false, hasMag = false;
            uint32_t virtualSensorsNeeds =
            uint32_t virtualSensorsNeeds =
                    (1<<SENSOR_TYPE_GRAVITY) |
                    (1<<SENSOR_TYPE_GRAVITY) |
                    (1<<SENSOR_TYPE_LINEAR_ACCELERATION) |
                    (1<<SENSOR_TYPE_LINEAR_ACCELERATION) |
@@ -94,6 +94,12 @@ void SensorService::onFirstRef()
            for (ssize_t i=0 ; i<count ; i++) {
            for (ssize_t i=0 ; i<count ; i++) {
                registerSensor( new HardwareSensor(list[i]) );
                registerSensor( new HardwareSensor(list[i]) );
                switch (list[i].type) {
                switch (list[i].type) {
                    case SENSOR_TYPE_ACCELEROMETER:
                        hasAccel = true;
                        break;
                    case SENSOR_TYPE_MAGNETIC_FIELD:
                        hasMag = true;
                        break;
                    case SENSOR_TYPE_ORIENTATION:
                    case SENSOR_TYPE_ORIENTATION:
                        orientationIndex = i;
                        orientationIndex = i;
                        break;
                        break;
@@ -117,7 +123,7 @@ void SensorService::onFirstRef()
            // build the sensor list returned to users
            // build the sensor list returned to users
            mUserSensorList = mSensorList;
            mUserSensorList = mSensorList;


            if (hasGyro) {
            if (hasGyro && hasAccel && hasMag) {
                Sensor aSensor;
                Sensor aSensor;


                // Add Android virtual sensors if they're not already
                // Add Android virtual sensors if they're not already