Add search provider for system dashboard fragment.
Bug: 31801428 Test: manual Test:make RunSettingsRoboTests Change-Id: I6a80d64ed9755f4ddcfde33a82be04cfcbf0495b
This commit is contained in:
@@ -14,7 +14,9 @@
|
|||||||
limitations under the License.
|
limitations under the License.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
|
<PreferenceScreen
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:title="@string/header_category_system">
|
||||||
|
|
||||||
<!-- System updates -->
|
<!-- System updates -->
|
||||||
<com.android.settings.dashboard.DashboardTilePreference
|
<com.android.settings.dashboard.DashboardTilePreference
|
||||||
|
@@ -176,7 +176,8 @@ public class DashboardAdapter extends RecyclerView.Adapter<DashboardAdapter.Dash
|
|||||||
resetCount();
|
resetCount();
|
||||||
for (int i = 0; mCategories != null && i < mCategories.size(); i++) {
|
for (int i = 0; mCategories != null && i < mCategories.size(); i++) {
|
||||||
DashboardCategory category = mCategories.get(i);
|
DashboardCategory category = mCategories.get(i);
|
||||||
countItem(category, R.layout.dashboard_category, mIsShowingAll, NS_ITEMS);
|
countItem(category, R.layout.dashboard_category, mIsShowingAll
|
||||||
|
&& !TextUtils.isEmpty(category.title), NS_ITEMS);
|
||||||
for (int j = 0; j < category.tiles.size(); j++) {
|
for (int j = 0; j < category.tiles.size(); j++) {
|
||||||
Tile tile = category.tiles.get(j);
|
Tile tile = category.tiles.get(j);
|
||||||
countItem(tile, R.layout.dashboard_tile, mIsShowingAll
|
countItem(tile, R.layout.dashboard_tile, mIsShowingAll
|
||||||
|
@@ -51,6 +51,7 @@ import com.android.settings.notification.ZenModeSettings;
|
|||||||
import com.android.settings.notification.ZenModeVisualInterruptionSettings;
|
import com.android.settings.notification.ZenModeVisualInterruptionSettings;
|
||||||
import com.android.settings.print.PrintSettingsFragment;
|
import com.android.settings.print.PrintSettingsFragment;
|
||||||
import com.android.settings.sim.SimSettings;
|
import com.android.settings.sim.SimSettings;
|
||||||
|
import com.android.settings.system.SystemDashboardFragment;
|
||||||
import com.android.settings.users.UserSettings;
|
import com.android.settings.users.UserSettings;
|
||||||
import com.android.settings.wifi.AdvancedWifiSettings;
|
import com.android.settings.wifi.AdvancedWifiSettings;
|
||||||
import com.android.settings.wifi.SavedAccessPointsWifiSettings;
|
import com.android.settings.wifi.SavedAccessPointsWifiSettings;
|
||||||
@@ -185,6 +186,8 @@ public final class Ranking {
|
|||||||
sRankMap.put(DeviceInfoSettings.class.getName(), RANK_DEVICE_INFO);
|
sRankMap.put(DeviceInfoSettings.class.getName(), RANK_DEVICE_INFO);
|
||||||
sRankMap.put(LegalSettings.class.getName(), RANK_DEVICE_INFO);
|
sRankMap.put(LegalSettings.class.getName(), RANK_DEVICE_INFO);
|
||||||
|
|
||||||
|
sRankMap.put(SystemDashboardFragment.class.getName(), RANK_DEVICE_INFO);
|
||||||
|
|
||||||
sBaseRankMap.put("com.android.settings", 0);
|
sBaseRankMap.put("com.android.settings", 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -51,6 +51,7 @@ import com.android.settings.notification.ZenModeSettings;
|
|||||||
import com.android.settings.notification.ZenModeVisualInterruptionSettings;
|
import com.android.settings.notification.ZenModeVisualInterruptionSettings;
|
||||||
import com.android.settings.print.PrintSettingsFragment;
|
import com.android.settings.print.PrintSettingsFragment;
|
||||||
import com.android.settings.sim.SimSettings;
|
import com.android.settings.sim.SimSettings;
|
||||||
|
import com.android.settings.system.SystemDashboardFragment;
|
||||||
import com.android.settings.users.UserSettings;
|
import com.android.settings.users.UserSettings;
|
||||||
import com.android.settings.wifi.AdvancedWifiSettings;
|
import com.android.settings.wifi.AdvancedWifiSettings;
|
||||||
import com.android.settings.wifi.SavedAccessPointsWifiSettings;
|
import com.android.settings.wifi.SavedAccessPointsWifiSettings;
|
||||||
@@ -326,6 +327,13 @@ public final class SearchIndexableResources {
|
|||||||
R.xml.zen_mode_visual_interruptions_settings,
|
R.xml.zen_mode_visual_interruptions_settings,
|
||||||
ZenModeVisualInterruptionSettings.class.getName(),
|
ZenModeVisualInterruptionSettings.class.getName(),
|
||||||
R.drawable.ic_settings_notifications));
|
R.drawable.ic_settings_notifications));
|
||||||
|
|
||||||
|
sResMap.put(SystemDashboardFragment.class.getName(),
|
||||||
|
new SearchIndexableResource(
|
||||||
|
Ranking.getRankForClassName(SystemDashboardFragment.class.getName()),
|
||||||
|
NO_DATA_RES_ID,
|
||||||
|
SystemDashboardFragment.class.getName(),
|
||||||
|
R.drawable.ic_settings_about));
|
||||||
}
|
}
|
||||||
|
|
||||||
private SearchIndexableResources() {
|
private SearchIndexableResources() {
|
||||||
|
@@ -19,6 +19,7 @@ import android.app.Activity;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.UserManager;
|
import android.os.UserManager;
|
||||||
|
import android.provider.SearchIndexableResource;
|
||||||
import android.support.v7.preference.Preference;
|
import android.support.v7.preference.Preference;
|
||||||
import android.support.v7.preference.PreferenceScreen;
|
import android.support.v7.preference.PreferenceScreen;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
@@ -30,11 +31,14 @@ import com.android.settings.dashboard.DashboardFeatureProvider;
|
|||||||
import com.android.settings.dashboard.DashboardTilePreference;
|
import com.android.settings.dashboard.DashboardTilePreference;
|
||||||
import com.android.settings.deviceinfo.SystemUpdatePreferenceController;
|
import com.android.settings.deviceinfo.SystemUpdatePreferenceController;
|
||||||
import com.android.settings.overlay.FeatureFactory;
|
import com.android.settings.overlay.FeatureFactory;
|
||||||
|
import com.android.settings.search.BaseSearchIndexProvider;
|
||||||
import com.android.settings.search.Indexable;
|
import com.android.settings.search.Indexable;
|
||||||
import com.android.settingslib.drawer.DashboardCategory;
|
import com.android.settingslib.drawer.DashboardCategory;
|
||||||
import com.android.settingslib.drawer.SettingsDrawerActivity;
|
import com.android.settingslib.drawer.SettingsDrawerActivity;
|
||||||
import com.android.settingslib.drawer.Tile;
|
import com.android.settingslib.drawer.Tile;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class SystemDashboardFragment extends SettingsPreferenceFragment
|
public class SystemDashboardFragment extends SettingsPreferenceFragment
|
||||||
@@ -135,4 +139,35 @@ public class SystemDashboardFragment extends SettingsPreferenceFragment
|
|||||||
screen.addPreference(pref);
|
screen.addPreference(pref);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* For Search.
|
||||||
|
*/
|
||||||
|
public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
|
||||||
|
new BaseSearchIndexProvider() {
|
||||||
|
@Override
|
||||||
|
public List<SearchIndexableResource> getXmlResourcesToIndex(
|
||||||
|
Context context, boolean enabled) {
|
||||||
|
if (!FeatureFactory.getFactory(context).getDashboardFeatureProvider(context)
|
||||||
|
.isEnabled()) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
final SearchIndexableResource sir = new SearchIndexableResource(context);
|
||||||
|
sir.xmlResId = R.xml.system_dashboard_fragment;
|
||||||
|
return Arrays.asList(sir);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> getNonIndexableKeys(Context context) {
|
||||||
|
if (!FeatureFactory.getFactory(context).getDashboardFeatureProvider(context)
|
||||||
|
.isEnabled()) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
final SystemUpdatePreferenceController systemUpdatePreferenceController =
|
||||||
|
new SystemUpdatePreferenceController(context, UserManager.get(context));
|
||||||
|
final List<String> keys = new ArrayList<>();
|
||||||
|
systemUpdatePreferenceController.updateNonIndexableKeys(keys);
|
||||||
|
return keys;
|
||||||
|
}
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user