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

Commit 3d2f50d8 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "[Wi-Fi] Fix thread leak in WifiConnectionPreferenceController"

parents eaf49d18 3157be53
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -29,6 +29,8 @@ import android.os.SimpleClock;
import android.os.SystemClock;

import androidx.annotation.VisibleForTesting;
import androidx.lifecycle.LifecycleObserver;
import androidx.lifecycle.OnLifecycleEvent;
import androidx.preference.PreferenceGroup;
import androidx.preference.PreferenceScreen;

@@ -50,7 +52,7 @@ import java.time.ZoneOffset;
 * controller class when there is a wifi connection present.
 */
public class WifiConnectionPreferenceController extends AbstractPreferenceController implements
        WifiPickerTracker.WifiPickerTrackerCallback {
        WifiPickerTracker.WifiPickerTrackerCallback, LifecycleObserver {

    private static final String TAG = "WifiConnPrefCtrl";

@@ -97,6 +99,7 @@ public class WifiConnectionPreferenceController extends AbstractPreferenceContro
            UpdateListener updateListener, String preferenceGroupKey, int order,
            int metricsCategory) {
        super(context);
        lifecycle.addObserver(this);
        mUpdateListener = updateListener;
        mPreferenceGroupKey = preferenceGroupKey;
        this.order = order;
@@ -124,6 +127,14 @@ public class WifiConnectionPreferenceController extends AbstractPreferenceContro
                this);
    }

    /**
     * This event is triggered when users click back button at 'Network & internet'.
     */
    @OnLifecycleEvent(Lifecycle.Event.ON_DESTROY)
    public void onDestroy() {
        mWorkerThread.quit();
    }

    @Override
    public boolean isAvailable() {
        return mWifiPickerTracker.getConnectedWifiEntry() != null;