diff --git a/packages/SystemUI/res/values/bools.xml b/packages/SystemUI/res/values/bools.xml index 499e24e6ecbd2..c67ac8d34aa66 100644 --- a/packages/SystemUI/res/values/bools.xml +++ b/packages/SystemUI/res/values/bools.xml @@ -18,4 +18,6 @@ false + + false diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml index 98202371d98fd..f9ad9f4dd44c0 100644 --- a/packages/SystemUI/res/values/dimens.xml +++ b/packages/SystemUI/res/values/dimens.xml @@ -956,6 +956,8 @@ 100dp 60dp + 240dp + 240dp diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/AuthBiometricView.java b/packages/SystemUI/src/com/android/systemui/biometrics/AuthBiometricView.java index fc5cf9f005ed0..bcf7880ea4244 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/AuthBiometricView.java +++ b/packages/SystemUI/src/com/android/systemui/biometrics/AuthBiometricView.java @@ -168,6 +168,10 @@ public abstract class AuthBiometricView extends LinearLayout { private Animator.AnimatorListener mJankListener; + private final boolean mUseCustomBpSize; + private final int mCustomBpWidth; + private final int mCustomBpHeight; + private final OnClickListener mBackgroundClickListener = (view) -> { if (mState == STATE_AUTHENTICATED) { Log.w(TAG, "Ignoring background click after authenticated"); @@ -208,6 +212,10 @@ public abstract class AuthBiometricView extends LinearLayout { handleResetAfterHelp(); Utils.notifyAccessibilityContentChanged(mAccessibilityManager, this); }; + + mUseCustomBpSize = getResources().getBoolean(R.bool.use_custom_bp_size); + mCustomBpWidth = getResources().getDimensionPixelSize(R.dimen.biometric_dialog_width); + mCustomBpHeight = getResources().getDimensionPixelSize(R.dimen.biometric_dialog_height); } /** Delay after authentication is confirmed, before the dialog should be animated away. */ @@ -827,14 +835,17 @@ public abstract class AuthBiometricView extends LinearLayout { @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { - final int width = MeasureSpec.getSize(widthMeasureSpec); - final int height = MeasureSpec.getSize(heightMeasureSpec); + int width = MeasureSpec.getSize(widthMeasureSpec); + int height = MeasureSpec.getSize(heightMeasureSpec); - final int newWidth = Math.min(width, height); + if (mUseCustomBpSize) { + width = mCustomBpWidth; + height = mCustomBpHeight; + } else { + width = Math.min(width, height); + } - // Use "newWidth" instead, so the landscape dialog width is the same as the portrait - // width. - mLayoutParams = onMeasureInternal(newWidth, height); + mLayoutParams = onMeasureInternal(width, height); setMeasuredDimension(mLayoutParams.mMediumWidth, mLayoutParams.mMediumHeight); }