diff --git a/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java b/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java index 5d1c4784b98..226876e8533 100644 --- a/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java +++ b/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java @@ -155,6 +155,7 @@ public abstract class BiometricEnrollIntroduction extends BiometricEnrollBase @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + final boolean isExpressiveStyle = BiometricUtils.isExpressiveStyle(getBaseContext()); if (shouldShowSplitScreenDialog()) { BiometricsSplitScreenDialog @@ -213,28 +214,33 @@ public abstract class BiometricEnrollIntroduction extends BiometricEnrollBase mFooterBarMixin = layout.getMixin(FooterBarMixin.class); mFooterBarMixin.setPrimaryButton(getPrimaryFooterButton()); mFooterBarMixin.setSecondaryButton(getSecondaryFooterButton(), true /* usePrimaryStyle */); - mFooterBarMixin.getSecondaryButton().setVisibility( - mHasScrolledToBottom ? View.VISIBLE : View.INVISIBLE); + if (!isExpressiveStyle) { + mFooterBarMixin.getSecondaryButton().setVisibility( + mHasScrolledToBottom ? View.VISIBLE : View.INVISIBLE); + } final RequireScrollMixin requireScrollMixin = layout.getMixin(RequireScrollMixin.class); requireScrollMixin.requireScrollWithButton(this, getPrimaryFooterButton(), getMoreButtonTextRes(), this::onNextButtonClick); - requireScrollMixin.setOnRequireScrollStateChangedListener( - scrollNeeded -> { - boolean enrollmentCompleted = checkMaxEnrolled() != 0; - if (!enrollmentCompleted) { - // Update text of primary button from "More" to "Agree". - final int primaryButtonTextRes = scrollNeeded - ? getMoreButtonTextRes() - : getAgreeButtonTextRes(); - getPrimaryFooterButton().setText(this, primaryButtonTextRes); - } + if (!isExpressiveStyle) { + requireScrollMixin.setOnRequireScrollStateChangedListener( + scrollNeeded -> { + boolean enrollmentCompleted = checkMaxEnrolled() != 0; + if (!enrollmentCompleted) { + // Update text of primary button from "More" to "Agree". + final int primaryButtonTextRes = scrollNeeded + ? getMoreButtonTextRes() + : getAgreeButtonTextRes(); + getPrimaryFooterButton().setText(this, primaryButtonTextRes); + } - // Show secondary button once scroll is completed. - getSecondaryFooterButton().setVisibility( - !scrollNeeded && !enrollmentCompleted ? View.VISIBLE : View.INVISIBLE); - mHasScrolledToBottom = !scrollNeeded; - }); + // Show secondary button once scroll is completed. + getSecondaryFooterButton().setVisibility( + !scrollNeeded && !enrollmentCompleted ? View.VISIBLE + : View.INVISIBLE); + mHasScrolledToBottom = !scrollNeeded; + }); + } final boolean isScrollNeeded = requireScrollMixin.isScrollingRequired(); final boolean enrollmentCompleted = checkMaxEnrolled() != 0; diff --git a/src/com/android/settings/biometrics/BiometricUtils.java b/src/com/android/settings/biometrics/BiometricUtils.java index e080ef48905..a4fb7358011 100644 --- a/src/com/android/settings/biometrics/BiometricUtils.java +++ b/src/com/android/settings/biometrics/BiometricUtils.java @@ -50,8 +50,10 @@ import com.android.settings.overlay.FeatureFactory; import com.android.settings.password.ChooseLockGeneric; import com.android.settings.password.ChooseLockSettingsHelper; import com.android.settings.password.SetupChooseLockGeneric; +import com.android.settingslib.widget.SettingsThemeHelper; import com.google.android.setupcompat.util.WizardManagerHelper; +import com.google.android.setupdesign.util.ThemeHelper; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -530,6 +532,16 @@ public class BiometricUtils { return ssb.toString(); } + /** + * Check if device is using Expressive Style theme. + * @param context that for applying Expressive Style + * @return true if device using Expressive Style theme, otherwise false. + */ + public static boolean isExpressiveStyle(@NonNull Context context) { + return SettingsThemeHelper.isExpressiveTheme(context) + || ThemeHelper.shouldApplyGlifExpressiveStyle(context); + } + private static String capitalize(final String input) { return Character.toUpperCase(input.charAt(0)) + input.substring(1); }