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

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

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I6d54f242cee6171c8666efed21d83349366b7070
This commit is contained in:
Chiachang Wang
2021-01-13 10:12:15 +00:00
committed by Automerger Merge Worker
4 changed files with 27 additions and 11 deletions

View File

@@ -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.

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -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);