Merge "Fix overlap in udfps_enroll_enrolling" into udc-dev am: 25de3b2b9c

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/22955471

Change-Id: I9c48161c5f1a85251daee07af18f8d1f128c468c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Wenhui Yang
2023-05-03 06:24:02 +00:00
committed by Automerger Merge Worker

View File

@@ -259,10 +259,10 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
if (mCanAssumeUdfps) { if (mCanAssumeUdfps) {
int rotation = getApplicationContext().getDisplay().getRotation(); int rotation = getApplicationContext().getDisplay().getRotation();
final GlifLayout layout = (GlifLayout) getLayoutInflater().inflate(
R.layout.udfps_enroll_enrolling, null, false);
switch (rotation) { switch (rotation) {
case Surface.ROTATION_90: case Surface.ROTATION_90:
final GlifLayout layout = (GlifLayout) getLayoutInflater().inflate(
R.layout.udfps_enroll_enrolling, null, false);
final LinearLayout layoutContainer = layout.findViewById( final LinearLayout layoutContainer = layout.findViewById(
R.id.layout_container); R.id.layout_container);
final LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams( final LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
@@ -287,53 +287,56 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
case Surface.ROTATION_0: case Surface.ROTATION_0:
case Surface.ROTATION_180: case Surface.ROTATION_180:
case Surface.ROTATION_270:
default:
final GlifLayout defaultLayout = (GlifLayout) getLayoutInflater().inflate(
R.layout.udfps_enroll_enrolling, null, false);
if (FeatureFlagUtils.isEnabled(getApplicationContext(), if (FeatureFlagUtils.isEnabled(getApplicationContext(),
FeatureFlagUtils.SETTINGS_SHOW_UDFPS_ENROLL_IN_SETTINGS)) { FeatureFlagUtils.SETTINGS_SHOW_UDFPS_ENROLL_IN_SETTINGS)) {
final UdfpsEnrollView udfpsEnrollView = addUdfpsEnrollView(props.get(0)); final UdfpsEnrollView udfpsEnrollView = addUdfpsEnrollView(props.get(0));
if (rotation == Surface.ROTATION_0 || rotation == Surface.ROTATION_180) { // In the portrait mode, set layout_container's height 0, so it's
// In the portrait mode, set layout_container's height 0, so it's // always shown at the bottom of the screen.
// always shown at the bottom of the screen. // Add udfps enroll view into layout_container instead of
// Add udfps enroll view into layout_container instead of // udfps_enroll_enrolling, so that when the content is too long to
// udfps_enroll_enrolling, so that when the content is too long to // make udfps_enroll_enrolling larger than the screen, udfps enroll
// make udfps_enroll_enrolling larger than the screen, udfps enroll // view could still be set to right position by setting bottom margin to
// view could still be set to right position by setting bottom margin to // its parent view (layout_container) because it's always at the
// its parent view (layout_container) because it's always at the // bottom of the screen.
// bottom of the screen. final FrameLayout portraitLayoutContainer = layout.findViewById(
final FrameLayout portraitLayoutContainer = defaultLayout.findViewById( R.id.layout_container);
R.id.layout_container); final ViewGroup.LayoutParams containerLp =
final ViewGroup.LayoutParams containerLp = portraitLayoutContainer.getLayoutParams();
portraitLayoutContainer.getLayoutParams(); containerLp.height = 0;
containerLp.height = 0;
// In the portrait mode, the title and lottie animation view may // In the portrait mode, the title and lottie animation view may
// overlap when title needs three lines, so adding some paddings // overlap when title needs three lines, so adding some paddings
// between them, and adjusting the fp progress view here accordingly. // between them, and adjusting the fp progress view here accordingly.
final int layoutLottieAnimationPadding = (int) getResources() final int layoutLottieAnimationPadding = (int) getResources()
.getDimension(R.dimen.udfps_lottie_padding_top); .getDimension(R.dimen.udfps_lottie_padding_top);
portraitLayoutContainer.setPadding(0, portraitLayoutContainer.setPadding(0,
layoutLottieAnimationPadding, 0, 0); layoutLottieAnimationPadding, 0, 0);
final ImageView progressView = udfpsEnrollView.findViewById( final ImageView progressView = udfpsEnrollView.findViewById(
R.id.udfps_enroll_animation_fp_progress_view); R.id.udfps_enroll_animation_fp_progress_view);
progressView.setPadding(0, -(layoutLottieAnimationPadding), progressView.setPadding(0, -(layoutLottieAnimationPadding),
0, layoutLottieAnimationPadding); 0, layoutLottieAnimationPadding);
final ImageView fingerprintView = udfpsEnrollView.findViewById( final ImageView fingerprintView = udfpsEnrollView.findViewById(
R.id.udfps_enroll_animation_fp_view); R.id.udfps_enroll_animation_fp_view);
fingerprintView.setPadding(0, -layoutLottieAnimationPadding, fingerprintView.setPadding(0, -layoutLottieAnimationPadding,
0, layoutLottieAnimationPadding); 0, layoutLottieAnimationPadding);
portraitLayoutContainer.addView(udfpsEnrollView); portraitLayoutContainer.addView(udfpsEnrollView);
setOnHoverListener(false, defaultLayout, udfpsEnrollView); setOnHoverListener(false, layout, udfpsEnrollView);
} else if (rotation == Surface.ROTATION_270) {
defaultLayout.addView(udfpsEnrollView);
setOnHoverListener(true, defaultLayout, udfpsEnrollView);
}
} }
setContentView(defaultLayout); setContentView(layout);
break;
case Surface.ROTATION_270:
default:
if (FeatureFlagUtils.isEnabled(getApplicationContext(),
FeatureFlagUtils.SETTINGS_SHOW_UDFPS_ENROLL_IN_SETTINGS)) {
final UdfpsEnrollView udfpsEnrollView = addUdfpsEnrollView(props.get(0));
layout.addView(udfpsEnrollView);
setOnHoverListener(true, layout, udfpsEnrollView);
}
setContentView(layout);
break; break;
} }
setDescriptionText(R.string.security_settings_udfps_enroll_start_message); setDescriptionText(R.string.security_settings_udfps_enroll_start_message);