diff --git a/src/com/android/settings/DataUsageSummary.java b/src/com/android/settings/DataUsageSummary.java index fe09c6a6862..9b6207b3a32 100644 --- a/src/com/android/settings/DataUsageSummary.java +++ b/src/com/android/settings/DataUsageSummary.java @@ -86,6 +86,7 @@ import android.os.ServiceManager; import android.os.SystemProperties; import android.os.UserHandle; import android.preference.Preference; +import android.provider.SearchIndexableResource; import android.telephony.TelephonyManager; import android.text.TextUtils; import android.text.format.DateUtils; @@ -133,6 +134,8 @@ import com.android.settings.net.NetworkPolicyEditor; import com.android.settings.net.SummaryForAllUidLoader; import com.android.settings.net.UidDetail; import com.android.settings.net.UidDetailProvider; +import com.android.settings.search.Indexable; +import com.android.settings.search.SearchIndexableRaw; import com.android.settings.widget.ChartDataUsageView; import com.android.settings.widget.ChartDataUsageView.DataUsageChartListener; import com.android.settings.widget.PieChartView; @@ -149,7 +152,7 @@ import java.util.Locale; * Panel showing data usage history across various networks, including options * to inspect based on usage cycle and control through {@link NetworkPolicy}. */ -public class DataUsageSummary extends Fragment { +public class DataUsageSummary extends Fragment implements Indexable { private static final String TAG = "DataUsage"; private static final boolean LOGD = false; @@ -2380,4 +2383,51 @@ public class DataUsageSummary extends Fragment { summary.setVisibility(View.VISIBLE); summary.setText(string); } + + /** + * For search + */ + public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = + new SearchIndexProvider() { + + @Override + public List getXmlResourcesToIndex( + Context context, boolean enabled) { + return null; + } + + @Override + public List getRawDataToIndex(Context context, boolean enabled) { + final List result = new ArrayList(); + + final Resources res = context.getResources(); + + // Add fragment title + SearchIndexableRaw data = new SearchIndexableRaw(context); + data.title = res.getString(R.string.data_usage_summary_title); + data.screenTitle = res.getString(R.string.data_usage_summary_title); + result.add(data); + + // Mobile data + data = new SearchIndexableRaw(context); + data.title = res.getString(R.string.data_usage_enable_mobile); + data.screenTitle = res.getString(R.string.data_usage_summary_title); + result.add(data); + + // Set mobile data limit + data = new SearchIndexableRaw(context); + data.title = res.getString(R.string.data_usage_disable_mobile_limit); + data.screenTitle = res.getString(R.string.data_usage_summary_title); + result.add(data); + + // Data usage cycke + data = new SearchIndexableRaw(context); + data.title = res.getString(R.string.data_usage_cycle); + data.screenTitle = res.getString(R.string.data_usage_summary_title); + result.add(data); + + return result; + } + }; + } diff --git a/src/com/android/settings/search/SearchIndexableResources.java b/src/com/android/settings/search/SearchIndexableResources.java index 9c0e5eaaeeb..6ade187e2c9 100644 --- a/src/com/android/settings/search/SearchIndexableResources.java +++ b/src/com/android/settings/search/SearchIndexableResources.java @@ -17,6 +17,7 @@ package com.android.settings.search; import android.provider.SearchIndexableResource; +import com.android.settings.DataUsageSummary; import com.android.settings.DateTimeSettings; import com.android.settings.DevelopmentSettings; import com.android.settings.DeviceInfoSettings; @@ -87,10 +88,10 @@ public final class SearchIndexableResources { BluetoothSettings.class.getName(), R.drawable.ic_settings_bluetooth2)); - sResMap.put(DataUsageMeteredSettings.class.getName(), + sResMap.put(DataUsageSummary.class.getName(), new SearchIndexableResource(RANK_DATA_USAGE, - R.xml.data_usage_metered_prefs, - DataUsageMeteredSettings.class.getName(), + NO_DATA_RES_ID, + DataUsageSummary.class.getName(), R.drawable.ic_settings_data_usage)); sResMap.put(WirelessSettings.class.getName(),