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

Commit a582588f authored by Mina Karadzic's avatar Mina Karadzic
Browse files

Add shouldAllowTransformInverseDisplay to JNI.

Flag: EXEMPT PURE_REFACTOR
Bug: 395063101
Test: atest CameraCompatibilityInfoTest
Change-Id: I58f0dc5e807fb0a186170a8dc4c8d198b77dc42a
parent 988ce1f3
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -1717,7 +1717,8 @@ public final class CameraManager {
        final CameraCompatibilityInfo compatInfo = CompatibilityInfo.getCameraCompatibilityInfo();
        return (compatInfo.getRotateAndCropRotation() != ROTATION_UNDEFINED
                && compatInfo.getRotateAndCropRotation() != ROTATION_0)
                || compatInfo.shouldOverrideSensorOrientation();
                || compatInfo.shouldOverrideSensorOrientation()
                || !compatInfo.shouldAllowTransformInverseDisplay();
    }

    // TODO(b/430274604): remove once refactoring is launched.
+8 −1
Original line number Diff line number Diff line
@@ -31,6 +31,8 @@ static struct {
    jfieldID mShouldLetterboxForCameraCompat;
    // CameraCompatibilityInfo.mDisplayRotationSandbox
    jfieldID mDisplayRotationSandbox;
    // CameraCompatibilityInfo.mShouldAllowTransformInverseDisplay
    jfieldID mShouldAllowTransformInverseDisplay;
} gCameraCompatibilityInfoClassInfo;

using content::res::CameraCompatibilityInfo;
@@ -50,7 +52,8 @@ jobject android_content_res_CameraCompatibilityInfo_fromNative(JNIEnv *env,
                          tmpIntRotateAndCropRotation,
                          cci.shouldOverrideSensorOrientation(),
                          cci.shouldLetterboxForCameraCompat(),
                          tmpIntDisplayRotationSandbox);
                          tmpIntDisplayRotationSandbox,
                          cci.shouldAllowTransformInverseDisplay());
}

 status_t android_content_res_CameraCompatibilityInfo_toNative(JNIEnv *env,
@@ -83,6 +86,8 @@ jobject android_content_res_CameraCompatibilityInfo_fromNative(JNIEnv *env,
    } else {
        compatInfo->setDisplayRotationSandbox(ui::toRotation(tmpIntRotation));
    }
    compatInfo->setShouldAllowTransformInverseDisplay(env->GetBooleanField(cciObject,
                gCameraCompatibilityInfoClassInfo.mShouldAllowTransformInverseDisplay));
    return OK;
}

@@ -97,6 +102,8 @@ int register_android_content_res_CameraCompatibilityInfo(JNIEnv* env) {
            "mShouldLetterboxForCameraCompat", "Z");
    gCameraCompatibilityInfoClassInfo.mDisplayRotationSandbox = GetFieldIDOrDie(env, clazz,
            "mDisplayRotationSandbox", "I");
    gCameraCompatibilityInfoClassInfo.mShouldAllowTransformInverseDisplay = GetFieldIDOrDie(env,
            clazz, "mShouldAllowTransformInverseDisplay", "Z");
    gCameraCompatibilityInfoClassInfo.clazz = MakeGlobalRefOrDie(env, clazz);
    gCameraCompatibilityInfoClassInfo.ctor = env->GetMethodID(
            gCameraCompatibilityInfoClassInfo.clazz, "<init>", "()V");
+4 −0
Original line number Diff line number Diff line
@@ -48,6 +48,7 @@ public class CameraCompatibilityInfoTest {
        assertFalse(info.shouldOverrideSensorOrientation());
        assertFalse(info.shouldLetterboxForCameraCompat());
        assertEquals(ROTATION_UNDEFINED, info.getDisplayRotationSandbox());
        assertTrue(info.shouldAllowTransformInverseDisplay());
    }

    @Test
@@ -57,12 +58,14 @@ public class CameraCompatibilityInfoTest {
                .setShouldOverrideSensorOrientation(true)
                .setShouldLetterboxForCameraCompat(true)
                .setDisplayRotationSandbox(ROTATION_270)
                .setShouldAllowTransformInverseDisplay(false)
                .build();

        assertEquals(ROTATION_90, info.getRotateAndCropRotation());
        assertTrue(info.shouldOverrideSensorOrientation());
        assertTrue(info.shouldLetterboxForCameraCompat());
        assertEquals(ROTATION_270, info.getDisplayRotationSandbox());
        assertFalse(info.shouldAllowTransformInverseDisplay());
    }

    @Test
@@ -92,6 +95,7 @@ public class CameraCompatibilityInfoTest {
                .setShouldOverrideSensorOrientation(true)
                .setShouldLetterboxForCameraCompat(true)
                .setDisplayRotationSandbox(ROTATION_90)
                .setShouldAllowTransformInverseDisplay(false)
                .build();

        final Parcel parcel = Parcel.obtain();