Loading src/com/android/settings/network/NetworkProviderSettings.java +8 −3 Original line number Diff line number Diff line Loading @@ -201,7 +201,7 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment * ensure that behavior is consistent if {@link #isUiRestricted()} changes. It could be changed * by the Test DPC tool in AFW mode. */ private boolean mIsRestricted; protected boolean mIsRestricted; @VisibleForTesting AirplaneModeEnabler mAirplaneModeEnabler; Loading @@ -219,7 +219,8 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment PreferenceCategory mConnectedWifiEntryPreferenceCategory; @VisibleForTesting PreferenceCategory mFirstWifiEntryPreferenceCategory; private PreferenceCategory mWifiEntryPreferenceCategory; @VisibleForTesting PreferenceCategory mWifiEntryPreferenceCategory; @VisibleForTesting AddWifiNetworkPreference mAddWifiNetworkPreference; private WifiSwitchPreferenceController mWifiSwitchPreferenceController; Loading Loading @@ -794,7 +795,11 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment } } private void updateWifiEntryPreferences() { protected void updateWifiEntryPreferences() { // bypass the update if the activity and the view are not ready, or it's restricted UI. if (getActivity() == null || getView() == null || mIsRestricted) { return; } // in case state has changed if (mWifiPickerTracker.getWifiState() != WifiManager.WIFI_STATE_ENABLED) { return; Loading tests/robotests/src/com/android/settings/network/NetworkProviderSettingsTest.java +28 −0 Original line number Diff line number Diff line Loading @@ -535,4 +535,32 @@ public class NetworkProviderSettingsTest { assertThat(p instanceof NetworkProviderSettings.FirstWifiEntryPreference).isTrue(); } @Test public void updateWifiEntryPreferences_activityIsNull_ShouldNotCrash() { when(mNetworkProviderSettings.getActivity()).thenReturn(null); // should not crash mNetworkProviderSettings.updateWifiEntryPreferences(); } @Test public void updateWifiEntryPreferences_viewIsNull_ShouldNotCrash() { final FragmentActivity activity = mock(FragmentActivity.class); when(mNetworkProviderSettings.getActivity()).thenReturn(activity); when(mNetworkProviderSettings.getView()).thenReturn(null); // should not crash mNetworkProviderSettings.updateWifiEntryPreferences(); } @Test public void updateWifiEntryPreferences_isRestricted_bypassUpdate() { mNetworkProviderSettings.mIsRestricted = true; mNetworkProviderSettings.mWifiEntryPreferenceCategory = mock(PreferenceCategory.class); mNetworkProviderSettings.updateWifiEntryPreferences(); verify(mNetworkProviderSettings.mWifiEntryPreferenceCategory, never()).setVisible(true); } } Loading
src/com/android/settings/network/NetworkProviderSettings.java +8 −3 Original line number Diff line number Diff line Loading @@ -201,7 +201,7 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment * ensure that behavior is consistent if {@link #isUiRestricted()} changes. It could be changed * by the Test DPC tool in AFW mode. */ private boolean mIsRestricted; protected boolean mIsRestricted; @VisibleForTesting AirplaneModeEnabler mAirplaneModeEnabler; Loading @@ -219,7 +219,8 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment PreferenceCategory mConnectedWifiEntryPreferenceCategory; @VisibleForTesting PreferenceCategory mFirstWifiEntryPreferenceCategory; private PreferenceCategory mWifiEntryPreferenceCategory; @VisibleForTesting PreferenceCategory mWifiEntryPreferenceCategory; @VisibleForTesting AddWifiNetworkPreference mAddWifiNetworkPreference; private WifiSwitchPreferenceController mWifiSwitchPreferenceController; Loading Loading @@ -794,7 +795,11 @@ public class NetworkProviderSettings extends RestrictedSettingsFragment } } private void updateWifiEntryPreferences() { protected void updateWifiEntryPreferences() { // bypass the update if the activity and the view are not ready, or it's restricted UI. if (getActivity() == null || getView() == null || mIsRestricted) { return; } // in case state has changed if (mWifiPickerTracker.getWifiState() != WifiManager.WIFI_STATE_ENABLED) { return; Loading
tests/robotests/src/com/android/settings/network/NetworkProviderSettingsTest.java +28 −0 Original line number Diff line number Diff line Loading @@ -535,4 +535,32 @@ public class NetworkProviderSettingsTest { assertThat(p instanceof NetworkProviderSettings.FirstWifiEntryPreference).isTrue(); } @Test public void updateWifiEntryPreferences_activityIsNull_ShouldNotCrash() { when(mNetworkProviderSettings.getActivity()).thenReturn(null); // should not crash mNetworkProviderSettings.updateWifiEntryPreferences(); } @Test public void updateWifiEntryPreferences_viewIsNull_ShouldNotCrash() { final FragmentActivity activity = mock(FragmentActivity.class); when(mNetworkProviderSettings.getActivity()).thenReturn(activity); when(mNetworkProviderSettings.getView()).thenReturn(null); // should not crash mNetworkProviderSettings.updateWifiEntryPreferences(); } @Test public void updateWifiEntryPreferences_isRestricted_bypassUpdate() { mNetworkProviderSettings.mIsRestricted = true; mNetworkProviderSettings.mWifiEntryPreferenceCategory = mock(PreferenceCategory.class); mNetworkProviderSettings.updateWifiEntryPreferences(); verify(mNetworkProviderSettings.mWifiEntryPreferenceCategory, never()).setVisible(true); } }