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

Commit 16219093 authored by Pierre Fite-Georgel's avatar Pierre Fite-Georgel Committed by Eva Chen
Browse files

Changing logic that generates virtual SENSOR_TYPE_LINEAR_ACCELERATION.

New logic only requires accel/gyro to be available rather than
accel/gyro/mag which is not necessary.

Bug: 145707966
Fix: 145707966
Test: Flashed a Hawk device (AAE development platform) that does not
have Linear Acceleration Sensor currently.
After flashing :
Linear Acceleration Sensor | AOSP            | ver: 3 | type: android.sensor.linear_acceleration(10) | perm: n/a | flags: 0x00000000
        continuous | maxDelay=0us | maxRate=500.00Hz | no batching | non-wakeUp |

Change-Id: Idfe7c1ab357e363cb2c8daf6e4175adbbcf9d8c4
(cherry picked from commit 63daa668)
parent 3ca95a0e
Loading
Loading
Loading
Loading
+5 −6
Original line number Diff line number Diff line
@@ -208,12 +208,6 @@ void SensorService::onFirstRef() {
                registerSensor(new RotationVectorSensor(), !needRotationVector, true);
                registerSensor(new OrientationSensor(), !needRotationVector, true);

                bool needLinearAcceleration =
                        (virtualSensorsNeeds & (1<<SENSOR_TYPE_LINEAR_ACCELERATION)) != 0;

                registerSensor(new LinearAccelerationSensor(list, count),
                               !needLinearAcceleration, true);

                // virtual debugging sensors are not for user
                registerSensor( new CorrectedGyroSensor(list, count), true, true);
                registerSensor( new GyroDriftSensor(), true, true);
@@ -223,6 +217,11 @@ void SensorService::onFirstRef() {
                bool needGravitySensor = (virtualSensorsNeeds & (1<<SENSOR_TYPE_GRAVITY)) != 0;
                registerSensor(new GravitySensor(list, count), !needGravitySensor, true);

                bool needLinearAcceleration =
                        (virtualSensorsNeeds & (1<<SENSOR_TYPE_LINEAR_ACCELERATION)) != 0;
                registerSensor(new LinearAccelerationSensor(list, count),
                               !needLinearAcceleration, true);

                bool needGameRotationVector =
                        (virtualSensorsNeeds & (1<<SENSOR_TYPE_GAME_ROTATION_VECTOR)) != 0;
                registerSensor(new GameRotationVectorSensor(), !needGameRotationVector, true);