Merge "Make NetworkAgent stop subclassing Handler."

am: f1449b0ba5

Change-Id: Ie308e86e1b1173b0ec7fb7ac4a4f0b6c2bcfafa6
This commit is contained in:
Chiachang Wang
2020-01-21 20:42:19 -08:00
committed by android-build-merger

View File

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