Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4fae98e0 authored by Chiachang Wang's avatar Chiachang Wang Committed by android-build-merger
Browse files

Merge "Make NetworkAgent stop subclassing Handler."

am: a11ae54b

Change-Id: Ie308e86e1b1173b0ec7fb7ac4a4f0b6c2bcfafa6
parents 418b97e5 a11ae54b
Loading
Loading
Loading
Loading
+108 −99
Original line number Diff line number Diff line
@@ -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);