Loading packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java +23 −5 Original line number Original line Diff line number Diff line Loading @@ -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( private WindowManager.LayoutParams computeLayoutParams( @Nullable UdfpsAnimationViewController animation) { @Nullable UdfpsAnimationViewController animation) { final int paddingX = animation != null ? animation.getPaddingX() : 0; final int paddingX = animation != null ? animation.getPaddingX() : 0; Loading @@ -678,9 +692,11 @@ public class UdfpsController implements DozeReceiver { // Transform dimensions if the device is in landscape mode // Transform dimensions if the device is in landscape mode switch (mContext.getDisplay().getRotation()) { switch (mContext.getDisplay().getRotation()) { case Surface.ROTATION_90: case Surface.ROTATION_90: if (animation instanceof UdfpsKeyguardViewController if (!shouldRotate(animation)) { && mKeyguardUpdateMonitor.isGoingToSleep()) { Log.v(TAG, "skip rotating udfps location ROTATION_90"); break; break; } else { Log.v(TAG, "rotate udfps location ROTATION_90"); } } mCoreLayoutParams.x = mSensorProps.sensorLocationY - mSensorProps.sensorRadius mCoreLayoutParams.x = mSensorProps.sensorLocationY - mSensorProps.sensorRadius - paddingX; - paddingX; Loading @@ -689,9 +705,11 @@ public class UdfpsController implements DozeReceiver { break; break; case Surface.ROTATION_270: case Surface.ROTATION_270: if (animation instanceof UdfpsKeyguardViewController if (!shouldRotate(animation)) { && mKeyguardUpdateMonitor.isGoingToSleep()) { Log.v(TAG, "skip rotating udfps location ROTATION_270"); break; break; } else { Log.v(TAG, "rotate udfps location ROTATION_270"); } } mCoreLayoutParams.x = p.x - mSensorProps.sensorLocationY - mSensorProps.sensorRadius mCoreLayoutParams.x = p.x - mSensorProps.sensorLocationY - mSensorProps.sensorRadius - paddingX; - paddingX; Loading packages/SystemUI/tests/src/com/android/systemui/biometrics/UdfpsControllerTest.java +1 −0 Original line number Original line Diff line number Diff line Loading @@ -191,6 +191,7 @@ public class UdfpsControllerTest extends SysuiTestCase { when(mLayoutInflater.inflate(R.layout.udfps_keyguard_view, null)) when(mLayoutInflater.inflate(R.layout.udfps_keyguard_view, null)) .thenReturn(mKeyguardView); // for showOverlay REASON_AUTH_FPM_KEYGUARD .thenReturn(mKeyguardView); // for showOverlay REASON_AUTH_FPM_KEYGUARD when(mEnrollView.getContext()).thenReturn(mContext); when(mEnrollView.getContext()).thenReturn(mContext); when(mKeyguardStateController.isOccluded()).thenReturn(false); final List<FingerprintSensorPropertiesInternal> props = new ArrayList<>(); final List<FingerprintSensorPropertiesInternal> props = new ArrayList<>(); final List<ComponentInfoInternal> componentInfo = new ArrayList<>(); final List<ComponentInfoInternal> componentInfo = new ArrayList<>(); Loading Loading
packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java +23 −5 Original line number Original line Diff line number Diff line Loading @@ -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( private WindowManager.LayoutParams computeLayoutParams( @Nullable UdfpsAnimationViewController animation) { @Nullable UdfpsAnimationViewController animation) { final int paddingX = animation != null ? animation.getPaddingX() : 0; final int paddingX = animation != null ? animation.getPaddingX() : 0; Loading @@ -678,9 +692,11 @@ public class UdfpsController implements DozeReceiver { // Transform dimensions if the device is in landscape mode // Transform dimensions if the device is in landscape mode switch (mContext.getDisplay().getRotation()) { switch (mContext.getDisplay().getRotation()) { case Surface.ROTATION_90: case Surface.ROTATION_90: if (animation instanceof UdfpsKeyguardViewController if (!shouldRotate(animation)) { && mKeyguardUpdateMonitor.isGoingToSleep()) { Log.v(TAG, "skip rotating udfps location ROTATION_90"); break; break; } else { Log.v(TAG, "rotate udfps location ROTATION_90"); } } mCoreLayoutParams.x = mSensorProps.sensorLocationY - mSensorProps.sensorRadius mCoreLayoutParams.x = mSensorProps.sensorLocationY - mSensorProps.sensorRadius - paddingX; - paddingX; Loading @@ -689,9 +705,11 @@ public class UdfpsController implements DozeReceiver { break; break; case Surface.ROTATION_270: case Surface.ROTATION_270: if (animation instanceof UdfpsKeyguardViewController if (!shouldRotate(animation)) { && mKeyguardUpdateMonitor.isGoingToSleep()) { Log.v(TAG, "skip rotating udfps location ROTATION_270"); break; break; } else { Log.v(TAG, "rotate udfps location ROTATION_270"); } } mCoreLayoutParams.x = p.x - mSensorProps.sensorLocationY - mSensorProps.sensorRadius mCoreLayoutParams.x = p.x - mSensorProps.sensorLocationY - mSensorProps.sensorRadius - paddingX; - paddingX; Loading
packages/SystemUI/tests/src/com/android/systemui/biometrics/UdfpsControllerTest.java +1 −0 Original line number Original line Diff line number Diff line Loading @@ -191,6 +191,7 @@ public class UdfpsControllerTest extends SysuiTestCase { when(mLayoutInflater.inflate(R.layout.udfps_keyguard_view, null)) when(mLayoutInflater.inflate(R.layout.udfps_keyguard_view, null)) .thenReturn(mKeyguardView); // for showOverlay REASON_AUTH_FPM_KEYGUARD .thenReturn(mKeyguardView); // for showOverlay REASON_AUTH_FPM_KEYGUARD when(mEnrollView.getContext()).thenReturn(mContext); when(mEnrollView.getContext()).thenReturn(mContext); when(mKeyguardStateController.isOccluded()).thenReturn(false); final List<FingerprintSensorPropertiesInternal> props = new ArrayList<>(); final List<FingerprintSensorPropertiesInternal> props = new ArrayList<>(); final List<ComponentInfoInternal> componentInfo = new ArrayList<>(); final List<ComponentInfoInternal> componentInfo = new ArrayList<>(); Loading