@@ -118,7 +118,7 @@ public class Tethering extends INetworkManagementEventObserver.Stub {
118118 "192.168.48.2" , "192.168.48.254" ,
119119 };
120120
121- private String [] mDnsServers ;
121+ private String [] mDefaultDnsServers ;
122122 private static final String DNS_DEFAULT_SERVER1 = "8.8.8.8" ;
123123 private static final String DNS_DEFAULT_SERVER2 = "8.8.4.4" ;
124124
@@ -171,9 +171,9 @@ public Tethering(Context context, INetworkManagementService nmService,
171171 updateConfiguration ();
172172
173173 // TODO - remove and rely on real notifications of the current iface
174- mDnsServers = new String [2 ];
175- mDnsServers [0 ] = DNS_DEFAULT_SERVER1 ;
176- mDnsServers [1 ] = DNS_DEFAULT_SERVER2 ;
174+ mDefaultDnsServers = new String [2 ];
175+ mDefaultDnsServers [0 ] = DNS_DEFAULT_SERVER1 ;
176+ mDefaultDnsServers [1 ] = DNS_DEFAULT_SERVER2 ;
177177 }
178178
179179 void updateConfiguration () {
@@ -1245,7 +1245,7 @@ protected boolean turnOnMasterTetherSettings() {
12451245 }
12461246 }
12471247 try {
1248- mNMService .setDnsForwarders (mDnsServers );
1248+ mNMService .setDnsForwarders (mDefaultDnsServers );
12491249 } catch (Exception e ) {
12501250 transitionTo (mSetDnsForwardersErrorState );
12511251 return false ;
@@ -1321,7 +1321,19 @@ protected void chooseUpstreamType(boolean tryCell) {
13211321 try {
13221322 linkProperties = mConnService .getLinkProperties (upType );
13231323 } catch (RemoteException e ) { }
1324- if (linkProperties != null ) iface = linkProperties .getInterfaceName ();
1324+ if (linkProperties != null ) {
1325+ iface = linkProperties .getInterfaceName ();
1326+ String [] dnsServers = mDefaultDnsServers ;
1327+ Collection <InetAddress > dnses = linkProperties .getDnses ();
1328+ if (dnses != null ) {
1329+ dnsServers = NetworkUtils .makeStrings (dnses );
1330+ }
1331+ try {
1332+ mNMService .setDnsForwarders (dnsServers );
1333+ } catch (Exception e ) {
1334+ transitionTo (mSetDnsForwardersErrorState );
1335+ }
1336+ }
13251337 }
13261338 notifyTetheredOfNewUpstreamIface (iface );
13271339 }
0 commit comments