diff --git a/res/layout-land/udfps_enroll_enrolling_land.xml b/res/layout-land/udfps_enroll_enrolling.xml similarity index 93% rename from res/layout-land/udfps_enroll_enrolling_land.xml rename to res/layout-land/udfps_enroll_enrolling.xml index 776f8a9118c..f3237887e9a 100644 --- a/res/layout-land/udfps_enroll_enrolling_land.xml +++ b/res/layout-land/udfps_enroll_enrolling.xml @@ -33,11 +33,15 @@ diff --git a/res/values-ldltr/dimens.xml b/res/values-ldltr/dimens.xml new file mode 100755 index 00000000000..11d5b33ad39 --- /dev/null +++ b/res/values-ldltr/dimens.xml @@ -0,0 +1,26 @@ + + + + + + 0dp + 0dp + 0dp + + -290dp + 108dp + 150dp + diff --git a/res/values-ldrtl/dimens.xml b/res/values-ldrtl/dimens.xml new file mode 100755 index 00000000000..cbe7eb5abdc --- /dev/null +++ b/res/values-ldrtl/dimens.xml @@ -0,0 +1,26 @@ + + + + + + -440dp + 320dp + 150dp + + 20dp + 0dp + 20dp + diff --git a/res/values/dimens.xml b/res/values/dimens.xml index 26ebbf699b7..520f78624de 100755 --- a/res/values/dimens.xml +++ b/res/values/dimens.xml @@ -494,6 +494,14 @@ 24dp 8dp + + 0dp + 0dp + 0dp + 0dp + 0dp + 0dp + 40dp 30dp diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java index ca79a246b06..5f9a74f931a 100644 --- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java +++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java @@ -47,6 +47,7 @@ import android.view.accessibility.AccessibilityEvent; import android.view.accessibility.AccessibilityManager; import android.view.animation.AnimationUtils; import android.view.animation.Interpolator; +import android.widget.LinearLayout; import android.widget.ProgressBar; import android.widget.TextView; @@ -64,10 +65,12 @@ import com.airbnb.lottie.LottieAnimationView; import com.google.android.setupcompat.template.FooterBarMixin; import com.google.android.setupcompat.template.FooterButton; import com.google.android.setupcompat.util.WizardManagerHelper; +import com.google.android.setupdesign.GlifLayout; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.List; +import java.util.Locale; /** * Activity which handles the actual enrolling for fingerprint. @@ -168,13 +171,37 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling { mAccessibilityManager = getSystemService(AccessibilityManager.class); mIsAccessibilityEnabled = mAccessibilityManager.isEnabled(); + final boolean isLayoutRtl = (TextUtils.getLayoutDirectionFromLocale( + Locale.getDefault()) == View.LAYOUT_DIRECTION_RTL); listenOrientationEvent(); if (mCanAssumeUdfps) { - if (BiometricUtils.isReverseLandscape(getApplicationContext())) { - setContentView(R.layout.udfps_enroll_enrolling_land); - } else { - setContentView(R.layout.udfps_enroll_enrolling); + switch(getApplicationContext().getDisplay().getRotation()) { + case Surface.ROTATION_90: + final GlifLayout layout = (GlifLayout) getLayoutInflater().inflate( + R.layout.udfps_enroll_enrolling, null, false); + final LinearLayout layoutContainer = layout.findViewById( + R.id.layout_container); + final LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams( + LinearLayout.LayoutParams.MATCH_PARENT, + LinearLayout.LayoutParams.MATCH_PARENT); + + lp.setMarginEnd((int) getResources().getDimension( + R.dimen.rotation_90_enroll_margin_end)); + layoutContainer.setPaddingRelative((int) getResources().getDimension( + R.dimen.rotation_90_enroll_padding_start), 0, isLayoutRtl + ? 0 : (int) getResources().getDimension( + R.dimen.rotation_90_enroll_padding_end), 0); + layoutContainer.setLayoutParams(lp); + setContentView(layout, lp); + break; + + case Surface.ROTATION_0: + case Surface.ROTATION_180: + case Surface.ROTATION_270: + default: + setContentView(R.layout.udfps_enroll_enrolling); + break; } setDescriptionText(R.string.security_settings_udfps_enroll_start_message); } else {