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

Commit 7eae2502 authored by Robert Greenwalt's avatar Robert Greenwalt
Browse files

Move Tethering off the ServerThread.

An ANR has been reported because somebody else was hogging the Netd
link.  We can't pause the server thread for that, so make a new thread.

bug:2609904
Change-Id: I0430a08621da1cda0a0010ce15826cceee59a529
parent 19275cb5
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ import android.net.NetworkUtils;
import android.os.BatteryManager;
import android.os.Binder;
import android.os.Environment;
import android.os.HandlerThread;
import android.os.IBinder;
import android.os.INetworkManagementService;
import android.os.Looper;
@@ -75,7 +76,8 @@ public class Tethering extends INetworkManagementEventObserver.Stub {
    private String[] mTetherableWifiRegexs;
    private String[] mUpstreamIfaceRegexs;

    private Looper mLooper; // given to us at construction time..
    private Looper mLooper;
    private HandlerThread mThread;

    private HashMap<String, TetherInterfaceSM> mIfaces; // all tethered/tetherable ifaces

@@ -123,6 +125,10 @@ public class Tethering extends INetworkManagementEventObserver.Stub {

        mIfaces = new HashMap<String, TetherInterfaceSM>();

        // make our own thread so we don't anr the system
        mThread = new HandlerThread("Tethering");
        mThread.start();
        mLooper = mThread.getLooper();
        mTetherMasterSM = new TetherMasterSM("TetherMaster", mLooper);
        mTetherMasterSM.start();