From 4dd4e08c4e729672b0056ff938bac2048cc08618 Mon Sep 17 00:00:00 2001 From: Chiachang Wang Date: Mon, 21 Dec 2020 18:07:39 +0800 Subject: [PATCH] [IT4.2] Update argument type of interfaceClassDataActivityChanged The argument type of interfaceClassDataActivityChanged takes a string for the network type. It requires both the receivers and NMS to do type transformation. The transformation is a redundant work. Update it to take integer directly and rename to understandable naming. Bug: 170598012 Test: atest FrameworksNetTests Change-Id: Ibe9fa7a1b71af2dab916b5d615742e77e4174c39 --- core/java/android/net/INetworkManagementEventObserver.aidl | 4 ++-- core/java/com/android/server/net/BaseNetworkObserver.java | 2 +- .../core/java/com/android/server/ConnectivityService.java | 5 ++--- .../java/com/android/server/NetworkManagementService.java | 2 +- .../com/android/server/NetworkManagementServiceTest.java | 6 +++--- 5 files changed, 9 insertions(+), 10 deletions(-) diff --git a/core/java/android/net/INetworkManagementEventObserver.aidl b/core/java/android/net/INetworkManagementEventObserver.aidl index 55ae2185c226..37813ce11a5f 100644 --- a/core/java/android/net/INetworkManagementEventObserver.aidl +++ b/core/java/android/net/INetworkManagementEventObserver.aidl @@ -85,14 +85,14 @@ oneway interface INetworkManagementEventObserver { /** * Interface data activity status is changed. * - * @param label Unique identifier indicates the network type of the data activity change. + * @param networkType The legacy network 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(String label, boolean active, long tsNanos, int uid); + void interfaceClassDataActivityChanged(int networkType, boolean active, long tsNanos, int uid); /** * Information about available DNS servers has been received. diff --git a/core/java/com/android/server/net/BaseNetworkObserver.java b/core/java/com/android/server/net/BaseNetworkObserver.java index 0e8d61a04179..93f89b5db820 100644 --- a/core/java/com/android/server/net/BaseNetworkObserver.java +++ b/core/java/com/android/server/net/BaseNetworkObserver.java @@ -64,7 +64,7 @@ public class BaseNetworkObserver extends INetworkManagementEventObserver.Stub { } @Override - public void interfaceClassDataActivityChanged(String label, boolean active, long tsNanos, + public void interfaceClassDataActivityChanged(int networkType, boolean active, long tsNanos, int uid) { // default no-op } diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index 5afbb89950c3..3de049ed94f6 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -1803,10 +1803,9 @@ public class ConnectivityService extends IConnectivityManager.Stub private INetworkManagementEventObserver mDataActivityObserver = new BaseNetworkObserver() { @Override - public void interfaceClassDataActivityChanged(String label, boolean active, long tsNanos, + public void interfaceClassDataActivityChanged(int networkType, boolean active, long tsNanos, int uid) { - int deviceType = Integer.parseInt(label); - sendDataActivityBroadcast(deviceType, active, tsNanos); + sendDataActivityBroadcast(networkType, active, tsNanos); } }; diff --git a/services/core/java/com/android/server/NetworkManagementService.java b/services/core/java/com/android/server/NetworkManagementService.java index d30adf1b68eb..4e3f8553876b 100644 --- a/services/core/java/com/android/server/NetworkManagementService.java +++ b/services/core/java/com/android/server/NetworkManagementService.java @@ -423,7 +423,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub { final boolean active = isActive; invokeForAllObservers(o -> o.interfaceClassDataActivityChanged( - Integer.toString(type), active, tsNanos, uid)); + type, active, tsNanos, uid)); boolean report = false; synchronized (mIdleTimerLock) { diff --git a/tests/net/java/com/android/server/NetworkManagementServiceTest.java b/tests/net/java/com/android/server/NetworkManagementServiceTest.java index e1502299ab05..2fcd21f2b7c7 100644 --- a/tests/net/java/com/android/server/NetworkManagementServiceTest.java +++ b/tests/net/java/com/android/server/NetworkManagementServiceTest.java @@ -167,13 +167,13 @@ public class NetworkManagementServiceTest { * Interface class activity. */ unsolListener.onInterfaceClassActivityChanged(true, 1, 1234, TEST_UID); - expectSoon(observer).interfaceClassDataActivityChanged("1", true, 1234, TEST_UID); + expectSoon(observer).interfaceClassDataActivityChanged(1, true, 1234, TEST_UID); unsolListener.onInterfaceClassActivityChanged(false, 9, 5678, TEST_UID); - expectSoon(observer).interfaceClassDataActivityChanged("9", false, 5678, TEST_UID); + expectSoon(observer).interfaceClassDataActivityChanged(9, false, 5678, TEST_UID); unsolListener.onInterfaceClassActivityChanged(false, 9, 4321, TEST_UID); - expectSoon(observer).interfaceClassDataActivityChanged("9", false, 4321, TEST_UID); + expectSoon(observer).interfaceClassDataActivityChanged(9, false, 4321, TEST_UID); /** * IP address changes.