Merge "Add context to FingerprintExtPreferencesProvider" into main
This commit is contained in:
committed by
Android (Google) Code Review
commit
af3a006b2a
@@ -73,7 +73,7 @@ public interface FingerprintFeatureProvider {
|
||||
default FingerprintExtPreferencesProvider getExtPreferenceProvider(
|
||||
@NonNull Context context
|
||||
) {
|
||||
return new FingerprintExtPreferencesProvider();
|
||||
return new FingerprintExtPreferencesProvider(context);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -468,12 +468,10 @@ public class FingerprintSettings extends SubSettings {
|
||||
* Add new preferences from FingerprintExtPreferencesProvider
|
||||
*/
|
||||
public void setupExtFingerprintPreferences() {
|
||||
final FingerprintExtPreferencesProvider preferencesProvider =
|
||||
FeatureFactory.getFeatureFactory().getFingerprintFeatureProvider()
|
||||
.getExtPreferenceProvider(requireContext());
|
||||
FingerprintExtPreferencesProvider preferencesProvider = getExtPreferenceProvider();
|
||||
for (int index = 0; index < preferencesProvider.getSize(); ++index) {
|
||||
final RestrictedPreference preference = preferencesProvider.newPreference(
|
||||
index, this::inflateFromResource, requireContext());
|
||||
index, this::inflateFromResource);
|
||||
if (preference == null || findPreference(preference.getKey()) != null) {
|
||||
continue;
|
||||
}
|
||||
@@ -485,6 +483,12 @@ public class FingerprintSettings extends SubSettings {
|
||||
}
|
||||
}
|
||||
|
||||
@NonNull
|
||||
private FingerprintExtPreferencesProvider getExtPreferenceProvider() {
|
||||
return FeatureFactory.getFeatureFactory().getFingerprintFeatureProvider()
|
||||
.getExtPreferenceProvider(requireContext());
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@@ -748,7 +752,8 @@ public class FingerprintSettings extends SubSettings {
|
||||
// This needs to be after setting ids, otherwise
|
||||
// |mRequireScreenOnToAuthPreferenceController.isChecked| is always checking the primary
|
||||
// user instead of the user with |mUserId|.
|
||||
if (isSfps() || (screenOffUnlockUdfps() && isScreenOffUnlcokSupported())) {
|
||||
if (isSfps() || (screenOffUnlockUdfps() && isScreenOffUnlcokSupported())
|
||||
|| getExtPreferenceProvider().getSize() > 0) {
|
||||
scrollToPreference(fpPrefKey);
|
||||
addFingerprintUnlockCategory();
|
||||
}
|
||||
@@ -1266,6 +1271,16 @@ public class FingerprintSettings extends SubSettings {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (mFingerprintUnlockCategoryPreferenceController == null
|
||||
&& getExtPreferenceProvider().getSize() > 0 && controllers != null) {
|
||||
for (AbstractPreferenceController controller : controllers) {
|
||||
if (KEY_FINGERPRINT_UNLOCK_CATEGORY.equals(controller.getPreferenceKey())) {
|
||||
mFingerprintUnlockCategoryPreferenceController =
|
||||
(FingerprintUnlockCategoryController) controller;
|
||||
}
|
||||
}
|
||||
}
|
||||
return controllers;
|
||||
}
|
||||
|
||||
|
||||
@@ -27,14 +27,13 @@ import com.android.settingslib.RestrictedPreference
|
||||
*
|
||||
* @see com.android.settings.biometrics.fingerprint.FingerprintSettings
|
||||
*/
|
||||
open class FingerprintExtPreferencesProvider {
|
||||
open class FingerprintExtPreferencesProvider(protected val context: Context) {
|
||||
|
||||
open val size: Int = 0
|
||||
|
||||
open fun newPreference(
|
||||
index: Int,
|
||||
inflater: PreferenceInflater,
|
||||
context: Context
|
||||
): RestrictedPreference? = null
|
||||
|
||||
interface PreferenceInflater {
|
||||
|
||||
Reference in New Issue
Block a user