Directly use BaseIndexableProvider

- Add function getXmlResourceId, Fragments don't need to write
xml resource id twice.
- Remove getPreferenceControllers from Indexable.java. Because it will
move to SettingsLib later for other apps which don't need this function

Bug: 135053028
Test: robolectric
Change-Id: I1e74519aecdea3dde64a5aea79f08d766dbc0003
This commit is contained in:
Raff Tsai
2019-09-19 17:06:45 +08:00
parent 5ff9517f23
commit ac3e0d0988
122 changed files with 199 additions and 440 deletions

View File

@@ -22,7 +22,6 @@ import static com.android.settings.homepage.contextualcards.slices.ContextualAda
import android.app.settings.SettingsEnums;
import android.content.Context;
import android.os.Bundle;
import android.provider.SearchIndexableResource;
import androidx.preference.Preference;
@@ -30,10 +29,6 @@ import com.android.settings.R;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settingslib.search.SearchIndexable;
import com.android.settingslib.widget.FooterPreference;
import java.util.Arrays;
import java.util.List;
@SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
public class AdaptiveSleepSettings extends DashboardFragment {
@@ -59,7 +54,7 @@ public class AdaptiveSleepSettings extends DashboardFragment {
@Override
protected int getPreferenceScreenResId() {
return R.xml.adaptive_sleep_detail;
return SEARCH_INDEX_DATA_PROVIDER.getXmlResourceId();
}
@Override
@@ -77,6 +72,6 @@ public class AdaptiveSleepSettings extends DashboardFragment {
return R.string.help_url_adaptive_sleep;
}
public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider(R.xml.adaptive_sleep_detail);
}

View File

@@ -17,18 +17,13 @@
package com.android.settings.display;
import android.app.settings.SettingsEnums;
import android.content.Context;
import android.os.Bundle;
import android.provider.SearchIndexableResource;
import com.android.settings.R;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settingslib.search.SearchIndexable;
import java.util.Arrays;
import java.util.List;
@SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
public class AutoBrightnessSettings extends DashboardFragment {
@@ -41,7 +36,7 @@ public class AutoBrightnessSettings extends DashboardFragment {
@Override
protected int getPreferenceScreenResId() {
return R.xml.auto_brightness_detail;
return SEARCH_INDEX_DATA_PROVIDER.getXmlResourceId();
}
@Override
@@ -59,14 +54,6 @@ public class AutoBrightnessSettings extends DashboardFragment {
return R.string.help_url_auto_brightness;
}
public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider() {
@Override
public List<SearchIndexableResource> getXmlResourcesToIndex(
Context context, boolean enabled) {
final SearchIndexableResource sir = new SearchIndexableResource(context);
sir.xmlResId = R.xml.auto_brightness_detail;
return Arrays.asList(sir);
}
};
public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider(R.xml.auto_brightness_detail);
}

View File

@@ -22,22 +22,19 @@ import android.hardware.display.ColorDisplayManager;
import android.net.Uri;
import android.os.Handler;
import android.os.Looper;
import android.provider.SearchIndexableResource;
import android.provider.Settings.Secure;
import androidx.annotation.VisibleForTesting;
import androidx.preference.PreferenceScreen;
import com.android.settings.R;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
import com.android.settings.widget.RadioButtonPickerFragment;
import com.android.settingslib.search.SearchIndexable;
import com.android.settingslib.widget.CandidateInfo;
import com.android.settingslib.widget.LayoutPreference;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@SuppressWarnings("WeakerAccess")
@@ -93,7 +90,7 @@ public class ColorModePreferenceFragment extends RadioButtonPickerFragment {
@Override
protected int getPreferenceScreenResId() {
return R.xml.color_mode_settings;
return SEARCH_INDEX_DATA_PROVIDER.getXmlResourceId();
}
@VisibleForTesting
@@ -204,15 +201,8 @@ public class ColorModePreferenceFragment extends RadioButtonPickerFragment {
}
}
public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider() {
@Override
public List<SearchIndexableResource> getXmlResourcesToIndex(
Context context, boolean enabled) {
final SearchIndexableResource sir = new SearchIndexableResource(context);
sir.xmlResId = R.xml.color_mode_settings;
return Arrays.asList(sir);
}
public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider(R.xml.color_mode_settings) {
@Override
protected boolean isPageSearchEnabled(Context context) {

View File

@@ -23,19 +23,15 @@ import android.content.Context;
import android.hardware.display.ColorDisplayManager;
import android.hardware.display.NightDisplayListener;
import android.os.Bundle;
import android.provider.SearchIndexableResource;
import androidx.preference.Preference;
import com.android.settings.R;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
import com.android.settingslib.search.SearchIndexable;
import java.time.LocalTime;
import java.util.ArrayList;
import java.util.List;
/**
* Settings screen for Night display.
@@ -157,7 +153,7 @@ public class NightDisplaySettings extends DashboardFragment
@Override
protected int getPreferenceScreenResId() {
return R.xml.night_display_settings;
return SEARCH_INDEX_DATA_PROVIDER.getXmlResourceId();
}
@Override
@@ -175,7 +171,7 @@ public class NightDisplaySettings extends DashboardFragment
return TAG;
}
public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider(R.xml.night_display_settings) {
@Override

View File

@@ -118,7 +118,7 @@ public class ScreenZoomSettings extends PreviewSeekBarPreferenceFragment {
}
/** Index provider used to expose this fragment in search. */
public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider() {
@Override
public List<SearchIndexableRaw> getRawDataToIndex(Context context,

View File

@@ -115,7 +115,7 @@ public class ToggleFontSizePreferenceFragment extends PreviewSeekBarPreferenceFr
return indices.length - 1;
}
public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider() {
@Override
public List<SearchIndexableRaw> getRawDataToIndex(Context context,