From dd8e66fa202f9b351c7be174c81df63adb1767e2 Mon Sep 17 00:00:00 2001 From: Rajeev Kumar Date: Fri, 20 Oct 2017 12:44:17 -0700 Subject: [PATCH] Remove SearchIndexProvider from DataPlanUsageSummary fragment. This change will prevent showing Data plan usage in the settings search. Data plan usage feature has been punted to next release and we do not want to show this to user in current release. Bug: 68022715 Test: make RunSettingsRoboTests -j40 Change-Id: I56b71796e3c426122434ca9e86c1a2db691849cf DO NOT MERGE --- .../settings/datausage/DataPlanUsageSummary.java | 50 +-------------------- .../settings/search/SearchIndexableResources.java | 2 - .../assets/grandfather_not_implementing_indexable | 1 + .../datausage/DataPlanUsageSummaryTest.java | 52 ---------------------- 4 files changed, 2 insertions(+), 103 deletions(-) diff --git a/src/com/android/settings/datausage/DataPlanUsageSummary.java b/src/com/android/settings/datausage/DataPlanUsageSummary.java index 1905deb96f..912db0a387 100644 --- a/src/com/android/settings/datausage/DataPlanUsageSummary.java +++ b/src/com/android/settings/datausage/DataPlanUsageSummary.java @@ -27,7 +27,6 @@ import android.net.wifi.WifiConfiguration; import android.net.wifi.WifiManager; import android.os.Bundle; import android.os.UserManager; -import android.provider.SearchIndexableResource; import android.provider.Settings; import android.support.annotation.VisibleForTesting; import android.support.v7.preference.Preference; @@ -44,14 +43,12 @@ import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settings.R; import com.android.settings.Utils; import com.android.settings.dashboard.SummaryLoader; -import com.android.settings.search.BaseSearchIndexProvider; -import com.android.settings.search.Indexable; import com.android.settingslib.NetworkPolicyEditor; import com.android.settingslib.net.DataUsageController; import java.util.ArrayList; import java.util.List; -public class DataPlanUsageSummary extends DataUsageBase implements Indexable { +public class DataPlanUsageSummary extends DataUsageBase { public static final String KEY_DATA_PLAN_USAGE = "data_plan_usage"; @@ -353,50 +350,5 @@ public class DataPlanUsageSummary extends DataUsageBase implements Indexable { public static final SummaryLoader.SummaryProviderFactory SUMMARY_PROVIDER_FACTORY = SummaryProvider::new; - - /** - * For search - */ - public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = - new BaseSearchIndexProvider() { - - @Override - public List getXmlResourcesToIndex(Context context, - boolean enabled) { - List resources = new ArrayList<>(); - SearchIndexableResource resource = new SearchIndexableResource(context); - resource.xmlResId = R.xml.data_usage; - resources.add(resource); - - resource = new SearchIndexableResource(context); - resource.xmlResId = R.xml.data_plan_usage_cell_data_preference_screen; - resources.add(resource); - - resource = new SearchIndexableResource(context); - resource.xmlResId = R.xml.data_usage_wifi; - resources.add(resource); - - return resources; - } - - @Override - public List getNonIndexableKeys(Context context) { - List keys = super.getNonIndexableKeys(context); - - if (!DataUsageUtils.hasMobileData(context)) { - keys.add(KEY_MOBILE_USAGE_TITLE); - keys.add(KEY_MOBILE_DATA_USAGE_TOGGLE); - } - - if (!DataUsageUtils.hasWifiRadio(context)) { - keys.add(KEY_WIFI_DATA_USAGE); - keys.add(KEY_NETWORK_RESTRICTIONS); - } - - keys.add(KEY_WIFI_USAGE_TITLE); - - return keys; - } - }; } diff --git a/src/com/android/settings/search/SearchIndexableResources.java b/src/com/android/settings/search/SearchIndexableResources.java index b9e944ec04..3b12e200a8 100644 --- a/src/com/android/settings/search/SearchIndexableResources.java +++ b/src/com/android/settings/search/SearchIndexableResources.java @@ -41,7 +41,6 @@ import com.android.settings.backup.BackupSettingsActivity; import com.android.settings.backup.BackupSettingsFragment; import com.android.settings.bluetooth.BluetoothSettings; import com.android.settings.connecteddevice.ConnectedDeviceDashboardFragment; -import com.android.settings.datausage.DataPlanUsageSummary; import com.android.settings.datausage.DataUsageMeteredSettings; import com.android.settings.datausage.DataUsageSummary; import com.android.settings.deletionhelper.AutomaticStorageManagerSettings; @@ -135,7 +134,6 @@ public final class SearchIndexableResources { R.drawable.ic_settings_wireless); addIndex(BluetoothSettings.class, NO_DATA_RES_ID, R.drawable.ic_settings_bluetooth); addIndex(SimSettings.class, NO_DATA_RES_ID, R.drawable.ic_sim_sd); - addIndex(DataPlanUsageSummary.class, NO_DATA_RES_ID, R.drawable.ic_settings_data_usage); addIndex(DataUsageSummary.class, NO_DATA_RES_ID, R.drawable.ic_settings_data_usage); addIndex(DataUsageMeteredSettings.class, NO_DATA_RES_ID, R.drawable.ic_settings_data_usage); addIndex(ScreenZoomSettings.class, NO_DATA_RES_ID, R.drawable.ic_settings_display); diff --git a/tests/robotests/assets/grandfather_not_implementing_indexable b/tests/robotests/assets/grandfather_not_implementing_indexable index e8a32ecad5..1a978cdb42 100644 --- a/tests/robotests/assets/grandfather_not_implementing_indexable +++ b/tests/robotests/assets/grandfather_not_implementing_indexable @@ -23,6 +23,7 @@ com.android.settings.inputmethod.UserDictionaryList com.android.settings.datausage.DataSaverSummary com.android.settings.notification.ChannelNotificationSettings com.android.settings.datausage.AppDataUsage +com.android.settings.datausage.DataPlanUsageSummary com.android.settings.accessibility.FontSizePreferenceFragmentForSetupWizard com.android.settings.applications.ManageDomainUrls com.android.settings.applications.WriteSettingsDetails diff --git a/tests/robotests/src/com/android/settings/datausage/DataPlanUsageSummaryTest.java b/tests/robotests/src/com/android/settings/datausage/DataPlanUsageSummaryTest.java index 30c77365e5..748c317379 100644 --- a/tests/robotests/src/com/android/settings/datausage/DataPlanUsageSummaryTest.java +++ b/tests/robotests/src/com/android/settings/datausage/DataPlanUsageSummaryTest.java @@ -33,18 +33,13 @@ import android.net.wifi.WifiManager; import com.android.settings.R; import com.android.settings.TestConfig; import com.android.settings.testutils.SettingsRobolectricTestRunner; -import com.android.settings.testutils.XmlTestUtils; -import com.android.settings.testutils.shadow.ShadowConnectivityManager; -import com.android.settings.testutils.shadow.ShadowDataUsageUtils; import com.android.settingslib.NetworkPolicyEditor; import java.util.ArrayList; -import java.util.List; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; -import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowApplication; import org.robolectric.util.ReflectionHelpers; @@ -129,53 +124,6 @@ public class DataPlanUsageSummaryTest { assertThat(mDataUsageSummary.isMetered(mWifiConfiguration)).isFalse(); } - @Test - @Config(shadows = ShadowDataUsageUtils.class) - public void testNonIndexableKeys_existInXmlLayout() { - final Context context = RuntimeEnvironment.application; - ShadowDataUsageUtils.IS_WIFI_SUPPORTED = true; - ShadowDataUsageUtils.IS_MOBILE_DATA_SUPPORTED = true; - final List niks = DataPlanUsageSummary.SEARCH_INDEX_DATA_PROVIDER - .getNonIndexableKeys(context); - final List keys = new ArrayList<>(); - - keys.addAll(XmlTestUtils.getKeysFromPreferenceXml(context, R.xml.data_usage_wifi)); - keys.addAll(XmlTestUtils.getKeysFromPreferenceXml(context, R.xml.data_usage)); - keys.addAll(XmlTestUtils.getKeysFromPreferenceXml(context, - R.xml.data_plan_usage_cell_data_preference_screen)); - - assertThat(keys).containsAllIn(niks); - } - - @Test - @Config(shadows = ShadowDataUsageUtils.class) - public void testNonIndexableKeys_hasMobileData_hasWifi_allNonIndexableKeysAdded() { - ShadowDataUsageUtils.IS_WIFI_SUPPORTED = false; - ShadowDataUsageUtils.IS_MOBILE_DATA_SUPPORTED = false; - List keys = DataPlanUsageSummary.SEARCH_INDEX_DATA_PROVIDER - .getNonIndexableKeys(mContext); - - // Mobile data keys - assertThat(keys).contains(DataPlanUsageSummary.KEY_MOBILE_USAGE_TITLE); - assertThat(keys).contains(DataPlanUsageSummary.KEY_MOBILE_DATA_USAGE_TOGGLE); - - // Wifi keys - assertThat(keys).contains(DataPlanUsageSummary.KEY_WIFI_DATA_USAGE); - assertThat(keys).contains(DataPlanUsageSummary.KEY_NETWORK_RESTRICTIONS); - assertThat(keys).contains(DataPlanUsageSummary.KEY_WIFI_USAGE_TITLE); - } - - @Test - @Config(shadows = ShadowDataUsageUtils.class) - public void testNonIndexableKeys_noMobile_noWifi_limitedNonIndexableKeys() { - ShadowDataUsageUtils.IS_WIFI_SUPPORTED = true; - ShadowDataUsageUtils.IS_MOBILE_DATA_SUPPORTED = true; - List keys = DataPlanUsageSummary.SEARCH_INDEX_DATA_PROVIDER - .getNonIndexableKeys(mContext); - - assertThat(keys).containsExactly(DataPlanUsageSummary.KEY_WIFI_USAGE_TITLE); - } - private void initTest() { mDataUsageSummary = new DataPlanUsageSummary(); mPolicyEditor = mock(NetworkPolicyEditor.class); -- 2.11.0