Move all the shared data from biometric controllers to separate utility classes

Test: atest SettingsUnitTests

Bug: 215517420
Change-Id: Ic5421cd910ae77d4e7c0a29ae0337edb98a1d3b9
This commit is contained in:
Yuri Ufimtsev
2022-02-18 14:54:12 +00:00
parent 3b3c6bc564
commit 268d1d6dc6
16 changed files with 1175 additions and 212 deletions

View File

@@ -17,7 +17,6 @@
package com.android.settings.biometrics.fingerprint;
import android.content.Context;
import android.hardware.biometrics.BiometricAuthenticator;
import android.hardware.fingerprint.FingerprintManager;
import androidx.annotation.Nullable;
@@ -28,10 +27,8 @@ import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
import com.android.internal.annotations.VisibleForTesting;
import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.biometrics.BiometricStatusPreferenceController;
import com.android.settings.biometrics.ParentalControlsUtils;
import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.RestrictedPreference;
@@ -43,6 +40,7 @@ public class FingerprintStatusPreferenceController extends BiometricStatusPrefer
protected final FingerprintManager mFingerprintManager;
@VisibleForTesting
RestrictedPreference mPreference;
private final FingerprintStatusUtils mFingerprintStatusUtils;
public FingerprintStatusPreferenceController(Context context) {
this(context, KEY_FINGERPRINT_SETTINGS);
@@ -59,6 +57,8 @@ public class FingerprintStatusPreferenceController extends BiometricStatusPrefer
public FingerprintStatusPreferenceController(Context context, String key, Lifecycle lifecycle) {
super(context, key);
mFingerprintManager = Utils.getFingerprintManagerOrNull(context);
mFingerprintStatusUtils =
new FingerprintStatusUtils(context, mFingerprintManager);
if (lifecycle != null) {
lifecycle.addObserver(this);
@@ -78,13 +78,7 @@ public class FingerprintStatusPreferenceController extends BiometricStatusPrefer
@Override
protected boolean isDeviceSupported() {
return !Utils.isMultipleBiometricsSupported(mContext)
&& Utils.hasFingerprintHardware(mContext);
}
@Override
protected boolean hasEnrolledBiometrics() {
return mFingerprintManager.hasEnrolledFingerprints(getUserId());
return mFingerprintStatusUtils.isAvailable();
}
@Override
@@ -94,8 +88,17 @@ public class FingerprintStatusPreferenceController extends BiometricStatusPrefer
}
private void updateStateInternal() {
updateStateInternal(ParentalControlsUtils.parentConsentRequired(
mContext, BiometricAuthenticator.TYPE_FINGERPRINT));
updateStateInternal(mFingerprintStatusUtils.getDisablingAdmin());
}
@Override
protected String getSummaryText() {
return mFingerprintStatusUtils.getSummary();
}
@Override
protected String getSettingsClassName() {
return mFingerprintStatusUtils.getSettingsClassName();
}
@VisibleForTesting
@@ -104,28 +107,4 @@ public class FingerprintStatusPreferenceController extends BiometricStatusPrefer
mPreference.setDisabledByAdmin(enforcedAdmin);
}
}
@Override
protected String getSummaryTextEnrolled() {
final int numEnrolled = mFingerprintManager.getEnrolledFingerprints(getUserId()).size();
return mContext.getResources().getQuantityString(
R.plurals.security_settings_fingerprint_preference_summary,
numEnrolled, numEnrolled);
}
@Override
protected String getSummaryTextNoneEnrolled() {
return mContext.getString(R.string.security_settings_fingerprint_preference_summary_none);
}
@Override
protected String getSettingsClassName() {
return FingerprintSettings.class.getName();
}
@Override
protected String getEnrollClassName() {
return FingerprintEnrollIntroduction.class.getName();
}
}