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

Commit 4440e7a0 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Settings: Fix WifiSettings FC when rotating screen" am: f558fc27 am:...

Merge "Settings: Fix WifiSettings FC when rotating screen" am: f558fc27 am: 3531a347 am: caa0bbd9

Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1975409



Change-Id: I56e489c2867242dfc425aba6dea8896d903ab4c3
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents ad5acbdc caa0bbd9
Loading
Loading
Loading
Loading
+15 −3
Original line number Diff line number Diff line
@@ -189,6 +189,8 @@ public class WifiSettings extends RestrictedSettingsFragment

    // Worker thread used for WifiPickerTracker work
    private HandlerThread mWorkerThread;
    private Handler mMainHandler;
    private Handler mWorkerHandler;

    @VisibleForTesting
    WifiPickerTracker mWifiPickerTracker;
@@ -289,11 +291,13 @@ public class WifiSettings extends RestrictedSettingsFragment
                return SystemClock.elapsedRealtime();
            }
        };

        mMainHandler = new Handler(Looper.getMainLooper());
        mWorkerHandler = mWorkerThread.getThreadHandler();
        mWifiPickerTracker = FeatureFactory.getFactory(context)
                .getWifiTrackerLibProvider()
                .createWifiPickerTracker(getSettingsLifecycle(), context,
                        new Handler(Looper.getMainLooper()),
                        mWorkerThread.getThreadHandler(),
                        mMainHandler, mWorkerHandler,
                        elapsedRealtimeClock,
                        MAX_SCAN_AGE_MILLIS,
                        SCAN_INTERVAL_MILLIS,
@@ -365,6 +369,10 @@ public class WifiSettings extends RestrictedSettingsFragment
        if (mWifiEnabler != null) {
            mWifiEnabler.teardownSwitchController();
        }

        // remove all msg and callback in main handler and worker handler
        mMainHandler.removeCallbacksAndMessages(null);
        mWorkerHandler.removeCallbacksAndMessages(null);
        mWorkerThread.quit();

        super.onDestroyView();
@@ -649,7 +657,7 @@ public class WifiSettings extends RestrictedSettingsFragment
    /** Called when the state of Wifi has changed. */
    @Override
    public void onWifiStateChanged() {
        if (mIsRestricted) {
        if (mIsRestricted || isFinishingOrDestroyed()) {
            return;
        }
        final int wifiState = mWifiPickerTracker.getWifiState();
@@ -687,6 +695,10 @@ public class WifiSettings extends RestrictedSettingsFragment

    @Override
    public void onWifiEntriesChanged() {
        if (isFinishingOrDestroyed()) {
            return;
        }

        if (mIsWifiEntryListStale) {
            mIsWifiEntryListStale = false;
            updateWifiEntryPreferences();
+5 −0
Original line number Diff line number Diff line
@@ -276,6 +276,11 @@ public class WifiSettingsTest {

    @Test
    public void onWifiEntriesChanged_shouldChangeNextButtonState() {
        final FragmentActivity activity = mock(FragmentActivity.class);
        doReturn(false).when(activity).isFinishing();
        doReturn(false).when(activity).isDestroyed();
        doReturn(activity).when(mWifiSettings).getActivity();

        mWifiSettings.onWifiEntriesChanged();

        verify(mWifiSettings).changeNextButtonState(anyBoolean());