Loading core/java/android/net/NetworkAgent.java +108 −99 Original line number Diff line number Diff line Loading @@ -43,9 +43,10 @@ import java.util.concurrent.atomic.AtomicBoolean; * * @hide */ public abstract class NetworkAgent extends Handler { public abstract class NetworkAgent { public final Network network; private final Handler mHandler; private volatile AsyncChannel mAsyncChannel; private final String LOG_TAG; private static final boolean DBG = true; Loading Loading @@ -232,7 +233,7 @@ public abstract class NetworkAgent extends Handler { public NetworkAgent(Looper looper, Context context, String logTag, NetworkInfo ni, NetworkCapabilities nc, LinkProperties lp, int score, NetworkMisc misc, int providerId) { super(looper); mHandler = new NetworkAgentHandler(looper); LOG_TAG = logTag; mContext = context; mProviderId = providerId; Loading @@ -243,8 +244,14 @@ public abstract class NetworkAgent extends Handler { if (VDBG) log("Registering NetworkAgent"); ConnectivityManager cm = (ConnectivityManager)mContext.getSystemService( Context.CONNECTIVITY_SERVICE); network = cm.registerNetworkAgent(new Messenger(this), new NetworkInfo(ni), new LinkProperties(lp), new NetworkCapabilities(nc), score, misc, providerId); network = cm.registerNetworkAgent(new Messenger(mHandler), new NetworkInfo(ni), new LinkProperties(lp), new NetworkCapabilities(nc), score, misc, providerId); } private class NetworkAgentHandler extends Handler { NetworkAgentHandler(Looper looper) { super(looper); } @Override Loading Loading @@ -294,14 +301,14 @@ public abstract class NetworkAgent extends Handler { } if (currentTimeMs >= (mLastBwRefreshTime + BW_REFRESH_MIN_WIN_MS)) { mPollLceScheduled = false; if (mPollLcePending.getAndSet(true) == false) { if (!mPollLcePending.getAndSet(true)) { pollLceData(); } } else { // deliver the request at a later time rather than discard it completely. if (!mPollLceScheduled) { long waitTime = mLastBwRefreshTime + BW_REFRESH_MIN_WIN_MS - currentTimeMs + 1; long waitTime = mLastBwRefreshTime + BW_REFRESH_MIN_WIN_MS - currentTimeMs + 1; mPollLceScheduled = sendEmptyMessageDelayed( CMD_REQUEST_BANDWIDTH_UPDATE, waitTime); } Loading @@ -311,8 +318,9 @@ public abstract class NetworkAgent extends Handler { case CMD_REPORT_NETWORK_STATUS: { String redirectUrl = ((Bundle) msg.obj).getString(REDIRECT_URL_KEY); if (VDBG) { log("CMD_REPORT_NETWORK_STATUS(" + (msg.arg1 == VALID_NETWORK ? "VALID, " : "INVALID, ") + redirectUrl); log("CMD_REPORT_NETWORK_STATUS(" + (msg.arg1 == VALID_NETWORK ? "VALID, " : "INVALID, ") + redirectUrl); } networkStatus(msg.arg1, redirectUrl); break; Loading Loading @@ -356,6 +364,7 @@ public abstract class NetworkAgent extends Handler { } } } } private void queueOrSendMessage(int what, Object obj) { queueOrSendMessage(what, 0, 0, obj); Loading Loading
core/java/android/net/NetworkAgent.java +108 −99 Original line number Diff line number Diff line Loading @@ -43,9 +43,10 @@ import java.util.concurrent.atomic.AtomicBoolean; * * @hide */ public abstract class NetworkAgent extends Handler { public abstract class NetworkAgent { public final Network network; private final Handler mHandler; private volatile AsyncChannel mAsyncChannel; private final String LOG_TAG; private static final boolean DBG = true; Loading Loading @@ -232,7 +233,7 @@ public abstract class NetworkAgent extends Handler { public NetworkAgent(Looper looper, Context context, String logTag, NetworkInfo ni, NetworkCapabilities nc, LinkProperties lp, int score, NetworkMisc misc, int providerId) { super(looper); mHandler = new NetworkAgentHandler(looper); LOG_TAG = logTag; mContext = context; mProviderId = providerId; Loading @@ -243,8 +244,14 @@ public abstract class NetworkAgent extends Handler { if (VDBG) log("Registering NetworkAgent"); ConnectivityManager cm = (ConnectivityManager)mContext.getSystemService( Context.CONNECTIVITY_SERVICE); network = cm.registerNetworkAgent(new Messenger(this), new NetworkInfo(ni), new LinkProperties(lp), new NetworkCapabilities(nc), score, misc, providerId); network = cm.registerNetworkAgent(new Messenger(mHandler), new NetworkInfo(ni), new LinkProperties(lp), new NetworkCapabilities(nc), score, misc, providerId); } private class NetworkAgentHandler extends Handler { NetworkAgentHandler(Looper looper) { super(looper); } @Override Loading Loading @@ -294,14 +301,14 @@ public abstract class NetworkAgent extends Handler { } if (currentTimeMs >= (mLastBwRefreshTime + BW_REFRESH_MIN_WIN_MS)) { mPollLceScheduled = false; if (mPollLcePending.getAndSet(true) == false) { if (!mPollLcePending.getAndSet(true)) { pollLceData(); } } else { // deliver the request at a later time rather than discard it completely. if (!mPollLceScheduled) { long waitTime = mLastBwRefreshTime + BW_REFRESH_MIN_WIN_MS - currentTimeMs + 1; long waitTime = mLastBwRefreshTime + BW_REFRESH_MIN_WIN_MS - currentTimeMs + 1; mPollLceScheduled = sendEmptyMessageDelayed( CMD_REQUEST_BANDWIDTH_UPDATE, waitTime); } Loading @@ -311,8 +318,9 @@ public abstract class NetworkAgent extends Handler { case CMD_REPORT_NETWORK_STATUS: { String redirectUrl = ((Bundle) msg.obj).getString(REDIRECT_URL_KEY); if (VDBG) { log("CMD_REPORT_NETWORK_STATUS(" + (msg.arg1 == VALID_NETWORK ? "VALID, " : "INVALID, ") + redirectUrl); log("CMD_REPORT_NETWORK_STATUS(" + (msg.arg1 == VALID_NETWORK ? "VALID, " : "INVALID, ") + redirectUrl); } networkStatus(msg.arg1, redirectUrl); break; Loading Loading @@ -356,6 +364,7 @@ public abstract class NetworkAgent extends Handler { } } } } private void queueOrSendMessage(int what, Object obj) { queueOrSendMessage(what, 0, 0, obj); Loading