From 8b0ed39c115061952d334dc1ca9cec350ddd5015 Mon Sep 17 00:00:00 2001 From: Matthew Fritze Date: Thu, 11 May 2017 17:57:08 -0700 Subject: [PATCH] Remove Network Restrictions duplicate from setting search Bug: 33701673 Test: make RunSettingsRoboTests Change-Id: I6b1aef6102811a6ad25d2da43993441c6e56006c --- .../settings/datausage/DataUsageSummary.java | 16 +++++++++------- .../settings/search/BaseSearchIndexProvider.java | 2 +- .../settings/datausage/DataUsageSummaryTest.java | 14 +++++++++++++- .../shadow/ShadowConnectivityManager.java | 7 ++++++- 4 files changed, 29 insertions(+), 10 deletions(-) diff --git a/src/com/android/settings/datausage/DataUsageSummary.java b/src/com/android/settings/datausage/DataUsageSummary.java index 16172bdfe42..5a84d13fa3e 100644 --- a/src/com/android/settings/datausage/DataUsageSummary.java +++ b/src/com/android/settings/datausage/DataUsageSummary.java @@ -71,10 +71,11 @@ public class DataUsageSummary extends DataUsageBase implements Indexable, DataUs public static final boolean TEST_RADIOS = false; public static final String TEST_RADIOS_PROP = "test.radios"; + public static final String KEY_RESTRICT_BACKGROUND = "restrict_background"; + public static final String KEY_NETWORK_RESTRICTIONS = "network_restrictions"; + private static final String KEY_STATUS_HEADER = "status_header"; private static final String KEY_LIMIT_SUMMARY = "limit_summary"; - private static final String KEY_RESTRICT_BACKGROUND = "restrict_background"; - private static final String KEY_NETWORK_RESTRICTIONS = "network_restrictions"; private static final String KEY_WIFI_USAGE_TITLE = "wifi_category"; private DataUsageController mDataUsageController; @@ -465,7 +466,7 @@ public class DataUsageSummary extends DataUsageBase implements Indexable, DataUs @Override public List getXmlResourcesToIndex(Context context, boolean enabled) { - ArrayList resources = new ArrayList<>(); + List resources = new ArrayList<>(); SearchIndexableResource resource = new SearchIndexableResource(context); resource.xmlResId = R.xml.data_usage; resources.add(resource); @@ -485,13 +486,14 @@ public class DataUsageSummary extends DataUsageBase implements Indexable, DataUs @Override public List getNonIndexableKeys(Context context) { - ArrayList keys = new ArrayList<>(); - boolean hasMobileData = ConnectivityManager.from(context).isNetworkSupported( - ConnectivityManager.TYPE_MOBILE); + List keys = super.getNonIndexableKeys(context); - if (hasMobileData) { + if (hasMobileData(context)) { keys.add(KEY_RESTRICT_BACKGROUND); } + if (hasWifiRadio(context)) { + keys.add(KEY_NETWORK_RESTRICTIONS); + } keys.add(KEY_WIFI_USAGE_TITLE); return keys; diff --git a/src/com/android/settings/search/BaseSearchIndexProvider.java b/src/com/android/settings/search/BaseSearchIndexProvider.java index 87322279134..f5e06ca53cb 100644 --- a/src/com/android/settings/search/BaseSearchIndexProvider.java +++ b/src/com/android/settings/search/BaseSearchIndexProvider.java @@ -72,7 +72,7 @@ public class BaseSearchIndexProvider implements Indexable.SearchIndexProvider { } return nonIndexableKeys; } else { - return EMPTY_LIST; + return new ArrayList<>(); } } diff --git a/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryTest.java b/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryTest.java index e1572ab97be..92ded0da7dc 100644 --- a/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryTest.java +++ b/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryTest.java @@ -25,8 +25,8 @@ import android.net.wifi.WifiManager; import com.android.settings.R; import com.android.settings.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; -import com.android.settings.connecteddevice.ConnectedDeviceDashboardFragment; import com.android.settings.testutils.XmlTestUtils; +import com.android.settings.testutils.shadow.ShadowConnectivityManager; import com.android.settingslib.NetworkPolicyEditor; import org.junit.Before; @@ -160,4 +160,16 @@ public class DataUsageSummaryTest { assertThat(keys).containsAllIn(niks); } + + @Test + @Config(shadows = ShadowConnectivityManager.class) + public void testNonIndexableKeys_hasMobileData_restrictedAccessesAdded() { + ShadowConnectivityManager.setIsNetworkSupported(true); + List keys = DataUsageSummary.SEARCH_INDEX_DATA_PROVIDER + .getNonIndexableKeys(mContext); + + assertThat(keys).contains(DataUsageSummary.KEY_RESTRICT_BACKGROUND); + assertThat(keys).contains(DataUsageSummary.KEY_NETWORK_RESTRICTIONS); + ShadowConnectivityManager.setIsNetworkSupported(false); + } } diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowConnectivityManager.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowConnectivityManager.java index dbf1a655da9..4c056654bcb 100644 --- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowConnectivityManager.java +++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowConnectivityManager.java @@ -24,9 +24,14 @@ import org.robolectric.annotation.Implements; @Implements(ConnectivityManager.class) public class ShadowConnectivityManager extends org.robolectric.shadows.ShadowConnectivityManager { + private static boolean mIsNetworkSupported; + @Implementation public boolean isNetworkSupported(int networkType) { - return false; + return mIsNetworkSupported; } + public static void setIsNetworkSupported(boolean isNetworkSupported) { + mIsNetworkSupported = isNetworkSupported; + } }