[Biometric Onboarding & Edu] Update face settings page

- Added a feature provider for face settings page in FaceFeatureProvider
  for customization
- When face is deleted, disabled the settings buttons instead of hiding
  them.
- Updated new UX style for add/remove face button.

Bug: 370940762
Test: atest FaceSettingsEnrollButtonPreferenceControllerTest
            FaceSettingsFooterPreferenceControllerTest
Test: manual - 1. Enroll face
               2. Go Face Settings page and remove face
	       3. Enroll face again
Flag: com.android.settings.flags.biometrics_onboarding_education

Change-Id: I490e647523eeff2dd1a58aab07f638e3e5e0ffb8
This commit is contained in:
Shawn Lin
2025-01-27 05:16:39 +00:00
parent d6e99d3783
commit d747235a4c
14 changed files with 394 additions and 54 deletions

View File

@@ -24,6 +24,7 @@ import static org.mockito.Mockito.verify;
import android.content.Context;
import android.widget.Button;
import androidx.preference.Preference;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import org.junit.Before;
@@ -43,6 +44,8 @@ public class FaceSettingsEnrollButtonPreferenceControllerTest {
@Mock
private Button mButton;
@Mock
private Preference mPreference;
@Mock
private FaceSettingsEnrollButtonPreferenceController.Listener mListener;
private FaceSettingsEnrollButtonPreferenceController mController;
@@ -65,4 +68,12 @@ public class FaceSettingsEnrollButtonPreferenceControllerTest {
assertThat(mController.isClicked()).isTrue();
verify(mListener).onStartEnrolling(any());
}
@Test
public void testOnPreferenceClick() {
mController.onPreferenceClick(mPreference);
assertThat(mController.isClicked()).isTrue();
verify(mListener).onStartEnrolling(any());
}
}