Merge "Cleanup of process-specific DNS." into eclair
This commit is contained in:
committed by
Android (Google) Code Review
commit
8c166512a7
@ -661,8 +661,8 @@ public class ConnectivityService extends IConnectivityManager.Stub {
|
|||||||
tracker = mNetTrackers[usedNetworkType];
|
tracker = mNetTrackers[usedNetworkType];
|
||||||
if(usedNetworkType != networkType) {
|
if(usedNetworkType != networkType) {
|
||||||
Integer currentPid = new Integer(pid);
|
Integer currentPid = new Integer(pid);
|
||||||
reassessPidDns(pid, true);
|
|
||||||
mNetRequestersPids[usedNetworkType].remove(currentPid);
|
mNetRequestersPids[usedNetworkType].remove(currentPid);
|
||||||
|
reassessPidDns(pid, true);
|
||||||
if (mNetRequestersPids[usedNetworkType].size() != 0) {
|
if (mNetRequestersPids[usedNetworkType].size() != 0) {
|
||||||
if (DBG) Log.d(TAG, "not tearing down special network - " +
|
if (DBG) Log.d(TAG, "not tearing down special network - " +
|
||||||
"others still using it");
|
"others still using it");
|
||||||
|
@ -748,7 +748,6 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void notifyDefaultData(String reason) {
|
private void notifyDefaultData(String reason) {
|
||||||
setupDnsProperties();
|
|
||||||
setState(State.CONNECTED);
|
setState(State.CONNECTED);
|
||||||
phone.notifyDataConnection(reason);
|
phone.notifyDataConnection(reason);
|
||||||
startNetStatPoll();
|
startNetStatPoll();
|
||||||
@ -757,42 +756,6 @@ public final class GsmDataConnectionTracker extends DataConnectionTracker {
|
|||||||
mReregisterOnReconnectFailure = false;
|
mReregisterOnReconnectFailure = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setupDnsProperties() {
|
|
||||||
int mypid = android.os.Process.myPid();
|
|
||||||
String[] servers = getDnsServers(null);
|
|
||||||
String propName;
|
|
||||||
String propVal;
|
|
||||||
int count;
|
|
||||||
|
|
||||||
count = 0;
|
|
||||||
for (int i = 0; i < servers.length; i++) {
|
|
||||||
String serverAddr = servers[i];
|
|
||||||
if (!TextUtils.equals(serverAddr, "0.0.0.0")) {
|
|
||||||
SystemProperties.set("net.dns" + (i+1) + "." + mypid, serverAddr);
|
|
||||||
count++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for (int i = count+1; i <= 4; i++) {
|
|
||||||
propName = "net.dns" + i + "." + mypid;
|
|
||||||
propVal = SystemProperties.get(propName);
|
|
||||||
if (propVal.length() != 0) {
|
|
||||||
SystemProperties.set(propName, "");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
* Bump the property that tells the name resolver library
|
|
||||||
* to reread the DNS server list from the properties.
|
|
||||||
*/
|
|
||||||
propVal = SystemProperties.get("net.dnschange");
|
|
||||||
if (propVal.length() != 0) {
|
|
||||||
try {
|
|
||||||
int n = Integer.parseInt(propVal);
|
|
||||||
SystemProperties.set("net.dnschange", "" + (n+1));
|
|
||||||
} catch (NumberFormatException e) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is a kludge to deal with the fact that
|
* This is a kludge to deal with the fact that
|
||||||
* the PDP state change notification doesn't always work
|
* the PDP state change notification doesn't always work
|
||||||
|
Reference in New Issue
Block a user