Merge "Fix NPE issue in Internet Settings" into main
This commit is contained in:
committed by
Android (Google) Code Review
commit
2117499c9e
@@ -924,6 +924,9 @@ public class NetworkProviderSettings extends RestrictedDashboardFragment
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onWifiEntriesChanged(@WifiPickerTracker.WifiEntriesChangedReason int reason) {
|
public void onWifiEntriesChanged(@WifiPickerTracker.WifiEntriesChangedReason int reason) {
|
||||||
|
if (isFinishingOrDestroyed()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
updateWifiEntryPreferences();
|
updateWifiEntryPreferences();
|
||||||
if (reason == WifiPickerTracker.WIFI_ENTRIES_CHANGED_REASON_SCAN_RESULTS) {
|
if (reason == WifiPickerTracker.WIFI_ENTRIES_CHANGED_REASON_SCAN_RESULTS) {
|
||||||
setProgressBarVisible(false);
|
setProgressBarVisible(false);
|
||||||
|
@@ -118,6 +118,8 @@ public class NetworkProviderSettingsTest {
|
|||||||
@Spy
|
@Spy
|
||||||
Context mContext = ApplicationProvider.getApplicationContext();
|
Context mContext = ApplicationProvider.getApplicationContext();
|
||||||
@Mock
|
@Mock
|
||||||
|
private FragmentActivity mFragmentActivity;
|
||||||
|
@Mock
|
||||||
private PowerManager mPowerManager;
|
private PowerManager mPowerManager;
|
||||||
@Mock
|
@Mock
|
||||||
private WifiManager mWifiManager;
|
private WifiManager mWifiManager;
|
||||||
@@ -129,7 +131,6 @@ public class NetworkProviderSettingsTest {
|
|||||||
private AirplaneModeEnabler mAirplaneModeEnabler;
|
private AirplaneModeEnabler mAirplaneModeEnabler;
|
||||||
@Mock
|
@Mock
|
||||||
private DataUsagePreference mDataUsagePreference;
|
private DataUsagePreference mDataUsagePreference;
|
||||||
private NetworkProviderSettings mNetworkProviderSettings;
|
|
||||||
@Mock
|
@Mock
|
||||||
private WifiPickerTracker mMockWifiPickerTracker;
|
private WifiPickerTracker mMockWifiPickerTracker;
|
||||||
@Mock
|
@Mock
|
||||||
@@ -157,8 +158,11 @@ public class NetworkProviderSettingsTest {
|
|||||||
@Mock
|
@Mock
|
||||||
NetworkProviderSettings.WifiRestriction mWifiRestriction;
|
NetworkProviderSettings.WifiRestriction mWifiRestriction;
|
||||||
|
|
||||||
|
private NetworkProviderSettings mNetworkProviderSettings;
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setUp() {
|
public void setUp() {
|
||||||
|
when(mFragmentActivity.getApplicationContext()).thenReturn(mContext);
|
||||||
when(mMenu.add(anyInt(), anyInt(), anyInt(), anyInt())).thenReturn(mMenuItem);
|
when(mMenu.add(anyInt(), anyInt(), anyInt(), anyInt())).thenReturn(mMenuItem);
|
||||||
|
|
||||||
mNetworkProviderSettings = spy(new NetworkProviderSettings() {
|
mNetworkProviderSettings = spy(new NetworkProviderSettings() {
|
||||||
@@ -166,6 +170,8 @@ public class NetworkProviderSettingsTest {
|
|||||||
boolean showAnySubscriptionInfo(Context context) { return true; }
|
boolean showAnySubscriptionInfo(Context context) { return true; }
|
||||||
});
|
});
|
||||||
doReturn(mContext).when(mNetworkProviderSettings).getContext();
|
doReturn(mContext).when(mNetworkProviderSettings).getContext();
|
||||||
|
doReturn(mFragmentActivity).when(mNetworkProviderSettings).getActivity();
|
||||||
|
doReturn(mFragmentActivity).when(mNetworkProviderSettings).requireActivity();
|
||||||
doReturn(mPreferenceManager).when(mNetworkProviderSettings).getPreferenceManager();
|
doReturn(mPreferenceManager).when(mNetworkProviderSettings).getPreferenceManager();
|
||||||
doReturn(null).when(mNetworkProviderSettings).getPreferenceScreenBindingKey(mContext);
|
doReturn(null).when(mNetworkProviderSettings).getPreferenceScreenBindingKey(mContext);
|
||||||
doReturn(mPowerManager).when(mContext).getSystemService(PowerManager.class);
|
doReturn(mPowerManager).when(mContext).getSystemService(PowerManager.class);
|
||||||
@@ -294,13 +300,10 @@ public class NetworkProviderSettingsTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void setUpForOnCreate() {
|
private void setUpForOnCreate() {
|
||||||
final FragmentActivity activity = mock(FragmentActivity.class);
|
|
||||||
doReturn(activity).when(mNetworkProviderSettings).requireActivity();
|
|
||||||
doReturn(activity).when(mNetworkProviderSettings).getActivity();
|
|
||||||
final Resources.Theme theme = mContext.getTheme();
|
final Resources.Theme theme = mContext.getTheme();
|
||||||
when(activity.getTheme()).thenReturn(theme);
|
when(mFragmentActivity.getTheme()).thenReturn(theme);
|
||||||
UserManager userManager = mock(UserManager.class);
|
UserManager userManager = mock(UserManager.class);
|
||||||
when(activity.getSystemService(Context.USER_SERVICE))
|
when(mFragmentActivity.getSystemService(Context.USER_SERVICE))
|
||||||
.thenReturn(userManager);
|
.thenReturn(userManager);
|
||||||
|
|
||||||
when(mNetworkProviderSettings.findPreference(NetworkProviderSettings.PREF_KEY_DATA_USAGE))
|
when(mNetworkProviderSettings.findPreference(NetworkProviderSettings.PREF_KEY_DATA_USAGE))
|
||||||
@@ -343,10 +346,6 @@ public class NetworkProviderSettingsTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onCreateContextMenu_shouldHaveForgetAndDisconnectMenuForConnectedWifiEntry() {
|
public void onCreateContextMenu_shouldHaveForgetAndDisconnectMenuForConnectedWifiEntry() {
|
||||||
final FragmentActivity activity = mock(FragmentActivity.class);
|
|
||||||
when(activity.getApplicationContext()).thenReturn(mContext);
|
|
||||||
when(mNetworkProviderSettings.getActivity()).thenReturn(activity);
|
|
||||||
|
|
||||||
when(mWifiEntry.canDisconnect()).thenReturn(true);
|
when(mWifiEntry.canDisconnect()).thenReturn(true);
|
||||||
when(mWifiEntry.canForget()).thenReturn(true);
|
when(mWifiEntry.canForget()).thenReturn(true);
|
||||||
when(mWifiEntry.isSaved()).thenReturn(true);
|
when(mWifiEntry.isSaved()).thenReturn(true);
|
||||||
@@ -365,10 +364,6 @@ public class NetworkProviderSettingsTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onCreateContextMenu_canShare_shouldHaveShareMenuForConnectedWifiEntry() {
|
public void onCreateContextMenu_canShare_shouldHaveShareMenuForConnectedWifiEntry() {
|
||||||
final FragmentActivity activity = mock(FragmentActivity.class);
|
|
||||||
when(activity.getApplicationContext()).thenReturn(mContext);
|
|
||||||
when(mNetworkProviderSettings.getActivity()).thenReturn(activity);
|
|
||||||
|
|
||||||
when(mWifiEntry.canDisconnect()).thenReturn(true);
|
when(mWifiEntry.canDisconnect()).thenReturn(true);
|
||||||
when(mWifiEntry.canShare()).thenReturn(true);
|
when(mWifiEntry.canShare()).thenReturn(true);
|
||||||
when(mWifiEntry.canForget()).thenReturn(true);
|
when(mWifiEntry.canForget()).thenReturn(true);
|
||||||
@@ -387,10 +382,6 @@ public class NetworkProviderSettingsTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onCreateContextMenu_canNotShare_shouldDisappearShareMenuForConnectedWifiEntry() {
|
public void onCreateContextMenu_canNotShare_shouldDisappearShareMenuForConnectedWifiEntry() {
|
||||||
final FragmentActivity activity = mock(FragmentActivity.class);
|
|
||||||
when(activity.getApplicationContext()).thenReturn(mContext);
|
|
||||||
when(mNetworkProviderSettings.getActivity()).thenReturn(activity);
|
|
||||||
|
|
||||||
when(mWifiEntry.canDisconnect()).thenReturn(true);
|
when(mWifiEntry.canDisconnect()).thenReturn(true);
|
||||||
when(mWifiEntry.canShare()).thenReturn(false);
|
when(mWifiEntry.canShare()).thenReturn(false);
|
||||||
when(mWifiEntry.canForget()).thenReturn(true);
|
when(mWifiEntry.canForget()).thenReturn(true);
|
||||||
@@ -414,6 +405,13 @@ public class NetworkProviderSettingsTest {
|
|||||||
verify(mNetworkProviderSettings).changeNextButtonState(anyBoolean());
|
verify(mNetworkProviderSettings).changeNextButtonState(anyBoolean());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void onWifiEntriesChanged_activityIsNull_shouldNotCrash() {
|
||||||
|
doReturn(null).when(mNetworkProviderSettings).getActivity();
|
||||||
|
|
||||||
|
mNetworkProviderSettings.onWifiEntriesChanged(WIFI_ENTRIES_CHANGED_REASON_GENERAL);
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void openSubscriptionHelpPage_shouldCallStartActivityForResult() {
|
public void openSubscriptionHelpPage_shouldCallStartActivityForResult() {
|
||||||
doReturn(new Intent()).when(mNetworkProviderSettings).getHelpIntent(mContext,
|
doReturn(new Intent()).when(mNetworkProviderSettings).getHelpIntent(mContext,
|
||||||
@@ -428,20 +426,16 @@ public class NetworkProviderSettingsTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onNumSavedNetworksChanged_isFinishing_ShouldNotCrash() {
|
public void onNumSavedNetworksChanged_isFinishing_shouldNotCrash() {
|
||||||
final FragmentActivity activity = mock(FragmentActivity.class);
|
when(mFragmentActivity.isFinishing()).thenReturn(true);
|
||||||
when(activity.isFinishing()).thenReturn(true);
|
|
||||||
when(mNetworkProviderSettings.getActivity()).thenReturn(activity);
|
|
||||||
when(mNetworkProviderSettings.getContext()).thenReturn(null);
|
when(mNetworkProviderSettings.getContext()).thenReturn(null);
|
||||||
|
|
||||||
mNetworkProviderSettings.onNumSavedNetworksChanged();
|
mNetworkProviderSettings.onNumSavedNetworksChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onNumSavedSubscriptionsChanged_isFinishing_ShouldNotCrash() {
|
public void onNumSavedSubscriptionsChanged_isFinishing_shouldNotCrash() {
|
||||||
final FragmentActivity activity = mock(FragmentActivity.class);
|
when(mFragmentActivity.isFinishing()).thenReturn(true);
|
||||||
when(activity.isFinishing()).thenReturn(true);
|
|
||||||
when(mNetworkProviderSettings.getActivity()).thenReturn(activity);
|
|
||||||
when(mNetworkProviderSettings.getContext()).thenReturn(null);
|
when(mNetworkProviderSettings.getContext()).thenReturn(null);
|
||||||
|
|
||||||
mNetworkProviderSettings.onNumSavedSubscriptionsChanged();
|
mNetworkProviderSettings.onNumSavedSubscriptionsChanged();
|
||||||
@@ -634,7 +628,7 @@ public class NetworkProviderSettingsTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void updateWifiEntryPreferences_activityIsNull_ShouldNotCrash() {
|
public void updateWifiEntryPreferences_activityIsNull_shouldNotCrash() {
|
||||||
when(mNetworkProviderSettings.getActivity()).thenReturn(null);
|
when(mNetworkProviderSettings.getActivity()).thenReturn(null);
|
||||||
|
|
||||||
// should not crash
|
// should not crash
|
||||||
@@ -642,9 +636,7 @@ public class NetworkProviderSettingsTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void updateWifiEntryPreferences_viewIsNull_ShouldNotCrash() {
|
public void updateWifiEntryPreferences_viewIsNull_shouldNotCrash() {
|
||||||
final FragmentActivity activity = mock(FragmentActivity.class);
|
|
||||||
when(mNetworkProviderSettings.getActivity()).thenReturn(activity);
|
|
||||||
when(mNetworkProviderSettings.getView()).thenReturn(null);
|
when(mNetworkProviderSettings.getView()).thenReturn(null);
|
||||||
|
|
||||||
// should not crash
|
// should not crash
|
||||||
|
Reference in New Issue
Block a user