Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 742539e2 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "[Wi-Fi] Fix exception when WifiTracker2 callbacks to Wi-Fi Settings"...

Merge "[Wi-Fi] Fix exception when WifiTracker2 callbacks to Wi-Fi Settings" into rvc-dev am: dea87bd8 am: d582019b

Change-Id: I94f44d842f761994649ba7ca1e0211c2c0a4cea4
parents a58a21ff d582019b
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -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();
    }
}
+9 −10
Original line number Diff line number Diff line
@@ -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();
    }

@@ -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();
        }
    };
@@ -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;
            }

@@ -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,
+6 −0
Original line number Diff line number Diff line
@@ -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());
@@ -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());
+20 −0
Original line number Diff line number Diff line
@@ -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();
    }
}