From 22a2a49b445b8721c8194eedf3608ea81c62ccef Mon Sep 17 00:00:00 2001 From: Fabrice Di Meglio Date: Fri, 8 Aug 2014 12:27:57 -0700 Subject: Fix bug #16896118 SIM cards should ONLY appear in search results for devices with 2+ SIM slots - add the proper SearchIndexProvider to SimSettings - allow indexing only an only if showSimCardTile() is true - add Utils.showSimCardTile() Change-Id: I5df2284d32f91fa454e1edebf1139d00593138a0 --- src/com/android/settings/sim/SimSettings.java | 36 ++++++++++++++++++--------- 1 file changed, 24 insertions(+), 12 deletions(-) (limited to 'src/com/android/settings/sim/SimSettings.java') diff --git a/src/com/android/settings/sim/SimSettings.java b/src/com/android/settings/sim/SimSettings.java index 2e1c0f5..24ba4be 100644 --- a/src/com/android/settings/sim/SimSettings.java +++ b/src/com/android/settings/sim/SimSettings.java @@ -16,6 +16,7 @@ package com.android.settings.sim; +import android.provider.SearchIndexableResource; import com.android.settings.R; import android.app.AlertDialog; @@ -55,6 +56,7 @@ import com.android.internal.telephony.PhoneConstants; import com.android.internal.telephony.TelephonyIntents; import com.android.settings.RestrictedSettingsFragment; import com.android.settings.SettingsPreferenceFragment; +import com.android.settings.Utils; import com.android.settings.notification.DropDownPreference; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.Indexable; @@ -86,18 +88,6 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable private SubInfoRecord mCalls = null; private SubInfoRecord mSMS = null; - /** - * Return whether or not the user should have a SIM Cards option in Settings. - * TODO: Change back to returning true if count is greater than one after testing. - * TODO: See bug 16533525. - */ - public static boolean showSimCardScreen(Context context) { - final TelephonyManager tm = - (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); - - return tm.getSimCount() > 0; - } - public SimSettings() { super(DISALLOW_CONFIG_SIM); } @@ -370,4 +360,26 @@ public class SimSettings extends RestrictedSettingsFragment implements Indexable builder.create().show(); } } + + /** + * For search + */ + public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = + new BaseSearchIndexProvider() { + @Override + public List getXmlResourcesToIndex(Context context, + boolean enabled) { + ArrayList result = + new ArrayList(); + + if (Utils.showSimCardTile(context)) { + SearchIndexableResource sir = new SearchIndexableResource(context); + sir.xmlResId = R.xml.sim_settings; + result.add(sir); + } + + return result; + } + }; + } -- cgit v1.1