[Biometric Onboarding & Edu] Update fingerprint settings page
- Added a feature provider for fingerprint settings page in
FingerprintFeatureProvider for customization
- When no fingerprint enrolled, disabled the settings buttons instead of
hiding them.
- Update new UX style for add fingerprint button
Bug: 370940762
Test: manual - 1. Enroll a fingerprint
2. Go Fingerprint Settings page and remove fingerprint
3. Enroll fingerprint again
Test: atest FingerprintSettingsFragmentTest
Flag: com.android.settings.flags.biometrics_onboarding_education
Change-Id: Ibe47bb241c4b20e8e0c5b4a9172aef90bf3727ea
This commit is contained in:
@@ -23,6 +23,7 @@ import android.hardware.fingerprint.FingerprintManager;
|
||||
import android.provider.Settings;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.preference.Preference;
|
||||
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.biometrics.activeunlock.ActiveUnlockStatusUtils;
|
||||
@@ -53,6 +54,20 @@ public class FingerprintSettingsAppsPreferenceController
|
||||
isChecked ? ON : OFF, getUserId());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateState(Preference preference) {
|
||||
super.updateState(preference);
|
||||
if (!FingerprintSettings.isFingerprintHardwareDetected(mContext)) {
|
||||
preference.setEnabled(false);
|
||||
} else if (!mFingerprintManager.hasEnrolledTemplates(getUserId())) {
|
||||
preference.setEnabled(false);
|
||||
} else if (getRestrictingAdmin() != null) {
|
||||
preference.setEnabled(false);
|
||||
} else {
|
||||
preference.setEnabled(true);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAvailabilityStatus() {
|
||||
final ActiveUnlockStatusUtils activeUnlockStatusUtils =
|
||||
|
||||
Reference in New Issue
Block a user