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

Commit 12d39b9c authored by Balint Ureczky's avatar Balint Ureczky Committed by Bálint Ureczky
Browse files

take account of RotationVector's new extra parameter

Rotation vector has a new 5th parameter introduced in API 18. But the code classified the 5 parameter the same as it would be 3 and overriden the 4th parameter which is unnecessary and also caused an unexpected behavior.

Issue #63268:
https://code.google.com/p/android/issues/detail?id=63268


Signed-off-by: default avatarBalint Ureczky <ubalint@gmail.com>

Change-Id: I6f9a5fc401da655695ab03694b4a74dc5be936ed
parent 453a5233
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1359,7 +1359,7 @@ public abstract class SensorManager {
        float q2 = rotationVector[1];
        float q3 = rotationVector[2];

        if (rotationVector.length == 4) {
        if (rotationVector.length >= 4) {
            q0 = rotationVector[3];
        } else {
            q0 = 1 - q1*q1 - q2*q2 - q3*q3;
@@ -1416,7 +1416,7 @@ public abstract class SensorManager {
     *  @param Q an array of floats in which to store the computed quaternion
     */
    public static void getQuaternionFromVector(float[] Q, float[] rv) {
        if (rv.length == 4) {
        if (rv.length >= 4) {
            Q[0] = rv[3];
        } else {
            Q[0] = 1 - rv[0]*rv[0] - rv[1]*rv[1] - rv[2]*rv[2];