Merge "Apply Expressive style "More” page-down button for Settings Face Enroll Introduction page" into main

This commit is contained in:
Treehugger Robot
2025-02-11 10:45:24 -08:00
committed by Android (Google) Code Review
2 changed files with 35 additions and 17 deletions

View File

@@ -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,12 +214,15 @@ public abstract class BiometricEnrollIntroduction extends BiometricEnrollBase
mFooterBarMixin = layout.getMixin(FooterBarMixin.class);
mFooterBarMixin.setPrimaryButton(getPrimaryFooterButton());
mFooterBarMixin.setSecondaryButton(getSecondaryFooterButton(), true /* usePrimaryStyle */);
if (!isExpressiveStyle) {
mFooterBarMixin.getSecondaryButton().setVisibility(
mHasScrolledToBottom ? View.VISIBLE : View.INVISIBLE);
}
final RequireScrollMixin requireScrollMixin = layout.getMixin(RequireScrollMixin.class);
requireScrollMixin.requireScrollWithButton(this, getPrimaryFooterButton(),
getMoreButtonTextRes(), this::onNextButtonClick);
if (!isExpressiveStyle) {
requireScrollMixin.setOnRequireScrollStateChangedListener(
scrollNeeded -> {
boolean enrollmentCompleted = checkMaxEnrolled() != 0;
@@ -232,9 +236,11 @@ public abstract class BiometricEnrollIntroduction extends BiometricEnrollBase
// Show secondary button once scroll is completed.
getSecondaryFooterButton().setVisibility(
!scrollNeeded && !enrollmentCompleted ? View.VISIBLE : View.INVISIBLE);
!scrollNeeded && !enrollmentCompleted ? View.VISIBLE
: View.INVISIBLE);
mHasScrolledToBottom = !scrollNeeded;
});
}
final boolean isScrollNeeded = requireScrollMixin.isScrollingRequired();
final boolean enrollmentCompleted = checkMaxEnrolled() != 0;

View File

@@ -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);
}