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

Commit 74127ebc authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Don't rotate LS udfps location unless LS is occluded" into sc-qpr1-dev...

Merge "Don't rotate LS udfps location unless LS is occluded" into sc-qpr1-dev am: ed47c002 am: 21805e19

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15839008

Change-Id: Id3f116561e1d5bf0e40f44d08ded05629885ceef
parents 74ec0d0c 21805e19
Loading
Loading
Loading
Loading
+23 −5
Original line number Diff line number Diff line
@@ -655,6 +655,20 @@ public class UdfpsController implements DozeReceiver {
        }
    }

    private boolean shouldRotate(@Nullable UdfpsAnimationViewController animation) {
        if (!(animation instanceof UdfpsKeyguardViewController)) {
            // always rotate view if we're not on the keyguard
            return true;
        }

        // on the keyguard, make sure we don't rotate if we're going to sleep or not occluded
        if (mKeyguardUpdateMonitor.isGoingToSleep() || !mKeyguardStateController.isOccluded()) {
            return false;
        }

        return true;
    }

    private WindowManager.LayoutParams computeLayoutParams(
            @Nullable UdfpsAnimationViewController animation) {
        final int paddingX = animation != null ? animation.getPaddingX() : 0;
@@ -678,9 +692,11 @@ public class UdfpsController implements DozeReceiver {
        // Transform dimensions if the device is in landscape mode
        switch (mContext.getDisplay().getRotation()) {
            case Surface.ROTATION_90:
                if (animation instanceof UdfpsKeyguardViewController
                        && mKeyguardUpdateMonitor.isGoingToSleep()) {
                if (!shouldRotate(animation)) {
                    Log.v(TAG, "skip rotating udfps location ROTATION_90");
                    break;
                } else {
                    Log.v(TAG, "rotate udfps location ROTATION_90");
                }
                mCoreLayoutParams.x = mSensorProps.sensorLocationY - mSensorProps.sensorRadius
                        - paddingX;
@@ -689,9 +705,11 @@ public class UdfpsController implements DozeReceiver {
                break;

            case Surface.ROTATION_270:
                if (animation instanceof UdfpsKeyguardViewController
                        && mKeyguardUpdateMonitor.isGoingToSleep()) {
                if (!shouldRotate(animation)) {
                    Log.v(TAG, "skip rotating udfps location ROTATION_270");
                    break;
                } else {
                    Log.v(TAG, "rotate udfps location ROTATION_270");
                }
                mCoreLayoutParams.x = p.x - mSensorProps.sensorLocationY - mSensorProps.sensorRadius
                        - paddingX;
+1 −0
Original line number Diff line number Diff line
@@ -191,6 +191,7 @@ public class UdfpsControllerTest extends SysuiTestCase {
        when(mLayoutInflater.inflate(R.layout.udfps_keyguard_view, null))
                .thenReturn(mKeyguardView); // for showOverlay REASON_AUTH_FPM_KEYGUARD
        when(mEnrollView.getContext()).thenReturn(mContext);
        when(mKeyguardStateController.isOccluded()).thenReturn(false);
        final List<FingerprintSensorPropertiesInternal> props = new ArrayList<>();

        final List<ComponentInfoInternal> componentInfo = new ArrayList<>();