OSDN Git Service

am 01758e81: Linkproperties update via unsol data call state change.
authorKazuhiro Ondo <kazuhiro.ondo@motorola.com>
Wed, 18 May 2011 07:02:31 +0000 (00:02 -0700)
committerAndroid Git Automerger <android-git-automerger@android.com>
Wed, 18 May 2011 07:02:31 +0000 (00:02 -0700)
* commit '01758e81b3ad89934581885bb2fc7006510ec639':
  Linkproperties update via unsol data call state change.

1  2 
services/java/com/android/server/ConnectivityService.java

@@@ -1380,21 -1389,14 +1380,27 @@@ public class ConnectivityService extend
                  handleApplyDefaultProxy(netType);
                  addDefaultRoute(mNetTrackers[netType]);
              } else {
 +                // many radios add a default route even when we don't want one.
 +                // remove the default interface unless we need it for our active network
 +                if (mActiveDefaultNetwork != -1) {
 +                    LinkProperties linkProperties =
 +                            mNetTrackers[mActiveDefaultNetwork].getLinkProperties();
 +                    LinkProperties newLinkProperties =
 +                            mNetTrackers[netType].getLinkProperties();
 +                    String defaultIface = linkProperties.getInterfaceName();
 +                    if (defaultIface != null &&
 +                            !defaultIface.equals(newLinkProperties.getInterfaceName())) {
 +                        removeDefaultRoute(mNetTrackers[netType]);
 +                    }
 +                }
                  addPrivateDnsRoutes(mNetTrackers[netType]);
              }
+             /** Notify TetheringService if interface name has been changed. */
+             if (TextUtils.equals(mNetTrackers[netType].getNetworkInfo().getReason(),
+                                  Phone.REASON_LINK_PROPERTIES_CHANGED)) {
+                 handleTetherIfaceChange(netType);
+             }
          } else {
              if (mNetConfigs[netType].isDefault()) {
                  removeDefaultRoute(mNetTrackers[netType]);