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

Commit 78a309d3 authored by Sundeep Ghuman's avatar Sundeep Ghuman
Browse files

Create a way to inject a WifiTracker into WifiSettings.

Bug: b/36403696
Test: Preliminary step to enable creation of Espresso tests b/36403696
Change-Id: I63c49cca0905a9d05964c11b3307ccf1859db7ec
parent 7bd4ea53
Loading
Loading
Loading
Loading
+35 −0
Original line number Original line Diff line number Diff line
package com.android.settingslib.wifi;

import android.content.Context;
import android.os.Looper;

/**
 * Factory method used to inject WifiTracker instances.
 */
public class WifiTrackerFactory {
    private static boolean sTestingMode = false;

    private static WifiTracker sTestingWifiTracker;

    public void enableTestingMode() {
        sTestingMode = true;
    }

    public void disableTestingMode() {
        sTestingMode = false;
    }

    public void setTestingWifiTracker(WifiTracker tracker) {
        sTestingWifiTracker = tracker;
    }

    public static WifiTracker create(
            Context context, WifiTracker.WifiListener wifiListener, Looper workerLooper,
            boolean includeSaved, boolean includeScans, boolean includePasspoints) {
        if(sTestingMode) {
            return sTestingWifiTracker;
        }
        return new WifiTracker(
                context, wifiListener, workerLooper, includeSaved, includeScans, includePasspoints);
    }
}