Merge "Fixed search index for fingerprint settings." into main

This commit is contained in:
Joshua Mccloskey
2023-10-31 17:05:36 +00:00
committed by Android (Google) Code Review
2 changed files with 56 additions and 16 deletions

View File

@@ -77,6 +77,7 @@ import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.settings.dashboard.DashboardFragment; import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.password.ChooseLockGeneric; import com.android.settings.password.ChooseLockGeneric;
import com.android.settings.password.ChooseLockSettingsHelper; import com.android.settings.password.ChooseLockSettingsHelper;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settingslib.HelpUtils; import com.android.settingslib.HelpUtils;
import com.android.settingslib.RestrictedLockUtils; import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin; import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
@@ -84,6 +85,7 @@ import com.android.settingslib.RestrictedLockUtilsInternal;
import com.android.settingslib.RestrictedSwitchPreference; import com.android.settingslib.RestrictedSwitchPreference;
import com.android.settingslib.activityembedding.ActivityEmbeddingUtils; import com.android.settingslib.activityembedding.ActivityEmbeddingUtils;
import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.search.SearchIndexable;
import com.android.settingslib.transition.SettingsTransitionHelper; import com.android.settingslib.transition.SettingsTransitionHelper;
import com.android.settingslib.widget.FooterPreference; import com.android.settingslib.widget.FooterPreference;
import com.android.settingslib.widget.TwoTargetPreference; import com.android.settingslib.widget.TwoTargetPreference;
@@ -146,12 +148,47 @@ public class FingerprintSettings extends SubSettings {
return manager != null && isHardwareDetected; return manager != null && isHardwareDetected;
} }
/** /**
* *
*/ */
@SearchIndexable
public static class FingerprintSettingsFragment extends DashboardFragment public static class FingerprintSettingsFragment extends DashboardFragment
implements OnPreferenceChangeListener, FingerprintPreference.OnDeleteClickListener { implements OnPreferenceChangeListener, FingerprintPreference.OnDeleteClickListener {
public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider(R.xml.security_settings_fingerprint) {
@Override
public List<AbstractPreferenceController>
createPreferenceControllers(Context context) {
return createThePreferenceControllers(context);
}
};
private static List<AbstractPreferenceController> createThePreferenceControllers(Context
context) {
final List<AbstractPreferenceController> controllers = new ArrayList<>();
FingerprintManager manager = Utils.getFingerprintManagerOrNull(context);
if (manager == null || !manager.isHardwareDetected()) {
return null;
}
if (manager.isPowerbuttonFps()) {
controllers.add(
new FingerprintUnlockCategoryController(
context,
KEY_FINGERPRINT_UNLOCK_CATEGORY
));
controllers.add(
new FingerprintSettingsRequireScreenOnToAuthPreferenceController(
context,
KEY_REQUIRE_SCREEN_ON_TO_AUTH
));
}
controllers.add(new FingerprintsEnrolledCategoryPreferenceController(context,
KEY_FINGERPRINTS_ENROLLED_CATEGORY));
return controllers;
}
private static class FooterColumn { private static class FooterColumn {
CharSequence mTitle = null; CharSequence mTitle = null;
CharSequence mLearnMoreOverrideText = null; CharSequence mLearnMoreOverrideText = null;
@@ -847,20 +884,20 @@ public class FingerprintSettings extends SubSettings {
} }
private List<AbstractPreferenceController> buildPreferenceControllers(Context context) { private List<AbstractPreferenceController> buildPreferenceControllers(Context context) {
final List<AbstractPreferenceController> controllers = new ArrayList<>(); final List<AbstractPreferenceController> controllers =
createThePreferenceControllers(context);
if (isSfps()) { if (isSfps()) {
for (AbstractPreferenceController controller : controllers) {
if (controller.getPreferenceKey() == KEY_FINGERPRINT_UNLOCK_CATEGORY) {
mFingerprintUnlockCategoryPreferenceController = mFingerprintUnlockCategoryPreferenceController =
new FingerprintUnlockCategoryController( (FingerprintUnlockCategoryController) controller;
context, } else if (controller.getPreferenceKey() == KEY_REQUIRE_SCREEN_ON_TO_AUTH) {
KEY_FINGERPRINT_UNLOCK_CATEGORY
);
mRequireScreenOnToAuthPreferenceController = mRequireScreenOnToAuthPreferenceController =
new FingerprintSettingsRequireScreenOnToAuthPreferenceController( (FingerprintSettingsRequireScreenOnToAuthPreferenceController)
context, controller;
KEY_REQUIRE_SCREEN_ON_TO_AUTH }
);
controllers.add(mFingerprintUnlockCategoryPreferenceController); }
controllers.add(mRequireScreenOnToAuthPreferenceController);
} }
return controllers; return controllers;
} }

View File

@@ -24,7 +24,6 @@ import android.provider.Settings;
import androidx.preference.Preference; import androidx.preference.Preference;
import com.android.internal.annotations.VisibleForTesting; import com.android.internal.annotations.VisibleForTesting;
import com.android.settings.R;
import com.android.settings.Utils; import com.android.settings.Utils;
import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settingslib.search.SearchIndexable; import com.android.settingslib.search.SearchIndexable;
@@ -108,6 +107,10 @@ public class FingerprintSettingsRequireScreenOnToAuthPreferenceController
return UserHandle.of(getUserId()).getIdentifier(); return UserHandle.of(getUserId()).getIdentifier();
} }
/**
* This feature is not directly searchable.
*/
public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider(R.xml.security_settings_fingerprint) {}; new BaseSearchIndexProvider() {};
} }