Loading services/java/com/android/server/ConnectivityService.java +18 −21 Original line number Diff line number Diff line Loading @@ -194,6 +194,7 @@ public class ConnectivityService extends IConnectivityManager.Stub { private int mNetworkPreference; private int mActiveDefaultNetwork = -1; // 0 is full bad, 100 is full good private int mDefaultInetCondition = 0; private int mDefaultInetConditionPublished = 0; private boolean mInetConditionChangeInFlight = false; private int mDefaultConnectionSequence = 0; Loading Loading @@ -1729,10 +1730,6 @@ public class ConnectivityService extends IConnectivityManager.Stub { intent.putExtra(ConnectivityManager.EXTRA_OTHER_NETWORK_INFO, switchTo); } else { mDefaultInetConditionPublished = 0; // we're not connected anymore if (DBG) { log("handleDisconnect: net=" + mActiveDefaultNetwork + ", published condition=" + mDefaultInetConditionPublished); } intent.putExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, true); } } Loading Loading @@ -1923,10 +1920,6 @@ public class ConnectivityService extends IConnectivityManager.Stub { intent.putExtra(ConnectivityManager.EXTRA_OTHER_NETWORK_INFO, switchTo); } else { mDefaultInetConditionPublished = 0; if (DBG) { log("handleConnectionFailure: net=" + mActiveDefaultNetwork + ", published condition=" + mDefaultInetConditionPublished); } intent.putExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, true); } } Loading Loading @@ -2071,10 +2064,6 @@ public class ConnectivityService extends IConnectivityManager.Stub { mDefaultInetConditionPublished = 0; mDefaultConnectionSequence++; mInetConditionChangeInFlight = false; if (DBG) { log("handleConnect: net=" + newNetType + ", published condition=" + mDefaultInetConditionPublished); } // Don't do this - if we never sign in stay, grey //reportNetworkCondition(mActiveDefaultNetwork, 100); } Loading Loading @@ -2790,8 +2779,7 @@ public class ConnectivityService extends IConnectivityManager.Stub { { int netType = msg.arg1; int sequence = msg.arg2; int condition = (Integer)msg.obj; handleInetConditionHoldEnd(netType, sequence, condition); handleInetConditionHoldEnd(netType, sequence); break; } case EVENT_SET_NETWORK_PREFERENCE: Loading Loading @@ -3004,13 +2992,14 @@ public class ConnectivityService extends IConnectivityManager.Stub { if (VDBG) { log("handleInetConditionChange: net=" + netType + ", condition=" + condition + " mActiveDefaultNetwork=" + mActiveDefaultNetwork); ",mActiveDefaultNetwork=" + mActiveDefaultNetwork); } mDefaultInetCondition = condition; int delay; if (mInetConditionChangeInFlight == false) { if (VDBG) log("handleInetConditionChange: starting a change hold"); // setup a new hold to debounce this if (condition > 50) { if (mDefaultInetCondition > 50) { delay = Settings.Global.getInt(mContext.getContentResolver(), Settings.Global.INET_CONDITION_DEBOUNCE_UP_DELAY, 500); } else { Loading @@ -3019,16 +3008,18 @@ public class ConnectivityService extends IConnectivityManager.Stub { } mInetConditionChangeInFlight = true; mHandler.sendMessageDelayed(mHandler.obtainMessage(EVENT_INET_CONDITION_HOLD_END, mActiveDefaultNetwork, mDefaultConnectionSequence, new Integer(condition)), delay); mActiveDefaultNetwork, mDefaultConnectionSequence), delay); } else { // we've set the new condition, when this hold ends that will get picked up if (VDBG) log("handleInetConditionChange: currently in hold - not setting new end evt"); } } private void handleInetConditionHoldEnd(int netType, int sequence, int condition) { private void handleInetConditionHoldEnd(int netType, int sequence) { if (DBG) { log("handleInetConditionHoldEnd: net=" + netType + ", condition=" + condition); log("handleInetConditionHoldEnd: net=" + netType + ", condition=" + mDefaultInetCondition + ", published condition=" + mDefaultInetConditionPublished); } mInetConditionChangeInFlight = false; Loading @@ -3040,13 +3031,19 @@ public class ConnectivityService extends IConnectivityManager.Stub { if (DBG) log("handleInetConditionHoldEnd: event hold for obsolete network - ignoring"); return; } // TODO: Figure out why this optimization sometimes causes a // change in mDefaultInetCondition to be missed and the // UI to not be updated. //if (mDefaultInetConditionPublished == mDefaultInetCondition) { // if (DBG) log("no change in condition - aborting"); // return; //} NetworkInfo networkInfo = mNetTrackers[mActiveDefaultNetwork].getNetworkInfo(); if (networkInfo.isConnected() == false) { if (DBG) log("handleInetConditionHoldEnd: default network not connected - ignoring"); return; } mDefaultInetConditionPublished = condition; mDefaultInetConditionPublished = mDefaultInetCondition; sendInetConditionBroadcast(networkInfo); return; } Loading Loading
services/java/com/android/server/ConnectivityService.java +18 −21 Original line number Diff line number Diff line Loading @@ -194,6 +194,7 @@ public class ConnectivityService extends IConnectivityManager.Stub { private int mNetworkPreference; private int mActiveDefaultNetwork = -1; // 0 is full bad, 100 is full good private int mDefaultInetCondition = 0; private int mDefaultInetConditionPublished = 0; private boolean mInetConditionChangeInFlight = false; private int mDefaultConnectionSequence = 0; Loading Loading @@ -1729,10 +1730,6 @@ public class ConnectivityService extends IConnectivityManager.Stub { intent.putExtra(ConnectivityManager.EXTRA_OTHER_NETWORK_INFO, switchTo); } else { mDefaultInetConditionPublished = 0; // we're not connected anymore if (DBG) { log("handleDisconnect: net=" + mActiveDefaultNetwork + ", published condition=" + mDefaultInetConditionPublished); } intent.putExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, true); } } Loading Loading @@ -1923,10 +1920,6 @@ public class ConnectivityService extends IConnectivityManager.Stub { intent.putExtra(ConnectivityManager.EXTRA_OTHER_NETWORK_INFO, switchTo); } else { mDefaultInetConditionPublished = 0; if (DBG) { log("handleConnectionFailure: net=" + mActiveDefaultNetwork + ", published condition=" + mDefaultInetConditionPublished); } intent.putExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, true); } } Loading Loading @@ -2071,10 +2064,6 @@ public class ConnectivityService extends IConnectivityManager.Stub { mDefaultInetConditionPublished = 0; mDefaultConnectionSequence++; mInetConditionChangeInFlight = false; if (DBG) { log("handleConnect: net=" + newNetType + ", published condition=" + mDefaultInetConditionPublished); } // Don't do this - if we never sign in stay, grey //reportNetworkCondition(mActiveDefaultNetwork, 100); } Loading Loading @@ -2790,8 +2779,7 @@ public class ConnectivityService extends IConnectivityManager.Stub { { int netType = msg.arg1; int sequence = msg.arg2; int condition = (Integer)msg.obj; handleInetConditionHoldEnd(netType, sequence, condition); handleInetConditionHoldEnd(netType, sequence); break; } case EVENT_SET_NETWORK_PREFERENCE: Loading Loading @@ -3004,13 +2992,14 @@ public class ConnectivityService extends IConnectivityManager.Stub { if (VDBG) { log("handleInetConditionChange: net=" + netType + ", condition=" + condition + " mActiveDefaultNetwork=" + mActiveDefaultNetwork); ",mActiveDefaultNetwork=" + mActiveDefaultNetwork); } mDefaultInetCondition = condition; int delay; if (mInetConditionChangeInFlight == false) { if (VDBG) log("handleInetConditionChange: starting a change hold"); // setup a new hold to debounce this if (condition > 50) { if (mDefaultInetCondition > 50) { delay = Settings.Global.getInt(mContext.getContentResolver(), Settings.Global.INET_CONDITION_DEBOUNCE_UP_DELAY, 500); } else { Loading @@ -3019,16 +3008,18 @@ public class ConnectivityService extends IConnectivityManager.Stub { } mInetConditionChangeInFlight = true; mHandler.sendMessageDelayed(mHandler.obtainMessage(EVENT_INET_CONDITION_HOLD_END, mActiveDefaultNetwork, mDefaultConnectionSequence, new Integer(condition)), delay); mActiveDefaultNetwork, mDefaultConnectionSequence), delay); } else { // we've set the new condition, when this hold ends that will get picked up if (VDBG) log("handleInetConditionChange: currently in hold - not setting new end evt"); } } private void handleInetConditionHoldEnd(int netType, int sequence, int condition) { private void handleInetConditionHoldEnd(int netType, int sequence) { if (DBG) { log("handleInetConditionHoldEnd: net=" + netType + ", condition=" + condition); log("handleInetConditionHoldEnd: net=" + netType + ", condition=" + mDefaultInetCondition + ", published condition=" + mDefaultInetConditionPublished); } mInetConditionChangeInFlight = false; Loading @@ -3040,13 +3031,19 @@ public class ConnectivityService extends IConnectivityManager.Stub { if (DBG) log("handleInetConditionHoldEnd: event hold for obsolete network - ignoring"); return; } // TODO: Figure out why this optimization sometimes causes a // change in mDefaultInetCondition to be missed and the // UI to not be updated. //if (mDefaultInetConditionPublished == mDefaultInetCondition) { // if (DBG) log("no change in condition - aborting"); // return; //} NetworkInfo networkInfo = mNetTrackers[mActiveDefaultNetwork].getNetworkInfo(); if (networkInfo.isConnected() == false) { if (DBG) log("handleInetConditionHoldEnd: default network not connected - ignoring"); return; } mDefaultInetConditionPublished = condition; mDefaultInetConditionPublished = mDefaultInetCondition; sendInetConditionBroadcast(networkInfo); return; } Loading