diff --git a/Tethering/src/android/net/ip/IpServer.java b/Tethering/src/android/net/ip/IpServer.java index 0a34669d5e..8cf13d36ca 100644 --- a/Tethering/src/android/net/ip/IpServer.java +++ b/Tethering/src/android/net/ip/IpServer.java @@ -378,6 +378,11 @@ public class IpServer extends StateMachine { return Collections.unmodifiableList(mDhcpLeases); } + /** Enable this IpServer. IpServer state machine will be tethered or localHotspot state. */ + public void enable(final int requestedState, final TetheringRequestParcel request) { + sendMessage(CMD_TETHER_REQUESTED, requestedState, 0, request); + } + /** Stop this IpServer. After this is called this IpServer should not be used any more. */ public void stop() { sendMessage(CMD_INTERFACE_DOWN); diff --git a/Tethering/src/com/android/networkstack/tethering/Tethering.java b/Tethering/src/com/android/networkstack/tethering/Tethering.java index c2cf92c328..f0dd030f33 100644 --- a/Tethering/src/com/android/networkstack/tethering/Tethering.java +++ b/Tethering/src/com/android/networkstack/tethering/Tethering.java @@ -1001,8 +1001,7 @@ public class Tethering { if (request != null) { mActiveTetheringRequests.delete(type); } - tetherState.ipServer.sendMessage(IpServer.CMD_TETHER_REQUESTED, requestedState, 0, - request); + tetherState.ipServer.enable(requestedState, request); return TETHER_ERROR_NO_ERROR; } @@ -1026,7 +1025,7 @@ public class Tethering { Log.e(TAG, "Tried to untether an inactive iface :" + iface + ", ignoring"); return TETHER_ERROR_UNAVAIL_IFACE; } - tetherState.ipServer.sendMessage(IpServer.CMD_TETHER_UNREQUESTED); + tetherState.ipServer.unwanted(); return TETHER_ERROR_NO_ERROR; } @@ -1087,8 +1086,6 @@ public class Tethering { final ArrayList errored = new ArrayList<>(); final ArrayList lastErrors = new ArrayList<>(); - final TetheringConfiguration cfg = mConfig; - int downstreamTypesMask = DOWNSTREAM_NONE; for (int i = 0; i < mTetherStates.size(); i++) { final TetherState tetherState = mTetherStates.valueAt(i);