diff --git a/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java b/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java index aeb7efbbbba..6a1c06c576c 100644 --- a/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java +++ b/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java @@ -96,9 +96,7 @@ public class ConnectedDeviceDashboardFragment extends DashboardFragment { keys.add(NfcPreferenceController.KEY_TOGGLE_NFC); keys.add(NfcPreferenceController.KEY_ANDROID_BEAM_SETTINGS); } - if (!pm.hasSystemFeature(PackageManager.FEATURE_BLUETOOTH)) { - keys.add(BluetoothMasterSwitchPreferenceController.KEY_TOGGLE_BLUETOOTH); - } + keys.add(BluetoothMasterSwitchPreferenceController.KEY_TOGGLE_BLUETOOTH); return keys; } }; diff --git a/src/com/android/settings/datausage/DataUsageSummary.java b/src/com/android/settings/datausage/DataUsageSummary.java index 8eb1f61b82c..16172bdfe42 100644 --- a/src/com/android/settings/datausage/DataUsageSummary.java +++ b/src/com/android/settings/datausage/DataUsageSummary.java @@ -75,6 +75,7 @@ public class DataUsageSummary extends DataUsageBase implements Indexable, DataUs 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; private DataUsageInfoController mDataInfoController; @@ -491,6 +492,7 @@ public class DataUsageSummary extends DataUsageBase implements Indexable, DataUs if (hasMobileData) { keys.add(KEY_RESTRICT_BACKGROUND); } + keys.add(KEY_WIFI_USAGE_TITLE); return keys; } diff --git a/src/com/android/settings/network/NetworkDashboardFragment.java b/src/com/android/settings/network/NetworkDashboardFragment.java index a0ccf20db1b..a28a7264695 100644 --- a/src/com/android/settings/network/NetworkDashboardFragment.java +++ b/src/com/android/settings/network/NetworkDashboardFragment.java @@ -142,5 +142,13 @@ public class NetworkDashboardFragment extends DashboardFragment implements sir.xmlResId = R.xml.network_and_internet; return Arrays.asList(sir); } + + @Override + public List getNonIndexableKeys(Context context) { + List keys = new ArrayList<>(); + // Remove master switch as a result + keys.add(WifiMasterSwitchPreferenceController.KEY_TOGGLE_WIFI); + return keys; + } }; } diff --git a/src/com/android/settings/wifi/WifiMasterSwitchPreferenceController.java b/src/com/android/settings/wifi/WifiMasterSwitchPreferenceController.java index d72bb3e6f48..09b33319301 100644 --- a/src/com/android/settings/wifi/WifiMasterSwitchPreferenceController.java +++ b/src/com/android/settings/wifi/WifiMasterSwitchPreferenceController.java @@ -33,7 +33,7 @@ public class WifiMasterSwitchPreferenceController extends PreferenceController implements SummaryUpdater.OnSummaryChangeListener, LifecycleObserver, OnResume, OnPause, OnStart, OnStop { - private static final String KEY_TOGGLE_WIFI = "toggle_wifi"; + public static final String KEY_TOGGLE_WIFI = "toggle_wifi"; private MasterSwitchPreference mWifiPreference; private WifiEnabler mWifiEnabler; diff --git a/tests/robotests/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragmentTest.java index a4b5c974e4c..e79284564a6 100644 --- a/tests/robotests/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragmentTest.java +++ b/tests/robotests/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragmentTest.java @@ -23,6 +23,7 @@ import com.android.settings.bluetooth.BluetoothMasterSwitchPreferenceController; import com.android.settings.nfc.NfcPreferenceController; import com.android.settings.SettingsRobolectricTestRunner; import com.android.settings.TestConfig; +import com.android.settings.testutils.XmlTestUtils; import com.android.settingslib.drawer.CategoryKey; import org.junit.Before; @@ -30,13 +31,12 @@ 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 java.util.List; import static com.google.common.truth.Truth.assertThat; -import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @RunWith(SettingsRobolectricTestRunner.class) @@ -92,20 +92,15 @@ public class ConnectedDeviceDashboardFragmentTest { } @Test - public void testSearchIndexProvider_NoBluetooth_KeyAdded() { - when(mManager.hasSystemFeature(PackageManager.FEATURE_BLUETOOTH)).thenReturn(false); - final List keys = mFragment.SEARCH_INDEX_DATA_PROVIDER.getNonIndexableKeys(mContext); + public void testNonIndexableKeys_existInXmlLayout() { + final Context context = RuntimeEnvironment.application; + when(mManager.hasSystemFeature(PackageManager.FEATURE_NFC)).thenReturn(false); + final List niks = ConnectedDeviceDashboardFragment.SEARCH_INDEX_DATA_PROVIDER + .getNonIndexableKeys(context); + final int xmlId = (new ConnectedDeviceDashboardFragment()).getPreferenceScreenResId(); - assertThat(keys).isNotNull(); - assertThat(keys).contains(BluetoothMasterSwitchPreferenceController.KEY_TOGGLE_BLUETOOTH); - } + final List keys = XmlTestUtils.getKeysFromPreferenceXml(context, xmlId); - @Test - public void testSearchIndexProvider_Bluetooth_KeyNotAdded() { - when(mManager.hasSystemFeature(PackageManager.FEATURE_BLUETOOTH)).thenReturn(true); - final List keys = mFragment.SEARCH_INDEX_DATA_PROVIDER.getNonIndexableKeys(mContext); - - assertThat(keys).isNotNull(); - assertThat(keys).doesNotContain(BluetoothMasterSwitchPreferenceController.KEY_TOGGLE_BLUETOOTH); + assertThat(keys).containsAllIn(niks); } } diff --git a/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryTest.java b/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryTest.java index 71d9ea11672..e1572ab97be 100644 --- a/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryTest.java +++ b/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryTest.java @@ -25,6 +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.settingslib.NetworkPolicyEditor; import org.junit.Before; @@ -32,11 +34,13 @@ 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; import java.util.ArrayList; +import java.util.List; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Matchers.any; @@ -143,4 +147,17 @@ public class DataUsageSummaryTest { policy.metered = false; assertThat(dataUsageSummary.isMetered(config)).isFalse(); } + + @Test + public void testNonIndexableKeys_existInXmlLayout() { + final Context context = RuntimeEnvironment.application; + final List niks = DataUsageSummary.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)); + + assertThat(keys).containsAllIn(niks); + } } diff --git a/tests/robotests/src/com/android/settings/network/NetworkDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/network/NetworkDashboardFragmentTest.java index 2201c68b7f9..d1c32078838 100644 --- a/tests/robotests/src/com/android/settings/network/NetworkDashboardFragmentTest.java +++ b/tests/robotests/src/com/android/settings/network/NetworkDashboardFragmentTest.java @@ -15,16 +15,20 @@ */ package com.android.settings.network; +import android.content.Context; import android.provider.SearchIndexableResource; import android.view.Menu; 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.settingslib.drawer.CategoryKey; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; +import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowApplication; import org.robolectric.util.ReflectionHelpers; @@ -74,4 +78,15 @@ public class NetworkDashboardFragmentTest { verify(resetController).buildMenuItem(any(Menu.class)); } + @Test + public void testNonIndexableKeys_existInXmlLayout() { + final Context context = RuntimeEnvironment.application; + final List niks = NetworkDashboardFragment.SEARCH_INDEX_DATA_PROVIDER + .getNonIndexableKeys(context); + final int xmlId = (new NetworkDashboardFragment()).getPreferenceScreenResId(); + + final List keys = XmlTestUtils.getKeysFromPreferenceXml(context, xmlId); + + assertThat(keys).containsAllIn(niks); + } } diff --git a/tests/robotests/src/com/android/settings/testutils/XmlTestUtils.java b/tests/robotests/src/com/android/settings/testutils/XmlTestUtils.java index 20b3f89a058..f9d5439f9d1 100644 --- a/tests/robotests/src/com/android/settings/testutils/XmlTestUtils.java +++ b/tests/robotests/src/com/android/settings/testutils/XmlTestUtils.java @@ -53,5 +53,4 @@ public class XmlTestUtils { return keys; } - -} +} \ No newline at end of file