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

Commit af659b46 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 am: 74127ebc

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

Change-Id: I226841b976205cb570b943f7ad53bffc6e357622
parents 1418e4e8 74127ebc
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<>();