From e19ee9a01fdcb373c3ba33c898cbb24c1f218326 Mon Sep 17 00:00:00 2001 From: Edgar Wang Date: Thu, 9 Jan 2020 08:53:22 +0000 Subject: [PATCH] Revert "Settings search - Navigate user to exact page" This reverts commit 08f2a58459610afe052a0abcce25afd53197032b. Reason for revert: design changed, we decide to take the user to the entry after clicking on a search result. It's opposite with what we did, so we revert related CL first. Test: robotest Change-Id: Iadb9a94a7ef7838be34a54499e2d934d6396c336 --- .../accessibility_magnification_settings.xml | 3 +- ...bility_notification_vibration_settings.xml | 1 - .../accessibility_ring_vibration_settings.xml | 1 - ...ccessibility_shortcut_service_settings.xml | 1 - res/xml/accessibility_shortcut_settings.xml | 1 - ...accessibility_touch_vibration_settings.xml | 1 - res/xml/app_and_notification.xml | 1 - .../automatic_storage_management_settings.xml | 1 - res/xml/battery_saver_schedule_settings.xml | 1 - res/xml/bluetooth_pairing_detail.xml | 1 - res/xml/bug_report_handler_settings.xml | 1 - res/xml/current_dream_settings.xml | 1 - res/xml/default_voice_settings.xml | 1 - .../enterprise_set_default_apps_settings.xml | 3 +- res/xml/network_scorer_picker_prefs.xml | 1 - res/xml/spellchecker_prefs.xml | 1 - res/xml/tether_prefs.xml | 1 - res/xml/usb_default_fragment.xml | 2 +- res/xml/vr_display_settings.xml | 1 - res/xml/webview_app_settings.xml | 1 - res/xml/when_to_dream_settings.xml | 1 - res/xml/wifi_p2p_settings.xml | 1 - res/xml/wifi_tether_settings.xml | 3 +- ...cessibilityShortcutPreferenceFragment.java | 8 +- ...tificationVibrationPreferenceFragment.java | 6 - .../RingVibrationPreferenceFragment.java | 6 - .../ShortcutServicePickerFragment.java | 6 - .../TouchVibrationPreferenceFragment.java | 6 - .../applications/ProcessStatsSummary.java | 9 - .../assist/DefaultVoiceInputPicker.java | 9 - .../applications/assist/ManageAssist.java | 8 + .../bluetooth/BluetoothPairingDetail.java | 6 - .../BugReportHandlerPicker.java | 6 - .../usb/UsbDefaultFragment.java | 6 - .../core/PreferenceXmlParserUtils.java | 11 -- .../AutomaticStorageManagerSettings.java | 2 +- .../compat/PlatformCompatDashboard.java | 13 +- .../legal/ModuleLicensesDashboard.java | 9 - .../display/VrDisplayPreferencePicker.java | 9 - .../settings/dream/CurrentDreamPicker.java | 9 - .../settings/dream/WhenToDreamPicker.java | 9 - .../EnterpriseSetDefaultAppsListFragment.java | 6 - .../BatterySaverScheduleSettings.java | 6 - .../settings/gestures/GestureSettings.java | 7 + .../inputmethod/SpellCheckersSettings.java | 9 - .../settings/network/NetworkScorerPicker.java | 6 - .../security/LockscreenDashboardFragment.java | 10 ++ .../settings/webview/WebViewAppPicker.java | 9 - .../settings/wifi/p2p/WifiP2pSettings.java | 8 +- .../SavedAccessPointsWifiSettings.java | 6 - .../SavedAccessPointsWifiSettings2.java | 6 - .../grandfather_fragment_not_searchable | 20 --- ...randfather_not_implementing_index_provider | 10 ++ .../ConnectedDeviceDashboardFragmentTest.java | 2 +- .../codeinspection/CodeInspectionTest.java | 6 - .../FragmentSearchIndexableCodeInspector.java | 159 ------------------ 56 files changed, 52 insertions(+), 386 deletions(-) delete mode 100644 tests/robotests/assets/grandfather_fragment_not_searchable delete mode 100644 tests/robotests/src/com/android/settings/search/FragmentSearchIndexableCodeInspector.java diff --git a/res/xml/accessibility_magnification_settings.xml b/res/xml/accessibility_magnification_settings.xml index 74156440e4a..bb403948105 100644 --- a/res/xml/accessibility_magnification_settings.xml +++ b/res/xml/accessibility_magnification_settings.xml @@ -17,7 +17,8 @@ xmlns:android="http://schemas.android.com/apk/res/android" xmlns:settings="http://schemas.android.com/apk/res-auto" android:key="magnification_preference_screen_title" - android:title="@string/accessibility_screen_magnification_title"> + android:title="@string/accessibility_screen_magnification_title" + settings:searchable="false"> diff --git a/res/xml/accessibility_ring_vibration_settings.xml b/res/xml/accessibility_ring_vibration_settings.xml index 121eb89a712..078f76c2ce8 100644 --- a/res/xml/accessibility_ring_vibration_settings.xml +++ b/res/xml/accessibility_ring_vibration_settings.xml @@ -17,5 +17,4 @@ diff --git a/res/xml/accessibility_shortcut_service_settings.xml b/res/xml/accessibility_shortcut_service_settings.xml index b2f13273c27..573939a21b2 100644 --- a/res/xml/accessibility_shortcut_service_settings.xml +++ b/res/xml/accessibility_shortcut_service_settings.xml @@ -17,5 +17,4 @@ diff --git a/res/xml/accessibility_shortcut_settings.xml b/res/xml/accessibility_shortcut_settings.xml index 9e1d26f58f8..f431dec1e5c 100644 --- a/res/xml/accessibility_shortcut_settings.xml +++ b/res/xml/accessibility_shortcut_settings.xml @@ -15,7 +15,6 @@ --> diff --git a/res/xml/app_and_notification.xml b/res/xml/app_and_notification.xml index 9256f50fbb4..f75bd8629ae 100644 --- a/res/xml/app_and_notification.xml +++ b/res/xml/app_and_notification.xml @@ -79,7 +79,6 @@ android:key="app_and_notif_cell_broadcast_settings" android:title="@string/cell_broadcast_settings" android:order="15" - settings:searchable="false" settings:useAdminDisabledSummary="true"> diff --git a/res/xml/bluetooth_pairing_detail.xml b/res/xml/bluetooth_pairing_detail.xml index cd9c32457e9..86fb9e43d44 100644 --- a/res/xml/bluetooth_pairing_detail.xml +++ b/res/xml/bluetooth_pairing_detail.xml @@ -17,7 +17,6 @@ \ No newline at end of file diff --git a/res/xml/current_dream_settings.xml b/res/xml/current_dream_settings.xml index b3f3f9fb1a2..d95e830f523 100644 --- a/res/xml/current_dream_settings.xml +++ b/res/xml/current_dream_settings.xml @@ -17,5 +17,4 @@ diff --git a/res/xml/default_voice_settings.xml b/res/xml/default_voice_settings.xml index 511294c72c5..f75b5ed4271 100644 --- a/res/xml/default_voice_settings.xml +++ b/res/xml/default_voice_settings.xml @@ -17,5 +17,4 @@ diff --git a/res/xml/enterprise_set_default_apps_settings.xml b/res/xml/enterprise_set_default_apps_settings.xml index 12eca8a10c9..474a5c92767 100644 --- a/res/xml/enterprise_set_default_apps_settings.xml +++ b/res/xml/enterprise_set_default_apps_settings.xml @@ -17,8 +17,7 @@ + android:key="enterprise_set_default_apps_settings"> diff --git a/res/xml/network_scorer_picker_prefs.xml b/res/xml/network_scorer_picker_prefs.xml index 7d1fe462c2e..fab69e76f87 100644 --- a/res/xml/network_scorer_picker_prefs.xml +++ b/res/xml/network_scorer_picker_prefs.xml @@ -17,6 +17,5 @@ \ No newline at end of file diff --git a/res/xml/spellchecker_prefs.xml b/res/xml/spellchecker_prefs.xml index 26476f46635..666b0a9b0c1 100644 --- a/res/xml/spellchecker_prefs.xml +++ b/res/xml/spellchecker_prefs.xml @@ -16,7 +16,6 @@ diff --git a/res/xml/vr_display_settings.xml b/res/xml/vr_display_settings.xml index 9522af5b74b..d04435ac810 100644 --- a/res/xml/vr_display_settings.xml +++ b/res/xml/vr_display_settings.xml @@ -17,5 +17,4 @@ diff --git a/res/xml/webview_app_settings.xml b/res/xml/webview_app_settings.xml index 51e472dc101..c7a611ace8b 100644 --- a/res/xml/webview_app_settings.xml +++ b/res/xml/webview_app_settings.xml @@ -17,5 +17,4 @@ diff --git a/res/xml/when_to_dream_settings.xml b/res/xml/when_to_dream_settings.xml index 13f5ae49f23..7b91a34b322 100644 --- a/res/xml/when_to_dream_settings.xml +++ b/res/xml/when_to_dream_settings.xml @@ -17,5 +17,4 @@ diff --git a/res/xml/wifi_p2p_settings.xml b/res/xml/wifi_p2p_settings.xml index f59479736e8..405d0810c81 100644 --- a/res/xml/wifi_p2p_settings.xml +++ b/res/xml/wifi_p2p_settings.xml @@ -16,7 +16,6 @@ + android:title="@string/wifi_hotspot_checkbox_text" + settings:searchable="false"> getNonIndexableKeys(Context context) { + List keys = super.getNonIndexableKeys(context); + keys.add(KEY_ASSIST); + return keys; + } }; } diff --git a/src/com/android/settings/bluetooth/BluetoothPairingDetail.java b/src/com/android/settings/bluetooth/BluetoothPairingDetail.java index f220b8b1da0..2e0e9b5c2ff 100644 --- a/src/com/android/settings/bluetooth/BluetoothPairingDetail.java +++ b/src/com/android/settings/bluetooth/BluetoothPairingDetail.java @@ -29,17 +29,14 @@ import android.widget.Toast; import androidx.annotation.VisibleForTesting; import com.android.settings.R; -import com.android.settings.search.BaseSearchIndexProvider; import com.android.settingslib.bluetooth.BluetoothDeviceFilter; import com.android.settingslib.bluetooth.CachedBluetoothDevice; import com.android.settingslib.search.Indexable; -import com.android.settingslib.search.SearchIndexable; import com.android.settingslib.widget.FooterPreference; /** * BluetoothPairingDetail is a page to scan bluetooth devices and pair them. */ -@SearchIndexable public class BluetoothPairingDetail extends DeviceListPreferenceFragment implements Indexable { private static final String TAG = "BluetoothPairingDetail"; @@ -236,7 +233,4 @@ public class BluetoothPairingDetail extends DeviceListPreferenceFragment impleme Toast.makeText(getContext(), R.string.connected_device_bluetooth_turned_on_toast, Toast.LENGTH_SHORT).show(); } - - public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = - new BaseSearchIndexProvider(R.xml.bluetooth_pairing_detail); } diff --git a/src/com/android/settings/bugreporthandler/BugReportHandlerPicker.java b/src/com/android/settings/bugreporthandler/BugReportHandlerPicker.java index 5839e3c0844..b813f1dbd29 100644 --- a/src/com/android/settings/bugreporthandler/BugReportHandlerPicker.java +++ b/src/com/android/settings/bugreporthandler/BugReportHandlerPicker.java @@ -35,10 +35,8 @@ import androidx.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.Utils; import com.android.settings.applications.defaultapps.DefaultAppPickerFragment; -import com.android.settings.search.BaseSearchIndexProvider; import com.android.settingslib.applications.DefaultAppInfo; import com.android.settingslib.development.DevelopmentSettingsEnabler; -import com.android.settingslib.search.SearchIndexable; import com.android.settingslib.widget.FooterPreference; import java.util.ArrayList; @@ -47,7 +45,6 @@ import java.util.List; /** * Picker for BugReportHandler. */ -@SearchIndexable public class BugReportHandlerPicker extends DefaultAppPickerFragment { private static final String TAG = "BugReportHandlerPicker"; @@ -214,7 +211,4 @@ public class BugReportHandlerPicker extends DefaultAppPickerFragment { return super.loadLabel(); } } - - public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = - new BaseSearchIndexProvider(R.xml.bug_report_handler_settings); } diff --git a/src/com/android/settings/connecteddevice/usb/UsbDefaultFragment.java b/src/com/android/settings/connecteddevice/usb/UsbDefaultFragment.java index 2d6a098f9b8..12e978ff349 100644 --- a/src/com/android/settings/connecteddevice/usb/UsbDefaultFragment.java +++ b/src/com/android/settings/connecteddevice/usb/UsbDefaultFragment.java @@ -30,9 +30,7 @@ import androidx.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.Utils; -import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.widget.RadioButtonPickerFragment; -import com.android.settingslib.search.SearchIndexable; import com.android.settingslib.widget.CandidateInfo; import com.android.settingslib.widget.FooterPreference; import com.android.settingslib.widget.RadioButtonPreference; @@ -44,7 +42,6 @@ import java.util.List; /** * Provides options for selecting the default USB mode. */ -@SearchIndexable public class UsbDefaultFragment extends RadioButtonPickerFragment { @VisibleForTesting UsbBackend mUsbBackend; @@ -195,7 +192,4 @@ public class UsbDefaultFragment extends RadioButtonPickerFragment { } } } - - public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = - new BaseSearchIndexProvider(R.xml.usb_default_fragment); } \ No newline at end of file diff --git a/src/com/android/settings/core/PreferenceXmlParserUtils.java b/src/com/android/settings/core/PreferenceXmlParserUtils.java index 35f7ebbefe5..240426d69d9 100644 --- a/src/com/android/settings/core/PreferenceXmlParserUtils.java +++ b/src/com/android/settings/core/PreferenceXmlParserUtils.java @@ -89,7 +89,6 @@ public class PreferenceXmlParserUtils { int FLAG_NEED_PREF_APPEND = 1 << 10; int FLAG_UNAVAILABLE_SLICE_SUBTITLE = 1 << 11; int FLAG_FOR_WORK = 1 << 12; - int FLAG_NEED_FRAGMENT = 1 << 13; } public static final String METADATA_PREF_TYPE = "type"; @@ -103,7 +102,6 @@ public class PreferenceXmlParserUtils { public static final String METADATA_APPEND = "staticPreferenceLocation"; public static final String METADATA_UNAVAILABLE_SLICE_SUBTITLE = "unavailable_slice_subtitle"; public static final String METADATA_FOR_WORK = "for_work"; - public static final String METADATA_FRAGMENT = "fragment"; private static final String ENTRIES_SEPARATOR = "|"; @@ -252,10 +250,6 @@ public class PreferenceXmlParserUtils { preferenceMetadata.putBoolean(METADATA_FOR_WORK, isForWork(preferenceAttributes)); } - if (hasFlag(flags, MetadataFlag.FLAG_NEED_FRAGMENT)) { - preferenceMetadata.putString(METADATA_FRAGMENT, - getFragment(preferenceAttributes)); - } metadata.add(preferenceMetadata); preferenceAttributes.recycle(); @@ -346,9 +340,4 @@ public class PreferenceXmlParserUtils { return styledAttributes.getBoolean( R.styleable.Preference_forWork, false); } - - private static String getFragment(TypedArray styledAttributes) { - return styledAttributes.getString( - com.android.internal.R.styleable.Preference_fragment); - } } \ No newline at end of file diff --git a/src/com/android/settings/deletionhelper/AutomaticStorageManagerSettings.java b/src/com/android/settings/deletionhelper/AutomaticStorageManagerSettings.java index c04b51c6bd6..0de9f67be36 100644 --- a/src/com/android/settings/deletionhelper/AutomaticStorageManagerSettings.java +++ b/src/com/android/settings/deletionhelper/AutomaticStorageManagerSettings.java @@ -163,7 +163,7 @@ public class AutomaticStorageManagerSettings extends DashboardFragment /** For Search. */ public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = - new BaseSearchIndexProvider(R.xml.automatic_storage_management_settings) { + new BaseSearchIndexProvider() { @Override protected boolean isPageSearchEnabled(Context context) { return false; diff --git a/src/com/android/settings/development/compat/PlatformCompatDashboard.java b/src/com/android/settings/development/compat/PlatformCompatDashboard.java index ffa5c2945e3..db9050009e8 100644 --- a/src/com/android/settings/development/compat/PlatformCompatDashboard.java +++ b/src/com/android/settings/development/compat/PlatformCompatDashboard.java @@ -16,9 +16,8 @@ package com.android.settings.development.compat; -import static com.android.settings.development.AppPicker.EXTRA_DEBUGGABLE; -import static com.android.settings.development.DevelopmentOptionsActivityRequestCodes.REQUEST_COMPAT_CHANGE_APP; import static com.android.internal.compat.OverrideAllowedState.ALLOWED; +import static com.android.settings.development.DevelopmentOptionsActivityRequestCodes.REQUEST_COMPAT_CHANGE_APP; import android.app.Activity; import android.app.settings.SettingsEnums; @@ -27,9 +26,7 @@ import android.content.Context; import android.content.Intent; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; -import android.content.pm.PackageManager.NameNotFoundException; import android.graphics.drawable.Drawable; -import android.os.Build; import android.os.Bundle; import android.os.RemoteException; import android.os.ServiceManager; @@ -45,13 +42,9 @@ import com.android.internal.compat.AndroidBuildClassifier; import com.android.internal.compat.CompatibilityChangeConfig; import com.android.internal.compat.CompatibilityChangeInfo; import com.android.internal.compat.IPlatformCompat; -import com.android.internal.compat.IOverrideValidator; -import com.android.internal.compat.OverrideAllowedState; import com.android.settings.R; import com.android.settings.dashboard.DashboardFragment; import com.android.settings.development.AppPicker; -import com.android.settings.search.BaseSearchIndexProvider; -import com.android.settingslib.search.SearchIndexable; import java.util.ArrayList; import java.util.List; @@ -62,7 +55,6 @@ import java.util.TreeMap; /** * Dashboard for Platform Compat preferences. */ -@SearchIndexable public class PlatformCompatDashboard extends DashboardFragment { private static final String TAG = "PlatformCompatDashboard"; private static final String COMPAT_APP = "compat_app"; @@ -299,7 +291,4 @@ public class PlatformCompatDashboard extends DashboardFragment { return true; } } - - public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = - new BaseSearchIndexProvider(R.xml.platform_compat_settings); } diff --git a/src/com/android/settings/deviceinfo/legal/ModuleLicensesDashboard.java b/src/com/android/settings/deviceinfo/legal/ModuleLicensesDashboard.java index 150dfff4d4d..f74b68f923e 100644 --- a/src/com/android/settings/deviceinfo/legal/ModuleLicensesDashboard.java +++ b/src/com/android/settings/deviceinfo/legal/ModuleLicensesDashboard.java @@ -20,13 +20,7 @@ import android.app.settings.SettingsEnums; import com.android.settings.R; import com.android.settings.dashboard.DashboardFragment; -import com.android.settings.search.BaseSearchIndexProvider; -import com.android.settingslib.search.SearchIndexable; -/** - * Settings screen for mainline module licenses - */ -@SearchIndexable public class ModuleLicensesDashboard extends DashboardFragment { private static final String TAG = "ModuleLicensesDashboard"; @@ -49,7 +43,4 @@ public class ModuleLicensesDashboard extends DashboardFragment { public int getHelpResource() { return 0; } - - public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = - new BaseSearchIndexProvider(R.xml.module_licenses); } diff --git a/src/com/android/settings/display/VrDisplayPreferencePicker.java b/src/com/android/settings/display/VrDisplayPreferencePicker.java index 24102b07eb0..4612779ba5d 100644 --- a/src/com/android/settings/display/VrDisplayPreferencePicker.java +++ b/src/com/android/settings/display/VrDisplayPreferencePicker.java @@ -23,18 +23,12 @@ import android.provider.Settings; import android.text.TextUtils; import com.android.settings.R; -import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.widget.RadioButtonPickerFragment; -import com.android.settingslib.search.SearchIndexable; import com.android.settingslib.widget.CandidateInfo; import java.util.ArrayList; import java.util.List; -/** - * Settings picker screen to what display preferences are applied when device is in VR mode - */ -@SearchIndexable public class VrDisplayPreferencePicker extends RadioButtonPickerFragment { static final String PREF_KEY_PREFIX = "vr_display_pref_"; @@ -108,7 +102,4 @@ public class VrDisplayPreferencePicker extends RadioButtonPickerFragment { return PREF_KEY_PREFIX + value; } } - - public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = - new BaseSearchIndexProvider(R.xml.vr_display_settings); } diff --git a/src/com/android/settings/dream/CurrentDreamPicker.java b/src/com/android/settings/dream/CurrentDreamPicker.java index 0ff7ee9638a..3134e79ffdb 100644 --- a/src/com/android/settings/dream/CurrentDreamPicker.java +++ b/src/com/android/settings/dream/CurrentDreamPicker.java @@ -22,11 +22,9 @@ import android.content.Context; import android.graphics.drawable.Drawable; import com.android.settings.R; -import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.widget.RadioButtonPickerFragment; import com.android.settingslib.dream.DreamBackend; import com.android.settingslib.dream.DreamBackend.DreamInfo; -import com.android.settingslib.search.SearchIndexable; import com.android.settingslib.widget.CandidateInfo; import java.util.HashMap; @@ -34,10 +32,6 @@ import java.util.List; import java.util.Map; import java.util.stream.Collectors; -/** - * Settings picker screen for current screen saver - */ -@SearchIndexable public final class CurrentDreamPicker extends RadioButtonPickerFragment { private DreamBackend mBackend; @@ -128,7 +122,4 @@ public final class CurrentDreamPicker extends RadioButtonPickerFragment { return key; } } - - public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = - new BaseSearchIndexProvider(R.xml.current_dream_settings); } diff --git a/src/com/android/settings/dream/WhenToDreamPicker.java b/src/com/android/settings/dream/WhenToDreamPicker.java index 7208154a44c..1c5e25ebac2 100644 --- a/src/com/android/settings/dream/WhenToDreamPicker.java +++ b/src/com/android/settings/dream/WhenToDreamPicker.java @@ -21,19 +21,13 @@ import android.content.Context; import android.graphics.drawable.Drawable; import com.android.settings.R; -import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.widget.RadioButtonPickerFragment; import com.android.settingslib.dream.DreamBackend; -import com.android.settingslib.search.SearchIndexable; import com.android.settingslib.widget.CandidateInfo; import java.util.ArrayList; import java.util.List; -/** - * Settings screen for decide when to start screen saver - */ -@SearchIndexable public class WhenToDreamPicker extends RadioButtonPickerFragment { private static final String TAG = "WhenToDreamPicker"; @@ -126,7 +120,4 @@ public class WhenToDreamPicker extends RadioButtonPickerFragment { return key; } } - - public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = - new BaseSearchIndexProvider(R.xml.when_to_dream_settings); } diff --git a/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsListFragment.java b/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsListFragment.java index 9ccbcef3df7..67bf68786a6 100644 --- a/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsListFragment.java +++ b/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsListFragment.java @@ -21,9 +21,7 @@ import android.content.Context; import com.android.settings.R; import com.android.settings.dashboard.DashboardFragment; -import com.android.settings.search.BaseSearchIndexProvider; import com.android.settingslib.core.AbstractPreferenceController; -import com.android.settingslib.search.SearchIndexable; import java.util.ArrayList; import java.util.List; @@ -31,7 +29,6 @@ import java.util.List; /** * Fragment for displaying a list of default applications set by profile or device admin. */ -@SearchIndexable public class EnterpriseSetDefaultAppsListFragment extends DashboardFragment { static final String TAG = "EnterprisePrivacySettings"; @@ -59,7 +56,4 @@ public class EnterpriseSetDefaultAppsListFragment extends DashboardFragment { controllers.add(controller); return controllers; } - - public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = - new BaseSearchIndexProvider(R.xml.enterprise_set_default_apps_settings); } diff --git a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettings.java b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettings.java index cc870c71cf6..507c36949d5 100644 --- a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettings.java +++ b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettings.java @@ -34,10 +34,8 @@ import androidx.annotation.VisibleForTesting; import androidx.preference.PreferenceScreen; import com.android.settings.R; -import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.widget.RadioButtonPickerFragment; import com.android.settingslib.fuelgauge.BatterySaverUtils; -import com.android.settingslib.search.SearchIndexable; import com.android.settingslib.widget.CandidateInfo; import com.android.settingslib.widget.RadioButtonPreference; @@ -55,7 +53,6 @@ import java.util.List; * {@link BatterySaverScheduleSeekBarController} for the controller that manages user * interactions in this screen. */ -@SearchIndexable public class BatterySaverScheduleSettings extends RadioButtonPickerFragment { public BatterySaverScheduleRadioButtonsController mRadioButtonController; @@ -210,7 +207,4 @@ public class BatterySaverScheduleSettings extends RadioButtonPickerFragment { return mSummary; } } - - public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = - new BaseSearchIndexProvider(R.xml.battery_saver_schedule_settings); } \ No newline at end of file diff --git a/src/com/android/settings/gestures/GestureSettings.java b/src/com/android/settings/gestures/GestureSettings.java index 412a92a25b0..763efaf9f17 100644 --- a/src/com/android/settings/gestures/GestureSettings.java +++ b/src/com/android/settings/gestures/GestureSettings.java @@ -75,5 +75,12 @@ public class GestureSettings extends DashboardFragment { sir.xmlResId = R.xml.gestures; return Arrays.asList(sir); } + + @Override + protected boolean isPageSearchEnabled(Context context) { + // All rows in this screen can lead to a different page, so suppress everything + // from this page to remove duplicates. + return false; + } }; } diff --git a/src/com/android/settings/inputmethod/SpellCheckersSettings.java b/src/com/android/settings/inputmethod/SpellCheckersSettings.java index 1f10e4f7f9e..974f2c41eaa 100644 --- a/src/com/android/settings/inputmethod/SpellCheckersSettings.java +++ b/src/com/android/settings/inputmethod/SpellCheckersSettings.java @@ -37,15 +37,9 @@ import androidx.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.SettingsActivity; import com.android.settings.SettingsPreferenceFragment; -import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.widget.SwitchBar; import com.android.settings.widget.SwitchBar.OnSwitchChangeListener; -import com.android.settingslib.search.SearchIndexable; -/** - * Settings screen for spell checker - */ -@SearchIndexable public class SpellCheckersSettings extends SettingsPreferenceFragment implements OnSwitchChangeListener, OnPreferenceClickListener, OnPreferenceChangeListener { private static final String TAG = SpellCheckersSettings.class.getSimpleName(); @@ -280,7 +274,4 @@ public class SpellCheckersSettings extends SettingsPreferenceFragment } updatePreferenceScreen(); } - - public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = - new BaseSearchIndexProvider(R.xml.spellchecker_prefs); } diff --git a/src/com/android/settings/network/NetworkScorerPicker.java b/src/com/android/settings/network/NetworkScorerPicker.java index effa38ab96f..9ecab3bfb6f 100644 --- a/src/com/android/settings/network/NetworkScorerPicker.java +++ b/src/com/android/settings/network/NetworkScorerPicker.java @@ -31,8 +31,6 @@ import androidx.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.core.InstrumentedPreferenceFragment; -import com.android.settings.search.BaseSearchIndexProvider; -import com.android.settingslib.search.SearchIndexable; import com.android.settingslib.widget.RadioButtonPreference; import java.util.List; @@ -40,7 +38,6 @@ import java.util.List; /** * Fragment for choosing default network scorer. */ -@SearchIndexable public class NetworkScorerPicker extends InstrumentedPreferenceFragment implements RadioButtonPreference.OnClickListener { @@ -145,7 +142,4 @@ public class NetworkScorerPicker extends InstrumentedPreferenceFragment implemen NetworkScoreManager createNetworkScorerManager(Context context) { return (NetworkScoreManager) context.getSystemService(Context.NETWORK_SCORE_SERVICE); } - - public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = - new BaseSearchIndexProvider(R.xml.network_scorer_picker_prefs); } diff --git a/src/com/android/settings/security/LockscreenDashboardFragment.java b/src/com/android/settings/security/LockscreenDashboardFragment.java index 8098b803f95..29b114a3183 100644 --- a/src/com/android/settings/security/LockscreenDashboardFragment.java +++ b/src/com/android/settings/security/LockscreenDashboardFragment.java @@ -57,6 +57,9 @@ public class LockscreenDashboardFragment extends DashboardFragment @VisibleForTesting static final String KEY_LOCK_SCREEN_NOTIFICATON_WORK_PROFILE = "security_setting_lock_screen_notif_work"; + @VisibleForTesting + static final String KEY_ADD_USER_FROM_LOCK_SCREEN = + "security_lockscreen_add_users_when_locked"; private AmbientDisplayConfiguration mConfig; @@ -138,6 +141,13 @@ public class LockscreenDashboardFragment extends DashboardFragment return controllers; } + @Override + public List getNonIndexableKeys(Context context) { + final List niks = super.getNonIndexableKeys(context); + niks.add(KEY_ADD_USER_FROM_LOCK_SCREEN); + return niks; + } + @Override protected boolean isPageSearchEnabled(Context context) { return new LockScreenPreferenceController(context, "anykey") diff --git a/src/com/android/settings/webview/WebViewAppPicker.java b/src/com/android/settings/webview/WebViewAppPicker.java index e7d7ea3be13..b1dfd1454f9 100644 --- a/src/com/android/settings/webview/WebViewAppPicker.java +++ b/src/com/android/settings/webview/WebViewAppPicker.java @@ -33,17 +33,11 @@ import androidx.annotation.VisibleForTesting; import com.android.settings.R; import com.android.settings.applications.defaultapps.DefaultAppPickerFragment; -import com.android.settings.search.BaseSearchIndexProvider; import com.android.settingslib.applications.DefaultAppInfo; -import com.android.settingslib.search.SearchIndexable; import java.util.ArrayList; import java.util.List; -/** - * Settings picker screen to handle Web implementation - */ -@SearchIndexable public class WebViewAppPicker extends DefaultAppPickerFragment { private WebViewUpdateServiceWrapper mWebViewUpdateServiceWrapper; @@ -170,7 +164,4 @@ public class WebViewAppPicker extends DefaultAppPickerFragment { } return null; } - - public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = - new BaseSearchIndexProvider(R.xml.webview_app_settings); } diff --git a/src/com/android/settings/wifi/p2p/WifiP2pSettings.java b/src/com/android/settings/wifi/p2p/WifiP2pSettings.java index f965e208c7b..8544a53cdb3 100644 --- a/src/com/android/settings/wifi/p2p/WifiP2pSettings.java +++ b/src/com/android/settings/wifi/p2p/WifiP2pSettings.java @@ -56,17 +56,14 @@ import androidx.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.dashboard.DashboardFragment; -import com.android.settings.search.BaseSearchIndexProvider; import com.android.settingslib.core.AbstractPreferenceController; -import com.android.settingslib.search.SearchIndexable; import java.util.ArrayList; import java.util.List; -/** +/* * Displays Wi-fi p2p settings UI */ -@SearchIndexable public class WifiP2pSettings extends DashboardFragment implements PersistentGroupInfoListener, PeerListListener, DeviceInfoListener { @@ -634,7 +631,4 @@ public class WifiP2pSettings extends DashboardFragment }); } } - - public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = - new BaseSearchIndexProvider(R.xml.wifi_p2p_settings); } diff --git a/src/com/android/settings/wifi/savedaccesspoints/SavedAccessPointsWifiSettings.java b/src/com/android/settings/wifi/savedaccesspoints/SavedAccessPointsWifiSettings.java index ab2aada6392..863e87a268e 100644 --- a/src/com/android/settings/wifi/savedaccesspoints/SavedAccessPointsWifiSettings.java +++ b/src/com/android/settings/wifi/savedaccesspoints/SavedAccessPointsWifiSettings.java @@ -27,17 +27,14 @@ import androidx.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.core.SubSettingLauncher; import com.android.settings.dashboard.DashboardFragment; -import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.wifi.WifiSettings; import com.android.settings.wifi.details.WifiNetworkDetailsFragment; -import com.android.settingslib.search.SearchIndexable; import com.android.settingslib.wifi.AccessPoint; import com.android.settingslib.wifi.AccessPointPreference; /** * UI to manage saved networks/access points. */ -@SearchIndexable public class SavedAccessPointsWifiSettings extends DashboardFragment { private static final String TAG = "SavedAccessPoints"; @@ -133,7 +130,4 @@ public class SavedAccessPointsWifiSettings extends DashboardFragment { outState.putBundle(SAVE_DIALOG_ACCESS_POINT_STATE, mAccessPointSavedState); } } - - public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = - new BaseSearchIndexProvider(R.xml.wifi_display_saved_access_points); } diff --git a/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsWifiSettings2.java b/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsWifiSettings2.java index 16bb2ccd23c..0145bb48d32 100644 --- a/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsWifiSettings2.java +++ b/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsWifiSettings2.java @@ -37,10 +37,8 @@ import androidx.preference.PreferenceScreen; import com.android.settings.R; import com.android.settings.core.SubSettingLauncher; import com.android.settings.dashboard.DashboardFragment; -import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.wifi.WifiSettings; import com.android.settings.wifi.details2.WifiNetworkDetailsFragment2; -import com.android.settingslib.search.SearchIndexable; import com.android.wifitrackerlib.SavedNetworkTracker; import java.time.Clock; @@ -49,7 +47,6 @@ import java.time.ZoneOffset; /** * UI to manage saved networks/access points. */ -@SearchIndexable public class SavedAccessPointsWifiSettings2 extends DashboardFragment implements SavedNetworkTracker.SavedNetworkTrackerCallback { @@ -167,7 +164,4 @@ public class SavedAccessPointsWifiSettings2 extends DashboardFragment use(SubscribedAccessPointsPreferenceController2.class) .displayPreference(screen, mSavedNetworkTracker.getSubscriptionWifiEntries()); } - - public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = - new BaseSearchIndexProvider(R.xml.wifi_display_saved_access_points2); } diff --git a/tests/robotests/assets/grandfather_fragment_not_searchable b/tests/robotests/assets/grandfather_fragment_not_searchable deleted file mode 100644 index 7488d5f152c..00000000000 --- a/tests/robotests/assets/grandfather_fragment_not_searchable +++ /dev/null @@ -1,20 +0,0 @@ -com.android.settings.backup.ToggleBackupSettingFragment -com.android.settings.applications.RunningServices -com.android.settings.applications.ConvertToFbe -com.android.settings.applications.appops.BackgroundCheckSummary -com.android.settings.fuelgauge.InactiveApps -com.android.settings.ResetNetwork -com.android.settings.MasterClear -com.android.settings.applications.manageapplications.ManageApplications -com.android.settings.enterprise.ApplicationListFragment$EnterpriseInstalledPackages -com.android.settings.enterprise.ApplicationListFragment$AdminGrantedPermissionLocation -com.android.settings.enterprise.ApplicationListFragment$AdminGrantedPermissionMicrophone -com.android.settings.enterprise.ApplicationListFragment$AdminGrantedPermissionCamera -com.android.settings.vpn2.VpnSettings -com.android.settings.security.CryptKeeperSettings -com.android.settings.TrustedCredentialsSettings -com.android.settings.UserCredentialsSettings -com.android.settings.applications.defaultapps.DefaultAutofillPicker -com.android.phone.NetworkSelectSetting -com.android.settings.accessibility.ToggleScreenMagnificationPreferenceFragment -com.android.settings.nfc.AndroidBeam \ No newline at end of file diff --git a/tests/robotests/assets/grandfather_not_implementing_index_provider b/tests/robotests/assets/grandfather_not_implementing_index_provider index 8aa12889553..80e179a1cc8 100644 --- a/tests/robotests/assets/grandfather_not_implementing_index_provider +++ b/tests/robotests/assets/grandfather_not_implementing_index_provider @@ -17,6 +17,7 @@ com.android.settings.applications.AppLaunchSettings com.android.settings.applications.AppStorageSettings com.android.settings.applications.ConfirmConvertToFbe com.android.settings.applications.ProcessStatsDetail +com.android.settings.applications.ProcessStatsSummary com.android.settings.applications.ProcessStatsUi com.android.settings.applications.RunningServices com.android.settings.applications.specialaccess.pictureinpicture.PictureInPictureDetails @@ -25,6 +26,7 @@ com.android.settings.applications.UsageAccessDetails com.android.settings.backup.ToggleBackupSettingFragment com.android.settings.biometrics.fingerprint.FingerprintSettings$FingerprintSettingsFragment com.android.settings.bluetooth.BluetoothDeviceDetailsFragment +com.android.settings.bluetooth.BluetoothPairingDetail com.android.settings.bluetooth.DevicePickerFragment com.android.settings.dashboard.profileselector.ProfileSelectAccountFragment com.android.settings.dashboard.profileselector.ProfileSelectManageApplications @@ -32,19 +34,24 @@ com.android.settings.dashboard.profileselector.ProfileSelectLocationFragment com.android.settings.datausage.AppDataUsage com.android.settings.datausage.DataUsageList com.android.settings.datausage.DataUsageSummary +com.android.settings.datetime.timezone.TimeZoneSettings +com.android.settings.development.compat.PlatformCompatDashboard com.android.settings.deviceinfo.PrivateVolumeSettings com.android.settings.deviceinfo.PublicVolumeSettings com.android.settings.deviceinfo.StorageProfileFragment +com.android.settings.deviceinfo.legal.ModuleLicensesDashboard com.android.settings.enterprise.ApplicationListFragment$AdminGrantedPermissionCamera com.android.settings.enterprise.ApplicationListFragment$AdminGrantedPermissionLocation com.android.settings.enterprise.ApplicationListFragment$AdminGrantedPermissionMicrophone com.android.settings.enterprise.ApplicationListFragment$EnterpriseInstalledPackages +com.android.settings.enterprise.EnterpriseSetDefaultAppsListFragment com.android.settings.fuelgauge.AdvancedPowerUsageDetail com.android.settings.fuelgauge.InactiveApps com.android.settings.fuelgauge.RestrictedAppDetails com.android.settings.IccLockSettings com.android.settings.inputmethod.InputMethodAndSubtypeEnabler com.android.settings.inputmethod.KeyboardLayoutPickerFragment +com.android.settings.inputmethod.SpellCheckersSettings com.android.settings.location.LocationPersonalSettings com.android.settings.location.LocationWorkProfileSettings com.android.settings.network.ApnEditor @@ -81,7 +88,10 @@ com.android.settings.wifi.ChangeWifiStateDetails com.android.settings.wifi.calling.WifiCallingSettingsForSub com.android.settings.wifi.details.WifiNetworkDetailsFragment com.android.settings.wifi.dpp.WifiNetworkListFragment +com.android.settings.wifi.p2p.WifiP2pSettings +com.android.settings.wifi.savedaccesspoints.SavedAccessPointsWifiSettings com.android.settings.wifi.WifiInfo com.android.settings.applications.specialaccess.notificationaccess.NotificationAccessDetails com.android.settings.wifi.details2.WifiNetworkDetailsFragment2 +com.android.settings.wifi.savedaccesspoints2.SavedAccessPointsWifiSettings2 com.android.settings.dashboard.profileselector.ProfileSelectRecentLocationRequestFragment diff --git a/tests/robotests/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragmentTest.java index 4a6816ff393..778bb79c5b2 100644 --- a/tests/robotests/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragmentTest.java +++ b/tests/robotests/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragmentTest.java @@ -81,7 +81,7 @@ public class ConnectedDeviceDashboardFragmentTest { final List niks = ConnectedDeviceDashboardFragment.SEARCH_INDEX_DATA_PROVIDER .getNonIndexableKeys(mContext); - assertThat(niks).containsAllOf(KEY_CONNECTED_DEVICES, KEY_AVAILABLE_DEVICES, + assertThat(niks).containsExactly(KEY_CONNECTED_DEVICES, KEY_AVAILABLE_DEVICES, KEY_NEARBY_DEVICES, KEY_DISCOVERABLE_FOOTER); } diff --git a/tests/robotests/src/com/android/settings/core/codeinspection/CodeInspectionTest.java b/tests/robotests/src/com/android/settings/core/codeinspection/CodeInspectionTest.java index bbbeeb800ee..44b0187e47b 100644 --- a/tests/robotests/src/com/android/settings/core/codeinspection/CodeInspectionTest.java +++ b/tests/robotests/src/com/android/settings/core/codeinspection/CodeInspectionTest.java @@ -20,7 +20,6 @@ import static com.google.common.truth.Truth.assertThat; import com.android.settings.core.BasePreferenceControllerSignatureInspector; import com.android.settings.core.instrumentation.InstrumentableFragmentCodeInspector; -import com.android.settings.search.FragmentSearchIndexableCodeInspector; import com.android.settings.search.SearchIndexProviderCodeInspector; import com.android.settings.slices.SliceControllerInXmlCodeInspector; @@ -72,9 +71,4 @@ public class CodeInspectionTest { public void runLifecycleObserverInspection() { new LifecycleObserverCodeInspector(mClasses).run(); } - - @Test - public void runFragmentIndexableInspection() throws Exception { - new FragmentSearchIndexableCodeInspector(mClasses).run(); - } } diff --git a/tests/robotests/src/com/android/settings/search/FragmentSearchIndexableCodeInspector.java b/tests/robotests/src/com/android/settings/search/FragmentSearchIndexableCodeInspector.java deleted file mode 100644 index a24a64359d3..00000000000 --- a/tests/robotests/src/com/android/settings/search/FragmentSearchIndexableCodeInspector.java +++ /dev/null @@ -1,159 +0,0 @@ -/* - * Copyright (C) 2019 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.settings.search; - -import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_FRAGMENT; - -import static com.google.common.truth.Truth.assertThat; -import static com.google.common.truth.Truth.assertWithMessage; - -import android.content.Context; -import android.os.Bundle; -import android.provider.SearchIndexableResource; -import android.text.TextUtils; - -import com.android.settings.core.InstrumentedPreferenceFragment; -import com.android.settings.core.PreferenceXmlParserUtils; -import com.android.settings.core.codeinspection.CodeInspector; -import com.android.settings.overlay.FeatureFactory; -import com.android.settingslib.search.Indexable; -import com.android.settingslib.search.SearchIndexable; -import com.android.settingslib.search.SearchIndexableData; - -import org.robolectric.RuntimeEnvironment; -import org.xmlpull.v1.XmlPullParserException; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; - -/** - * {@link CodeInspector} to ensure preferences with fragments implement search components correctly. - */ -public class FragmentSearchIndexableCodeInspector extends CodeInspector { - - private final String mErrorNonIndexFragments = - "The following fragments were used by 'android:fragment=Fragment_Class_Name' in " - + "corresponding caller preference Xml. This preference won't be searchable, " - + "the fragment should implement SearchIndexable for Settings Search. If it " - + "should not be searchable, add the fragment's classname to " - + "grandfather_fragment_not_searchable. Fragments:\n"; - - private final Context mContext; - private final List mXmlDeclaredFragments = new ArrayList<>(); - private final List mGrandfatherNotSearchIndesable = new ArrayList<>(); - - public FragmentSearchIndexableCodeInspector(List> classes) throws Exception { - super(classes); - mContext = RuntimeEnvironment.application; - - initDeclaredFragments(); - initializeGrandfatherList(mGrandfatherNotSearchIndesable, - "grandfather_fragment_not_searchable"); - } - - @Override - public void run() { - for (Class clazz : mClasses) { - if (!isConcreteSettingsClass(clazz)) { - // Only care about non-abstract classes. - continue; - } - if (!InstrumentedPreferenceFragment.class.isAssignableFrom(clazz)) { - // Only care about InstrumentedPreferenceFragment - continue; - } - - try { - clazz.getField("SEARCH_INDEX_DATA_PROVIDER"); - mXmlDeclaredFragments.remove(clazz.getName()); - continue; - } catch (NoSuchFieldException e) { - } - - if (SearchIndexable.class.isAssignableFrom(clazz)) { - mXmlDeclaredFragments.remove(clazz.getName()); - continue; - } - } - - mXmlDeclaredFragments.removeAll(mGrandfatherNotSearchIndesable); - - final String missingFragmentError = - buildErrorMessage(mErrorNonIndexFragments, mXmlDeclaredFragments); - - assertWithMessage(missingFragmentError).that(mXmlDeclaredFragments).isEmpty(); - } - - private String buildErrorMessage(String errorSummary, List errorClasses) { - final StringBuilder error = new StringBuilder(errorSummary); - for (String c : errorClasses) { - error.append(c).append("\n"); - } - return error.toString(); - } - - private void initDeclaredFragments() throws IOException, XmlPullParserException { - final List xmlResources = getIndexableXml(); - for (int xmlResId : xmlResources) { - final List metadata = PreferenceXmlParserUtils.extractMetadata(mContext, - xmlResId, PreferenceXmlParserUtils.MetadataFlag.FLAG_NEED_FRAGMENT); - for (Bundle bundle : metadata) { - final String fragmentClassName = bundle.getString(METADATA_FRAGMENT); - if (TextUtils.isEmpty(fragmentClassName)) { - continue; - } - if (!mXmlDeclaredFragments.contains(fragmentClassName)) { - mXmlDeclaredFragments.add(fragmentClassName); - } - } - } - // We definitely have some fragments in xml, so assert not-empty here as a proxy to - // make sure the parser didn't fail - assertThat(mXmlDeclaredFragments).isNotEmpty(); - } - - private List getIndexableXml() { - final List xmlResSet = new ArrayList<>(); - - final Collection bundles = FeatureFactory.getFactory( - mContext).getSearchFeatureProvider().getSearchIndexableResources() - .getProviderValues(); - - for (SearchIndexableData bundle : bundles) { - Indexable.SearchIndexProvider provider = bundle.getSearchIndexProvider(); - - if (provider == null) { - continue; - } - - List resources = provider.getXmlResourcesToIndex(mContext, - true); - - if (resources == null) { - continue; - } - - for (SearchIndexableResource resource : resources) { - // Add '0's anyway. It won't break the test. - xmlResSet.add(resource.xmlResId); - } - } - return xmlResSet; - } -}