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

Commit f504789d authored by Aravind Akella's avatar Aravind Akella
Browse files

Check for the presence of accel and magnetometer sensors before adding AOSP fusion sensors.

Bug: 22502485
Change-Id: I3d9018649302b98004e4e216b2173e8411a08501
parent 5f920c1a
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -84,7 +84,7 @@ void SensorService::onFirstRef()
        ssize_t count = dev.getSensorList(&list);
        if (count > 0) {
            ssize_t orientationIndex = -1;
            bool hasGyro = false;
            bool hasGyro = false, hasAccel = false, hasMag = false;
            uint32_t virtualSensorsNeeds =
                    (1<<SENSOR_TYPE_GRAVITY) |
                    (1<<SENSOR_TYPE_LINEAR_ACCELERATION) |
@@ -94,6 +94,12 @@ void SensorService::onFirstRef()
            for (ssize_t i=0 ; i<count ; i++) {
                registerSensor( new HardwareSensor(list[i]) );
                switch (list[i].type) {
                    case SENSOR_TYPE_ACCELEROMETER:
                        hasAccel = true;
                        break;
                    case SENSOR_TYPE_MAGNETIC_FIELD:
                        hasMag = true;
                        break;
                    case SENSOR_TYPE_ORIENTATION:
                        orientationIndex = i;
                        break;
@@ -117,7 +123,7 @@ void SensorService::onFirstRef()
            // build the sensor list returned to users
            mUserSensorList = mSensorList;

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

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