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
*/
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;
@@ -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;
@@ -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
@@ -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);
}
@@ -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;
@@ -356,6 +364,7 @@ public abstract class NetworkAgent extends Handler {
}
}
}
}
private void queueOrSendMessage(int what, Object obj) {
queueOrSendMessage(what, 0, 0, obj);