diff options
| -rw-r--r-- | services/java/com/android/server/ConnectivityService.java | 15 | ||||
| -rw-r--r-- | services/java/com/android/server/connectivity/Tethering.java | 8 |
2 files changed, 22 insertions, 1 deletions
diff --git a/services/java/com/android/server/ConnectivityService.java b/services/java/com/android/server/ConnectivityService.java index e11190f99c90..02532653d648 100644 --- a/services/java/com/android/server/ConnectivityService.java +++ b/services/java/com/android/server/ConnectivityService.java @@ -1440,6 +1440,16 @@ public class ConnectivityService extends IConnectivityManager.Stub { } } } + + // TODO: Temporary notifying upstread change to Tethering. + // @see bug/4455071 + /** Notify TetheringService if interface name has been changed. */ + if (TextUtils.equals(mNetTrackers[netType].getNetworkInfo().getReason(), + Phone.REASON_LINK_PROPERTIES_CHANGED)) { + if (isTetheringSupported()) { + mTethering.handleTetherIfaceChange(); + } + } } private void addPrivateDnsRoutes(NetworkStateTracker nt) { @@ -1882,7 +1892,10 @@ public class ConnectivityService extends IConnectivityManager.Stub { break; case NetworkStateTracker.EVENT_CONFIGURATION_CHANGED: info = (NetworkInfo) msg.obj; - handleConnectivityChange(info.getType(), true); + // TODO: Temporary allowing network configuration + // change not resetting sockets. + // @see bug/4455071 + handleConnectivityChange(info.getType(), false); break; case EVENT_CLEAR_NET_TRANSITION_WAKELOCK: String causedBy = null; diff --git a/services/java/com/android/server/connectivity/Tethering.java b/services/java/com/android/server/connectivity/Tethering.java index 099c9507c826..22908018a66b 100644 --- a/services/java/com/android/server/connectivity/Tethering.java +++ b/services/java/com/android/server/connectivity/Tethering.java @@ -709,6 +709,14 @@ public class Tethering extends INetworkManagementEventObserver.Stub { return retVal; } + //TODO: Temporary handling upstream change triggered without + // CONNECTIVITY_ACTION. Only to accomodate interface + // switch during HO. + // @see bug/4455071 + public void handleTetherIfaceChange() { + mTetherMasterSM.sendMessage(TetherMasterSM.CMD_UPSTREAM_CHANGED); + } + class TetherInterfaceSM extends StateMachine { // notification from the master SM that it's not in tether mode static final int CMD_TETHER_MODE_DEAD = 1; |