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

Commit d4c0158b authored by Sharvil Nanavati's avatar Sharvil Nanavati Committed by Matthew Xie
Browse files

Tear down PAN if we can't successfully complete a DHCP request

after establishing a PANU connection.

http://b/13731957

Change-Id: I0c808d5196c66783b52942ba7b7212bdce9f1c07
parent c3868044
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -53,6 +53,9 @@ public class BluetoothTetheringDataTracker extends BaseNetworkStateTracker {
    private static final boolean DBG = true;
    private static final boolean VDBG = true;

    // Event sent to the mBtdtHandler when DHCP fails so we can tear down the network.
    private static final int EVENT_NETWORK_FAILED = 1;

    private AtomicBoolean mTeardownRequested = new AtomicBoolean(false);
    private AtomicBoolean mPrivateDnsRouteSet = new AtomicBoolean(false);
    private AtomicInteger mDefaultGatewayAddr = new AtomicInteger(0);
@@ -315,6 +318,7 @@ public class BluetoothTetheringDataTracker extends BaseNetworkStateTracker {
                    }
                    if (!success) {
                        Log.e(TAG, "DHCP request error:" + NetworkUtils.getDhcpError());
                        mBtdtHandler.obtainMessage(EVENT_NETWORK_FAILED).sendToTarget();
                        return;
                    }
                    mLinkProperties = dhcpResults.linkProperties;
@@ -407,6 +411,10 @@ public class BluetoothTetheringDataTracker extends BaseNetworkStateTracker {
                    if (VDBG) Log.d(TAG, "got EVENT_NETWORK_DISCONNECTED, " + linkProperties);
                    mBtdt.stopReverseTether();
                    break;
                case EVENT_NETWORK_FAILED:
                    if (VDBG) Log.d(TAG, "got EVENT_NETWORK_FAILED");
                    mBtdt.teardown();
                    break;
            }
        }
    }