Loading src/com/android/settings/SettingsPreferenceFragment.java +5 −0 Original line number Diff line number Diff line Loading @@ -699,4 +699,9 @@ public abstract class SettingsPreferenceFragment extends InstrumentedPreferenceF } getActivity().setResult(result); } protected boolean isFinishingOrDestroyed() { final Activity activity = getActivity(); return activity == null || activity.isFinishing() || activity.isDestroyed(); } } src/com/android/settings/wifi/WifiSettings2.java +9 −10 Original line number Diff line number Diff line Loading @@ -674,11 +674,17 @@ public class WifiSettings2 extends RestrictedSettingsFragment @Override public void onNumSavedNetworksChanged() { if (isFinishingOrDestroyed()) { return; } setAdditionalSettingsSummaries(); } @Override public void onNumSavedSubscriptionsChanged() { if (isFinishingOrDestroyed()) { return; } setAdditionalSettingsSummaries(); } Loading Loading @@ -993,12 +999,10 @@ public class WifiSettings2 extends RestrictedSettingsFragment @Override public void onFailure(int reason) { final Activity activity = getActivity(); if (isFisishingOrDestroyed(activity)) { if (isFinishingOrDestroyed()) { return; } Toast.makeText(activity, R.string.wifi_failed_connect_message, Toast.LENGTH_SHORT) Toast.makeText(getContext(), R.string.wifi_failed_connect_message, Toast.LENGTH_SHORT) .show(); } }; Loading @@ -1020,8 +1024,7 @@ public class WifiSettings2 extends RestrictedSettingsFragment @Override public void onConnectResult(@ConnectStatus int status) { final Activity activity = getActivity(); if (isFisishingOrDestroyed(activity)) { if (isFinishingOrDestroyed()) { return; } Loading @@ -1041,10 +1044,6 @@ public class WifiSettings2 extends RestrictedSettingsFragment } } private boolean isFisishingOrDestroyed(Activity activity) { return activity == null || activity.isFinishing() || activity.isDestroyed(); } private void launchConfigNewNetworkFragment(WifiEntry wifiEntry) { final Bundle bundle = new Bundle(); bundle.putString(WifiNetworkDetailsFragment2.KEY_CHOSEN_WIFIENTRY_KEY, Loading src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsWifiSettings2.java +6 −0 Original line number Diff line number Diff line Loading @@ -153,6 +153,9 @@ public class SavedAccessPointsWifiSettings2 extends DashboardFragment @Override public void onSavedWifiEntriesChanged() { if (isFinishingOrDestroyed()) { return; } final PreferenceScreen screen = getPreferenceScreen(); use(SavedAccessPointsPreferenceController2.class) .displayPreference(screen, mSavedNetworkTracker.getSavedWifiEntries()); Loading @@ -160,6 +163,9 @@ public class SavedAccessPointsWifiSettings2 extends DashboardFragment @Override public void onSubscriptionWifiEntriesChanged() { if (isFinishingOrDestroyed()) { return; } final PreferenceScreen screen = getPreferenceScreen(); use(SubscribedAccessPointsPreferenceController2.class) .displayPreference(screen, mSavedNetworkTracker.getSubscriptionWifiEntries()); Loading tests/robotests/src/com/android/settings/wifi/WifiSettings2Test.java +20 −0 Original line number Diff line number Diff line Loading @@ -280,4 +280,24 @@ public class WifiSettings2Test { verify(mWifiSettings2, times(1)).startActivityForResult(any(), anyInt()); } @Test public void onNumSavedNetworksChanged_isFinishing_ShouldNotCrash() { final FragmentActivity activity = mock(FragmentActivity.class); when(activity.isFinishing()).thenReturn(true); when(mWifiSettings2.getActivity()).thenReturn(activity); when(mWifiSettings2.getContext()).thenReturn(null); mWifiSettings2.onNumSavedNetworksChanged(); } @Test public void onNumSavedSubscriptionsChanged_isFinishing_ShouldNotCrash() { final FragmentActivity activity = mock(FragmentActivity.class); when(activity.isFinishing()).thenReturn(true); when(mWifiSettings2.getActivity()).thenReturn(activity); when(mWifiSettings2.getContext()).thenReturn(null); mWifiSettings2.onNumSavedSubscriptionsChanged(); } } Loading
src/com/android/settings/SettingsPreferenceFragment.java +5 −0 Original line number Diff line number Diff line Loading @@ -699,4 +699,9 @@ public abstract class SettingsPreferenceFragment extends InstrumentedPreferenceF } getActivity().setResult(result); } protected boolean isFinishingOrDestroyed() { final Activity activity = getActivity(); return activity == null || activity.isFinishing() || activity.isDestroyed(); } }
src/com/android/settings/wifi/WifiSettings2.java +9 −10 Original line number Diff line number Diff line Loading @@ -674,11 +674,17 @@ public class WifiSettings2 extends RestrictedSettingsFragment @Override public void onNumSavedNetworksChanged() { if (isFinishingOrDestroyed()) { return; } setAdditionalSettingsSummaries(); } @Override public void onNumSavedSubscriptionsChanged() { if (isFinishingOrDestroyed()) { return; } setAdditionalSettingsSummaries(); } Loading Loading @@ -993,12 +999,10 @@ public class WifiSettings2 extends RestrictedSettingsFragment @Override public void onFailure(int reason) { final Activity activity = getActivity(); if (isFisishingOrDestroyed(activity)) { if (isFinishingOrDestroyed()) { return; } Toast.makeText(activity, R.string.wifi_failed_connect_message, Toast.LENGTH_SHORT) Toast.makeText(getContext(), R.string.wifi_failed_connect_message, Toast.LENGTH_SHORT) .show(); } }; Loading @@ -1020,8 +1024,7 @@ public class WifiSettings2 extends RestrictedSettingsFragment @Override public void onConnectResult(@ConnectStatus int status) { final Activity activity = getActivity(); if (isFisishingOrDestroyed(activity)) { if (isFinishingOrDestroyed()) { return; } Loading @@ -1041,10 +1044,6 @@ public class WifiSettings2 extends RestrictedSettingsFragment } } private boolean isFisishingOrDestroyed(Activity activity) { return activity == null || activity.isFinishing() || activity.isDestroyed(); } private void launchConfigNewNetworkFragment(WifiEntry wifiEntry) { final Bundle bundle = new Bundle(); bundle.putString(WifiNetworkDetailsFragment2.KEY_CHOSEN_WIFIENTRY_KEY, Loading
src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsWifiSettings2.java +6 −0 Original line number Diff line number Diff line Loading @@ -153,6 +153,9 @@ public class SavedAccessPointsWifiSettings2 extends DashboardFragment @Override public void onSavedWifiEntriesChanged() { if (isFinishingOrDestroyed()) { return; } final PreferenceScreen screen = getPreferenceScreen(); use(SavedAccessPointsPreferenceController2.class) .displayPreference(screen, mSavedNetworkTracker.getSavedWifiEntries()); Loading @@ -160,6 +163,9 @@ public class SavedAccessPointsWifiSettings2 extends DashboardFragment @Override public void onSubscriptionWifiEntriesChanged() { if (isFinishingOrDestroyed()) { return; } final PreferenceScreen screen = getPreferenceScreen(); use(SubscribedAccessPointsPreferenceController2.class) .displayPreference(screen, mSavedNetworkTracker.getSubscriptionWifiEntries()); Loading
tests/robotests/src/com/android/settings/wifi/WifiSettings2Test.java +20 −0 Original line number Diff line number Diff line Loading @@ -280,4 +280,24 @@ public class WifiSettings2Test { verify(mWifiSettings2, times(1)).startActivityForResult(any(), anyInt()); } @Test public void onNumSavedNetworksChanged_isFinishing_ShouldNotCrash() { final FragmentActivity activity = mock(FragmentActivity.class); when(activity.isFinishing()).thenReturn(true); when(mWifiSettings2.getActivity()).thenReturn(activity); when(mWifiSettings2.getContext()).thenReturn(null); mWifiSettings2.onNumSavedNetworksChanged(); } @Test public void onNumSavedSubscriptionsChanged_isFinishing_ShouldNotCrash() { final FragmentActivity activity = mock(FragmentActivity.class); when(activity.isFinishing()).thenReturn(true); when(mWifiSettings2.getActivity()).thenReturn(activity); when(mWifiSettings2.getContext()).thenReturn(null); mWifiSettings2.onNumSavedSubscriptionsChanged(); } }