diff --git a/res/layout-land/fingerprint_enroll_finish.xml b/res/layout-land/fingerprint_enroll_finish.xml
index 1187c208d39..97a4de2d82a 100644
--- a/res/layout-land/fingerprint_enroll_finish.xml
+++ b/res/layout-land/fingerprint_enroll_finish.xml
@@ -70,41 +70,6 @@
android:layout_height="wrap_content"
android:text="@string/security_settings_fingerprint_enroll_finish_message"/>
-
-
-
-
-
-
-
-
-
-
-
-
+ style="?attr/face_layout_theme">
-
-
-
-
-
-
-
-
diff --git a/res/layout/face_enroll_finish.xml b/res/layout/face_enroll_finish.xml
index 6b3e6ab554a..df4609826fb 100644
--- a/res/layout/face_enroll_finish.xml
+++ b/res/layout/face_enroll_finish.xml
@@ -21,8 +21,7 @@
android:id="@+id/setup_wizard_layout"
style="?attr/face_layout_theme"
android:layout_width="match_parent"
- android:layout_height="match_parent"
- app:sucFooter="@layout/face_enroll_finish_footer">
+ android:layout_height="match_parent">
-
-
-
-
-
-
-
-
-
-
diff --git a/res/layout/face_enroll_introduction.xml b/res/layout/face_enroll_introduction.xml
index 025c2396c01..df3cf72fd00 100644
--- a/res/layout/face_enroll_introduction.xml
+++ b/res/layout/face_enroll_introduction.xml
@@ -22,8 +22,7 @@
style="?attr/face_layout_theme"
android:id="@+id/setup_wizard_layout"
android:layout_width="match_parent"
- android:layout_height="match_parent"
- app:sucFooter="@layout/face_enroll_introduction_footer">
+ android:layout_height="match_parent">
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/res/layout/fingerprint_enroll_enrolling_base.xml b/res/layout/fingerprint_enroll_enrolling_base.xml
index 5a2b60f5d90..6ca3fdc6e78 100644
--- a/res/layout/fingerprint_enroll_enrolling_base.xml
+++ b/res/layout/fingerprint_enroll_enrolling_base.xml
@@ -21,8 +21,7 @@
android:id="@+id/setup_wizard_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
- style="?attr/fingerprint_layout_theme"
- app:sucFooter="@layout/fingerprint_enroll_enrolling_base_footer">
+ style="?attr/fingerprint_layout_theme">
-
-
-
-
-
-
-
-
diff --git a/res/layout/fingerprint_enroll_find_sensor_base.xml b/res/layout/fingerprint_enroll_find_sensor_base.xml
index 18941a2a831..56d3ea4929d 100644
--- a/res/layout/fingerprint_enroll_find_sensor_base.xml
+++ b/res/layout/fingerprint_enroll_find_sensor_base.xml
@@ -21,8 +21,7 @@
android:id="@+id/setup_wizard_layout"
style="?attr/fingerprint_layout_theme"
android:layout_width="match_parent"
- android:layout_height="match_parent"
- app:sucFooter="@layout/fingerprint_enroll_find_sensor_base_footer">
+ android:layout_height="match_parent">
-
-
-
-
-
-
-
-
diff --git a/res/layout/fingerprint_enroll_finish_base.xml b/res/layout/fingerprint_enroll_finish_base.xml
index 5224dabb9a1..7120d90a403 100644
--- a/res/layout/fingerprint_enroll_finish_base.xml
+++ b/res/layout/fingerprint_enroll_finish_base.xml
@@ -21,8 +21,7 @@
android:id="@+id/setup_wizard_layout"
style="?attr/fingerprint_layout_theme"
android:layout_width="match_parent"
- android:layout_height="match_parent"
- app:sucFooter="@layout/fingerprint_enroll_finish_base_footer">
+ android:layout_height="match_parent">
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/res/layout/fingerprint_enroll_introduction.xml b/res/layout/fingerprint_enroll_introduction.xml
index 701d94a6253..adb46e5d447 100644
--- a/res/layout/fingerprint_enroll_introduction.xml
+++ b/res/layout/fingerprint_enroll_introduction.xml
@@ -21,8 +21,7 @@
style="?attr/fingerprint_layout_theme"
android:id="@+id/setup_wizard_layout"
android:layout_width="match_parent"
- android:layout_height="match_parent"
- app:sucFooter="@layout/fingerprint_enroll_introduction_footer">
+ android:layout_height="match_parent">
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/com/android/settings/biometrics/BiometricEnrollBase.java b/src/com/android/settings/biometrics/BiometricEnrollBase.java
index 7a066711773..4b1c9bc4a3b 100644
--- a/src/com/android/settings/biometrics/BiometricEnrollBase.java
+++ b/src/com/android/settings/biometrics/BiometricEnrollBase.java
@@ -24,7 +24,6 @@ import android.os.Bundle;
import android.os.UserHandle;
import android.text.TextUtils;
import android.view.View;
-import android.widget.Button;
import android.widget.TextView;
import com.android.settings.R;
@@ -33,13 +32,14 @@ import com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling;
import com.android.settings.core.InstrumentedActivity;
import com.android.settings.password.ChooseLockSettingsHelper;
+import com.google.android.setupcompat.item.FooterButton;
+import com.google.android.setupcompat.template.ButtonFooterMixin;
import com.google.android.setupdesign.GlifLayout;
/**
* Base activity for all biometric enrollment steps.
*/
-public abstract class BiometricEnrollBase extends InstrumentedActivity
- implements View.OnClickListener {
+public abstract class BiometricEnrollBase extends InstrumentedActivity {
public static final String EXTRA_KEY_LAUNCHED_CONFIRM = "launched_confirm_lock";
public static final String EXTRA_KEY_REQUIRE_VISION = "accessibility_vision";
@@ -78,6 +78,7 @@ public abstract class BiometricEnrollBase extends InstrumentedActivity
protected boolean mLaunchedConfirmLock;
protected byte[] mToken;
protected int mUserId;
+ protected ButtonFooterMixin mButtonFooterMixin;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -112,10 +113,6 @@ public abstract class BiometricEnrollBase extends InstrumentedActivity
protected void initViews() {
getWindow().setStatusBarColor(Color.TRANSPARENT);
- Button nextButton = getNextButton();
- if (nextButton != null) {
- nextButton.setOnClickListener(this);
- }
}
protected GlifLayout getLayout() {
@@ -139,18 +136,14 @@ public abstract class BiometricEnrollBase extends InstrumentedActivity
setHeaderText(resId, false /* force */);
}
- protected Button getNextButton() {
- return (Button) findViewById(R.id.next_button);
- }
-
- @Override
- public void onClick(View v) {
- if (v == getNextButton()) {
- onNextButtonClick();
+ protected FooterButton getNextButton() {
+ if (mButtonFooterMixin != null) {
+ return mButtonFooterMixin.getPrimaryButton();
}
+ return null;
}
- protected void onNextButtonClick() {
+ protected void onNextButtonClick(View view) {
}
protected Intent getFingerprintEnrollingIntent() {
diff --git a/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java b/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java
index 8a2a8ec21d5..0ddc1fc298c 100644
--- a/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java
+++ b/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java
@@ -22,13 +22,13 @@ import android.os.Bundle;
import android.os.UserHandle;
import android.os.UserManager;
import android.view.View;
-import android.widget.Button;
import android.widget.TextView;
import com.android.settings.R;
import com.android.settings.password.ChooseLockGeneric;
import com.android.settings.password.ChooseLockSettingsHelper;
+import com.google.android.setupcompat.item.FooterButton;
import com.google.android.setupdesign.span.LinkSpan;
/**
@@ -70,12 +70,12 @@ public abstract class BiometricEnrollIntroduction extends BiometricEnrollBase
/**
* @return the cancel button
*/
- protected abstract Button getCancelButton();
+ protected abstract FooterButton getCancelButton();
/**
* @return the next button
*/
- protected abstract Button getNextButton();
+ protected abstract FooterButton getNextButton();
/**
* @return the error TextView
@@ -127,9 +127,6 @@ public abstract class BiometricEnrollIntroduction extends BiometricEnrollBase
setHeaderText(getHeaderResDefault());
}
- Button cancelButton = getCancelButton();
- cancelButton.setOnClickListener(v -> onCancelButtonClick());
-
mErrorText = getErrorTextView();
mUserManager = UserManager.get(this);
@@ -164,7 +161,7 @@ public abstract class BiometricEnrollIntroduction extends BiometricEnrollBase
}
@Override
- protected void onNextButtonClick() {
+ protected void onNextButtonClick(View view) {
// Lock thingy is already set up, launch directly to the next page
launchNextEnrollingActivity(mToken);
}
@@ -234,7 +231,7 @@ public abstract class BiometricEnrollIntroduction extends BiometricEnrollBase
super.onActivityResult(requestCode, resultCode, data);
}
- protected void onCancelButtonClick() {
+ protected void onCancelButtonClick(View view) {
finish();
}
diff --git a/src/com/android/settings/biometrics/BiometricsEnrollEnrolling.java b/src/com/android/settings/biometrics/BiometricsEnrollEnrolling.java
index 033fb4b5dca..7ad2d17f4c3 100644
--- a/src/com/android/settings/biometrics/BiometricsEnrollEnrolling.java
+++ b/src/com/android/settings/biometrics/BiometricsEnrollEnrolling.java
@@ -85,16 +85,9 @@ public abstract class BiometricsEnrollEnrolling extends BiometricEnrollBase
super.onBackPressed();
}
- @Override
- public void onClick(View v) {
- switch (v.getId()) {
- case R.id.skip_button:
- setResult(RESULT_SKIP);
- finish();
- break;
- default:
- super.onClick(v);
- }
+ protected void onSkipButtonClick(View view) {
+ setResult(RESULT_SKIP);
+ finish();
}
public void startEnrollment() {
diff --git a/src/com/android/settings/biometrics/face/FaceEnrollEnrolling.java b/src/com/android/settings/biometrics/face/FaceEnrollEnrolling.java
index 990eef47de9..9ef04cbeaab 100644
--- a/src/com/android/settings/biometrics/face/FaceEnrollEnrolling.java
+++ b/src/com/android/settings/biometrics/face/FaceEnrollEnrolling.java
@@ -24,7 +24,6 @@ import android.util.Log;
import android.view.View;
import android.view.animation.AnimationUtils;
import android.view.animation.Interpolator;
-import android.widget.Button;
import android.widget.TextView;
import com.android.internal.logging.nano.MetricsProto;
@@ -36,6 +35,8 @@ import com.android.settings.biometrics.BiometricsEnrollEnrolling;
import java.util.ArrayList;
+import com.google.android.setupcompat.item.FooterButton;
+import com.google.android.setupcompat.template.ButtonFooterMixin;
public class FaceEnrollEnrolling extends BiometricsEnrollEnrolling {
@@ -91,8 +92,15 @@ public class FaceEnrollEnrolling extends BiometricsEnrollEnrolling {
mLinearOutSlowInInterpolator = AnimationUtils.loadInterpolator(
this, android.R.interpolator.linear_out_slow_in);
- Button skipButton = findViewById(R.id.skip_button);
- skipButton.setOnClickListener(this);
+ mButtonFooterMixin = getLayout().getMixin(ButtonFooterMixin.class);
+ mButtonFooterMixin.setSecondaryButton(
+ new FooterButton(
+ this,
+ R.string.security_settings_face_enroll_enrolling_skip,
+ this::onSkipButtonClick,
+ FooterButton.ButtonType.SKIP,
+ R.style.SuwGlifButton_Secondary)
+ );
if (!getIntent().getBooleanExtra(BiometricEnrollBase.EXTRA_KEY_REQUIRE_DIVERSITY, true)) {
mDisabledFeatures.add(FaceManager.FEATURE_REQUIRE_REQUIRE_DIVERSITY);
diff --git a/src/com/android/settings/biometrics/face/FaceEnrollFinish.java b/src/com/android/settings/biometrics/face/FaceEnrollFinish.java
index 7062fe36a01..f0ff5234ebe 100644
--- a/src/com/android/settings/biometrics/face/FaceEnrollFinish.java
+++ b/src/com/android/settings/biometrics/face/FaceEnrollFinish.java
@@ -17,11 +17,15 @@
package com.android.settings.biometrics.face;
import android.os.Bundle;
+import android.view.View;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settings.biometrics.BiometricEnrollBase;
+import com.google.android.setupcompat.item.FooterButton;
+import com.google.android.setupcompat.template.ButtonFooterMixin;
+
/**
* Activity which concludes face enrollment.
*/
@@ -32,6 +36,16 @@ public class FaceEnrollFinish extends BiometricEnrollBase {
super.onCreate(savedInstanceState);
setContentView(R.layout.face_enroll_finish);
setHeaderText(R.string.security_settings_face_enroll_finish_title);
+
+ mButtonFooterMixin = getLayout().getMixin(ButtonFooterMixin.class);
+ mButtonFooterMixin.setPrimaryButton(
+ new FooterButton(
+ this,
+ R.string.security_settings_face_enroll_done,
+ this::onNextButtonClick,
+ FooterButton.ButtonType.NEXT,
+ R.style.SuwGlifButton_Primary)
+ );
}
@Override
@@ -40,7 +54,7 @@ public class FaceEnrollFinish extends BiometricEnrollBase {
}
@Override
- public void onNextButtonClick() {
+ public void onNextButtonClick(View view) {
setResult(RESULT_FINISHED);
finish();
}
diff --git a/src/com/android/settings/biometrics/face/FaceEnrollIntroduction.java b/src/com/android/settings/biometrics/face/FaceEnrollIntroduction.java
index e221c965863..1c36ea863bf 100644
--- a/src/com/android/settings/biometrics/face/FaceEnrollIntroduction.java
+++ b/src/com/android/settings/biometrics/face/FaceEnrollIntroduction.java
@@ -32,6 +32,8 @@ import com.android.settings.biometrics.BiometricEnrollIntroduction;
import com.android.settings.password.ChooseLockSettingsHelper;
import com.android.settingslib.RestrictedLockUtilsInternal;
+import com.google.android.setupcompat.item.FooterButton;
+import com.google.android.setupcompat.template.ButtonFooterMixin;
import com.google.android.setupdesign.span.LinkSpan;
public class FaceEnrollIntroduction extends BiometricEnrollIntroduction {
@@ -55,6 +57,25 @@ public class FaceEnrollIntroduction extends BiometricEnrollIntroduction {
mSwitchVision = findViewById(R.id.toggle_vision);
mSwitchDiversity = findViewById(R.id.toggle_diversity);
+
+ mButtonFooterMixin = getLayout().getMixin(ButtonFooterMixin.class);
+ mButtonFooterMixin.setSecondaryButton(
+ new FooterButton(
+ this,
+ R.string.security_settings_face_enroll_introduction_cancel,
+ this::onCancelButtonClick,
+ FooterButton.ButtonType.SKIP,
+ R.style.SuwGlifButton_Secondary)
+ );
+
+ mButtonFooterMixin.setPrimaryButton(
+ new FooterButton(
+ this,
+ R.string.wizard_next,
+ this::onNextButtonClick,
+ FooterButton.ButtonType.NEXT,
+ R.style.SuwGlifButton_Primary)
+ );
}
@Override
@@ -84,13 +105,19 @@ public class FaceEnrollIntroduction extends BiometricEnrollIntroduction {
}
@Override
- protected Button getCancelButton() {
- return findViewById(R.id.face_cancel_button);
+ protected FooterButton getCancelButton() {
+ if (mButtonFooterMixin != null) {
+ return mButtonFooterMixin.getSecondaryButton();
+ }
+ return null;
}
@Override
- protected Button getNextButton() {
- return findViewById(R.id.face_next_button);
+ protected FooterButton getNextButton() {
+ if (mButtonFooterMixin != null) {
+ return mButtonFooterMixin.getPrimaryButton();
+ }
+ return null;
}
@Override
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
index fb6a221de2e..5953c10e500 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
@@ -35,7 +35,6 @@ import android.view.MotionEvent;
import android.view.View;
import android.view.animation.AnimationUtils;
import android.view.animation.Interpolator;
-import android.widget.Button;
import android.widget.ProgressBar;
import android.widget.TextView;
@@ -48,6 +47,9 @@ import com.android.settings.biometrics.BiometricErrorDialog;
import com.android.settings.biometrics.BiometricsEnrollEnrolling;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.google.android.setupcompat.item.FooterButton;
+import com.google.android.setupcompat.template.ButtonFooterMixin;
+
/**
* Activity which handles the actual enrolling for fingerprint.
*/
@@ -135,8 +137,15 @@ public class FingerprintEnrollEnrolling extends BiometricsEnrollEnrolling {
mProgressBar = (ProgressBar) findViewById(R.id.fingerprint_progress_bar);
mVibrator = getSystemService(Vibrator.class);
- Button skipButton = findViewById(R.id.skip_button);
- skipButton.setOnClickListener(this);
+ mButtonFooterMixin = getLayout().getMixin(ButtonFooterMixin.class);
+ mButtonFooterMixin.setSecondaryButton(
+ new FooterButton(
+ this,
+ R.string.security_settings_fingerprint_enroll_enrolling_skip,
+ this::onSkipButtonClick,
+ FooterButton.ButtonType.SKIP,
+ R.style.SuwGlifButton_Secondary)
+ );
final LayerDrawable fingerprintDrawable = (LayerDrawable) mProgressBar.getBackground();
mIconAnimationDrawable = (AnimatedVectorDrawable)
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java
index 0772c666d47..b8a0f40834e 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java
@@ -20,7 +20,6 @@ import android.content.Intent;
import android.hardware.fingerprint.FingerprintManager;
import android.os.Bundle;
import android.view.View;
-import android.widget.Button;
import androidx.annotation.Nullable;
@@ -30,6 +29,8 @@ import com.android.settings.Utils;
import com.android.settings.biometrics.BiometricEnrollBase;
import com.android.settings.biometrics.BiometricEnrollSidecar.Listener;
import com.android.settings.password.ChooseLockSettingsHelper;
+import com.google.android.setupcompat.item.FooterButton;
+import com.google.android.setupcompat.template.ButtonFooterMixin;
/**
* Activity explaining the fingerprint sensor location for fingerprint enrollment.
@@ -46,8 +47,15 @@ public class FingerprintEnrollFindSensor extends BiometricEnrollBase {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(getContentView());
- Button skipButton = findViewById(R.id.skip_button);
- skipButton.setOnClickListener(this);
+ mButtonFooterMixin = getLayout().getMixin(ButtonFooterMixin.class);
+ mButtonFooterMixin.setSecondaryButton(
+ new FooterButton(
+ this,
+ R.string.skip_label,
+ this::onSkipButtonClick,
+ FooterButton.ButtonType.SKIP,
+ R.style.SuwGlifButton_Secondary)
+ );
setHeaderText(R.string.security_settings_fingerprint_enroll_find_sensor_title);
@@ -120,18 +128,7 @@ public class FingerprintEnrollFindSensor extends BiometricEnrollBase {
}
}
- @Override
- public void onClick(View v) {
- switch (v.getId()) {
- case R.id.skip_button:
- onSkipButtonClick();
- break;
- default:
- super.onClick(v);
- }
- }
-
- protected void onSkipButtonClick() {
+ protected void onSkipButtonClick(View view) {
setResult(RESULT_SKIP);
finish();
}
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinish.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinish.java
index db6b5bcfdf8..76f1d1fa033 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinish.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinish.java
@@ -20,13 +20,15 @@ import android.content.Intent;
import android.hardware.fingerprint.FingerprintManager;
import android.os.Bundle;
import android.view.View;
-import android.widget.Button;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.biometrics.BiometricEnrollBase;
+import com.google.android.setupcompat.item.FooterButton;
+import com.google.android.setupcompat.template.ButtonFooterMixin;
+
/**
* Activity which concludes fingerprint enrollment.
*/
@@ -39,13 +41,32 @@ public class FingerprintEnrollFinish extends BiometricEnrollBase {
super.onCreate(savedInstanceState);
setContentView(R.layout.fingerprint_enroll_finish);
setHeaderText(R.string.security_settings_fingerprint_enroll_finish_title);
+
+ mButtonFooterMixin = getLayout().getMixin(ButtonFooterMixin.class);
+ mButtonFooterMixin.setSecondaryButton(
+ new FooterButton(
+ this,
+ R.string.fingerprint_enroll_button_add,
+ null,
+ FooterButton.ButtonType.SKIP,
+ R.style.SuwGlifButton_Secondary)
+ );
+
+ mButtonFooterMixin.setPrimaryButton(
+ new FooterButton(
+ this,
+ R.string.security_settings_fingerprint_enroll_done,
+ this::onNextButtonClick,
+ FooterButton.ButtonType.NEXT,
+ R.style.SuwGlifButton_Primary)
+ );
}
@Override
protected void onResume() {
super.onResume();
- Button addButton = (Button) findViewById(R.id.add_another_button);
+ FooterButton addButton = mButtonFooterMixin.getSecondaryButton();
final FingerprintManager fpm = Utils.getFingerprintManagerOrNull(this);
boolean hideAddAnother = false;
@@ -59,22 +80,18 @@ public class FingerprintEnrollFinish extends BiometricEnrollBase {
// Don't show "Add" button if too many fingerprints already added
addButton.setVisibility(View.INVISIBLE);
} else {
- addButton.setOnClickListener(this);
+ addButton.setOnClickListener(this::onAddAnotherButtonClick);
}
}
@Override
- protected void onNextButtonClick() {
+ protected void onNextButtonClick(View view) {
setResult(RESULT_FINISHED);
finish();
}
- @Override
- public void onClick(View v) {
- if (v.getId() == R.id.add_another_button) {
- startActivityForResult(getFingerprintEnrollingIntent(), REQUEST_ADD_ANOTHER);
- }
- super.onClick(v);
+ private void onAddAnotherButtonClick(View view) {
+ startActivityForResult(getFingerprintEnrollingIntent(), REQUEST_ADD_ANOTHER);
}
@Override
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java
index 61c67a5e3fb..4eca87d4bf9 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java
@@ -22,7 +22,6 @@ import android.content.Intent;
import android.hardware.fingerprint.FingerprintManager;
import android.os.Bundle;
import android.util.Log;
-import android.widget.Button;
import android.widget.TextView;
import com.android.internal.logging.nano.MetricsProto;
@@ -33,6 +32,8 @@ import com.android.settings.password.ChooseLockSettingsHelper;
import com.android.settingslib.HelpUtils;
import com.android.settingslib.RestrictedLockUtilsInternal;
+import com.google.android.setupcompat.item.FooterButton;
+import com.google.android.setupcompat.template.ButtonFooterMixin;
import com.google.android.setupdesign.span.LinkSpan;
public class FingerprintEnrollIntroduction extends BiometricEnrollIntroduction {
@@ -45,6 +46,25 @@ public class FingerprintEnrollIntroduction extends BiometricEnrollIntroduction {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mFingerprintManager = Utils.getFingerprintManagerOrNull(this);
+
+ mButtonFooterMixin = getLayout().getMixin(ButtonFooterMixin.class);
+ mButtonFooterMixin.setSecondaryButton(
+ new FooterButton(
+ this,
+ R.string.security_settings_face_enroll_introduction_cancel,
+ this::onCancelButtonClick,
+ FooterButton.ButtonType.SKIP,
+ R.style.SuwGlifButton_Secondary)
+ );
+
+ mButtonFooterMixin.setPrimaryButton(
+ new FooterButton(
+ this,
+ R.string.wizard_next,
+ this::onNextButtonClick,
+ FooterButton.ButtonType.NEXT,
+ R.style.SuwGlifButton_Primary)
+ );
}
@Override
@@ -74,13 +94,19 @@ public class FingerprintEnrollIntroduction extends BiometricEnrollIntroduction {
}
@Override
- protected Button getCancelButton() {
- return findViewById(R.id.fingerprint_cancel_button);
+ protected FooterButton getCancelButton() {
+ if (mButtonFooterMixin != null) {
+ return mButtonFooterMixin.getSecondaryButton();
+ }
+ return null;
}
@Override
- protected Button getNextButton() {
- return findViewById(R.id.fingerprint_next_button);
+ protected FooterButton getNextButton() {
+ if (mButtonFooterMixin != null) {
+ return mButtonFooterMixin.getPrimaryButton();
+ }
+ return null;
}
@Override
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintSuggestionActivity.java b/src/com/android/settings/biometrics/fingerprint/FingerprintSuggestionActivity.java
index f5fe92b7bcd..704ed13be1d 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintSuggestionActivity.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintSuggestionActivity.java
@@ -19,19 +19,21 @@ package com.android.settings.biometrics.fingerprint;
import android.app.admin.DevicePolicyManager;
import android.content.Context;
import android.hardware.fingerprint.FingerprintManager;
-import android.widget.Button;
import com.android.settings.R;
import com.android.settings.Utils;
+import com.google.android.setupcompat.item.FooterButton;
+
public class FingerprintSuggestionActivity extends SetupFingerprintEnrollIntroduction {
@Override
protected void initViews() {
super.initViews();
- final Button cancelButton = findViewById(R.id.fingerprint_cancel_button);
- cancelButton.setText(R.string.security_settings_fingerprint_enroll_introduction_cancel);
+ final FooterButton cancelButton = getCancelButton();
+ cancelButton.setText(
+ this, R.string.security_settings_fingerprint_enroll_introduction_cancel);
}
@Override
diff --git a/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFindSensor.java b/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFindSensor.java
index 8ab92523095..5f1a240bdce 100644
--- a/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFindSensor.java
+++ b/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFindSensor.java
@@ -22,6 +22,7 @@ import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.os.UserHandle;
+import android.view.View;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
@@ -53,7 +54,7 @@ public class SetupFingerprintEnrollFindSensor extends FingerprintEnrollFindSenso
}
@Override
- protected void onSkipButtonClick() {
+ protected void onSkipButtonClick(View view) {
new SkipFingerprintDialog().show(getSupportFragmentManager());
}
diff --git a/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFinish.java b/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFinish.java
index 49eac16bfe8..6afbb84ecd5 100644
--- a/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFinish.java
+++ b/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFinish.java
@@ -25,6 +25,8 @@ import com.android.settings.R;
import com.android.settings.SetupWizardUtils;
import com.android.settings.password.ChooseLockSettingsHelper;
+import com.google.android.setupcompat.item.FooterButton;
+
public class SetupFingerprintEnrollFinish extends FingerprintEnrollFinish {
@Override
@@ -41,8 +43,8 @@ public class SetupFingerprintEnrollFinish extends FingerprintEnrollFinish {
@Override
protected void initViews() {
super.initViews();
- Button nextButton = findViewById(R.id.next_button);
- nextButton.setText(R.string.next_label);
+ FooterButton nextButton = getNextButton();
+ nextButton.setText(this, R.string.next_label);
}
@Override
diff --git a/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollIntroduction.java b/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollIntroduction.java
index 08f5c7e061b..a74bbbad962 100644
--- a/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollIntroduction.java
+++ b/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollIntroduction.java
@@ -23,7 +23,7 @@ import android.content.Intent;
import android.os.Bundle;
import android.os.UserHandle;
import android.os.storage.StorageManager;
-import android.widget.Button;
+import android.view.View;
import android.widget.TextView;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
@@ -34,6 +34,8 @@ import com.android.settings.password.ChooseLockGeneric.ChooseLockGenericFragment
import com.android.settings.password.SetupChooseLockGeneric;
import com.android.settings.password.SetupSkipDialog;
+import com.google.android.setupcompat.item.FooterButton;
+
public class SetupFingerprintEnrollIntroduction extends FingerprintEnrollIntroduction {
private static final String KEY_LOCK_SCREEN_PRESENT = "wasLockScreenPresent";
private boolean mAlreadyHadLockScreenSetup = false;
@@ -84,13 +86,13 @@ public class SetupFingerprintEnrollIntroduction extends FingerprintEnrollIntrodu
description.setText(
R.string.security_settings_fingerprint_enroll_introduction_message_setup);
- Button nextButton = getNextButton();
+ FooterButton nextButton = getNextButton();
nextButton.setText(
- R.string.security_settings_fingerprint_enroll_introduction_continue_setup);
+ this, R.string.security_settings_fingerprint_enroll_introduction_continue_setup);
- final Button cancelButton = (Button) findViewById(R.id.fingerprint_cancel_button);
+ final FooterButton cancelButton = getCancelButton();
cancelButton.setText(
- R.string.security_settings_fingerprint_enroll_introduction_cancel_setup);
+ this, R.string.security_settings_fingerprint_enroll_introduction_cancel_setup);
}
@Override
@@ -116,7 +118,7 @@ public class SetupFingerprintEnrollIntroduction extends FingerprintEnrollIntrodu
}
@Override
- protected void onCancelButtonClick() {
+ protected void onCancelButtonClick(View view) {
if (isKeyguardSecure()) {
// If the keyguard is already set up securely (maybe the user added a backup screen
// lock and skipped fingerprint), return RESULT_SKIP directly.
diff --git a/tests/robotests/res/layout-mcc999/fingerprint_enroll_find_sensor.xml b/tests/robotests/res/layout-mcc999/fingerprint_enroll_find_sensor.xml
index 50e2a379894..83eb781fb92 100644
--- a/tests/robotests/res/layout-mcc999/fingerprint_enroll_find_sensor.xml
+++ b/tests/robotests/res/layout-mcc999/fingerprint_enroll_find_sensor.xml
@@ -21,8 +21,7 @@
android:id="@+id/setup_wizard_layout"
style="?attr/fingerprint_layout_theme"
android:layout_width="match_parent"
- android:layout_height="match_parent"
- app:sucFooter="@layout/fingerprint_enroll_find_sensor_base_footer">
+ android:layout_height="match_parent">