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

Commit bf710b74 authored by Chiachang Wang's avatar Chiachang Wang Committed by Automerger Merge Worker
Browse files

Merge "[IT4.21] Update the label type of idle timer" am: 4bdcbf46

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1535721

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ib5bec3e22e835d99ffa6dec818114f8e4fb88ecd
parents 8ac636ef 4bdcbf46
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -85,14 +85,14 @@ oneway interface INetworkManagementEventObserver {
    /**
     * Interface data activity status is changed.
     *
     * @param networkType The legacy network type of the data activity change.
     * @param transportType The transport type of the data activity change.
     * @param active  True if the interface is actively transmitting data, false if it is idle.
     * @param tsNanos Elapsed realtime in nanos when the state of the network interface changed.
     * @param uid Uid of this event. It represents the uid that was responsible for waking the
     *            radio. For those events that are reported by system itself, not from specific uid,
     *            use -1 for the events which means no uid.
     */
    void interfaceClassDataActivityChanged(int networkType, boolean active, long tsNanos, int uid);
    void interfaceClassDataActivityChanged(int transportType, boolean active, long tsNanos, int uid);

    /**
     * Information about available DNS servers has been received.
+1 −1
Original line number Diff line number Diff line
@@ -64,7 +64,7 @@ public class BaseNetworkObserver extends INetworkManagementEventObserver.Stub {
    }

    @Override
    public void interfaceClassDataActivityChanged(int networkType, boolean active, long tsNanos,
    public void interfaceClassDataActivityChanged(int transportType, boolean active, long tsNanos,
            int uid) {
        // default no-op
    }
+21 −5
Original line number Diff line number Diff line
@@ -1803,12 +1803,28 @@ public class ConnectivityService extends IConnectivityManager.Stub

    private INetworkManagementEventObserver mDataActivityObserver = new BaseNetworkObserver() {
        @Override
        public void interfaceClassDataActivityChanged(int networkType, boolean active, long tsNanos,
                int uid) {
            sendDataActivityBroadcast(networkType, active, tsNanos);
        public void interfaceClassDataActivityChanged(int transportType, boolean active,
                long tsNanos, int uid) {
            sendDataActivityBroadcast(transportTypeToLegacyType(transportType), active, tsNanos);
        }
    };

    // This is deprecated and only to support legacy use cases.
    private int transportTypeToLegacyType(int type) {
        switch (type) {
            case NetworkCapabilities.TRANSPORT_CELLULAR:
                return ConnectivityManager.TYPE_MOBILE;
            case NetworkCapabilities.TRANSPORT_WIFI:
                return ConnectivityManager.TYPE_WIFI;
            case NetworkCapabilities.TRANSPORT_BLUETOOTH:
                return ConnectivityManager.TYPE_BLUETOOTH;
            case NetworkCapabilities.TRANSPORT_ETHERNET:
                return ConnectivityManager.TYPE_ETHERNET;
            default:
                loge("Unexpected transport in transportTypeToLegacyType: " + type);
        }
        return ConnectivityManager.TYPE_NONE;
    }
    /**
     * Ensures that the system cannot call a particular method.
     */
@@ -2392,13 +2408,13 @@ public class ConnectivityService extends IConnectivityManager.Stub
            timeout = Settings.Global.getInt(mContext.getContentResolver(),
                                             Settings.Global.DATA_ACTIVITY_TIMEOUT_MOBILE,
                                             10);
            type = ConnectivityManager.TYPE_MOBILE;
            type = NetworkCapabilities.TRANSPORT_CELLULAR;
        } else if (networkAgent.networkCapabilities.hasTransport(
                NetworkCapabilities.TRANSPORT_WIFI)) {
            timeout = Settings.Global.getInt(mContext.getContentResolver(),
                                             Settings.Global.DATA_ACTIVITY_TIMEOUT_WIFI,
                                             15);
            type = ConnectivityManager.TYPE_WIFI;
            type = NetworkCapabilities.TRANSPORT_WIFI;
        } else {
            return; // do not track any other networks
        }
+3 −3
Original line number Diff line number Diff line
@@ -7428,7 +7428,7 @@ public class ConnectivityServiceTest {
        mCellNetworkAgent.connect(true);
        networkCallback.expectAvailableThenValidatedCallbacks(mCellNetworkAgent);
        verify(mNetworkManagementService, times(1)).addIdleTimer(eq(MOBILE_IFNAME), anyInt(),
                eq(ConnectivityManager.TYPE_MOBILE));
                eq(NetworkCapabilities.TRANSPORT_CELLULAR));

        mWiFiNetworkAgent = new TestNetworkAgentWrapper(TRANSPORT_WIFI);
        final LinkProperties wifiLp = new LinkProperties();
@@ -7442,7 +7442,7 @@ public class ConnectivityServiceTest {
        networkCallback.expectCallback(CallbackEntry.LOSING, mCellNetworkAgent);
        networkCallback.expectCapabilitiesWith(NET_CAPABILITY_VALIDATED, mWiFiNetworkAgent);
        verify(mNetworkManagementService, times(1)).addIdleTimer(eq(WIFI_IFNAME), anyInt(),
                eq(ConnectivityManager.TYPE_WIFI));
                eq(NetworkCapabilities.TRANSPORT_WIFI));
        verify(mNetworkManagementService, times(1)).removeIdleTimer(eq(MOBILE_IFNAME));

        // Disconnect wifi and switch back to cell
@@ -7452,7 +7452,7 @@ public class ConnectivityServiceTest {
        assertNoCallbacks(networkCallback);
        verify(mNetworkManagementService, times(1)).removeIdleTimer(eq(WIFI_IFNAME));
        verify(mNetworkManagementService, times(1)).addIdleTimer(eq(MOBILE_IFNAME), anyInt(),
                eq(ConnectivityManager.TYPE_MOBILE));
                eq(NetworkCapabilities.TRANSPORT_CELLULAR));

        // reconnect wifi
        mWiFiNetworkAgent = new TestNetworkAgentWrapper(TRANSPORT_WIFI);