Remove Network Restrictions duplicate from setting search

Bug: 33701673
Test: make RunSettingsRoboTests
Change-Id: I6b1aef6102811a6ad25d2da43993441c6e56006c
This commit is contained in:
Matthew Fritze
2017-05-11 17:57:08 -07:00
parent 3b2d98c714
commit 8b0ed39c11
4 changed files with 29 additions and 10 deletions

View File

@@ -71,10 +71,11 @@ public class DataUsageSummary extends DataUsageBase implements Indexable, DataUs
public static final boolean TEST_RADIOS = false; public static final boolean TEST_RADIOS = false;
public static final String TEST_RADIOS_PROP = "test.radios"; 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_STATUS_HEADER = "status_header";
private static final String KEY_LIMIT_SUMMARY = "limit_summary"; 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 static final String KEY_WIFI_USAGE_TITLE = "wifi_category";
private DataUsageController mDataUsageController; private DataUsageController mDataUsageController;
@@ -465,7 +466,7 @@ public class DataUsageSummary extends DataUsageBase implements Indexable, DataUs
@Override @Override
public List<SearchIndexableResource> getXmlResourcesToIndex(Context context, public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
boolean enabled) { boolean enabled) {
ArrayList<SearchIndexableResource> resources = new ArrayList<>(); List<SearchIndexableResource> resources = new ArrayList<>();
SearchIndexableResource resource = new SearchIndexableResource(context); SearchIndexableResource resource = new SearchIndexableResource(context);
resource.xmlResId = R.xml.data_usage; resource.xmlResId = R.xml.data_usage;
resources.add(resource); resources.add(resource);
@@ -485,13 +486,14 @@ public class DataUsageSummary extends DataUsageBase implements Indexable, DataUs
@Override @Override
public List<String> getNonIndexableKeys(Context context) { public List<String> getNonIndexableKeys(Context context) {
ArrayList<String> keys = new ArrayList<>(); List<String> keys = super.getNonIndexableKeys(context);
boolean hasMobileData = ConnectivityManager.from(context).isNetworkSupported(
ConnectivityManager.TYPE_MOBILE);
if (hasMobileData) { if (hasMobileData(context)) {
keys.add(KEY_RESTRICT_BACKGROUND); keys.add(KEY_RESTRICT_BACKGROUND);
} }
if (hasWifiRadio(context)) {
keys.add(KEY_NETWORK_RESTRICTIONS);
}
keys.add(KEY_WIFI_USAGE_TITLE); keys.add(KEY_WIFI_USAGE_TITLE);
return keys; return keys;

View File

@@ -72,7 +72,7 @@ public class BaseSearchIndexProvider implements Indexable.SearchIndexProvider {
} }
return nonIndexableKeys; return nonIndexableKeys;
} else { } else {
return EMPTY_LIST; return new ArrayList<>();
} }
} }

View File

@@ -25,8 +25,8 @@ import android.net.wifi.WifiManager;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.SettingsRobolectricTestRunner; import com.android.settings.SettingsRobolectricTestRunner;
import com.android.settings.TestConfig; import com.android.settings.TestConfig;
import com.android.settings.connecteddevice.ConnectedDeviceDashboardFragment;
import com.android.settings.testutils.XmlTestUtils; import com.android.settings.testutils.XmlTestUtils;
import com.android.settings.testutils.shadow.ShadowConnectivityManager;
import com.android.settingslib.NetworkPolicyEditor; import com.android.settingslib.NetworkPolicyEditor;
import org.junit.Before; import org.junit.Before;
@@ -160,4 +160,16 @@ public class DataUsageSummaryTest {
assertThat(keys).containsAllIn(niks); assertThat(keys).containsAllIn(niks);
} }
@Test
@Config(shadows = ShadowConnectivityManager.class)
public void testNonIndexableKeys_hasMobileData_restrictedAccessesAdded() {
ShadowConnectivityManager.setIsNetworkSupported(true);
List<String> 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);
}
} }

View File

@@ -24,9 +24,14 @@ import org.robolectric.annotation.Implements;
@Implements(ConnectivityManager.class) @Implements(ConnectivityManager.class)
public class ShadowConnectivityManager extends org.robolectric.shadows.ShadowConnectivityManager { public class ShadowConnectivityManager extends org.robolectric.shadows.ShadowConnectivityManager {
private static boolean mIsNetworkSupported;
@Implementation @Implementation
public boolean isNetworkSupported(int networkType) { public boolean isNetworkSupported(int networkType) {
return false; return mIsNetworkSupported;
} }
public static void setIsNetworkSupported(boolean isNetworkSupported) {
mIsNetworkSupported = isNetworkSupported;
}
} }