From 28d69fc2f709692f5a93a0c62677d4d27120a01a Mon Sep 17 00:00:00 2001 From: Remi NGUYEN VAN Date: Fri, 25 Dec 2020 12:45:46 +0900 Subject: [PATCH] Use network list in UNDERLYING_NETWORKS_CHANGED The bundle is no longer necessary, as this message is not sent across processes: the network list can be sent directly in the message obj pair. Bug: 173574274 Test: atest FrameworksNetTests CtsNetTestCasesLatestSdk Change-Id: Iae049a24212ff9df19b29aead20bf4a594f05f99 --- core/java/android/net/NetworkAgent.java | 6 ------ .../java/com/android/server/ConnectivityService.java | 8 +------- .../server/connectivity/NetworkAgentInfo.java | 12 +----------- 3 files changed, 2 insertions(+), 24 deletions(-) diff --git a/core/java/android/net/NetworkAgent.java b/core/java/android/net/NetworkAgent.java index 4f46736c08..83a7d16fa2 100644 --- a/core/java/android/net/NetworkAgent.java +++ b/core/java/android/net/NetworkAgent.java @@ -227,12 +227,6 @@ public abstract class NetworkAgent { */ public static final String REDIRECT_URL_KEY = "redirect URL"; - /** - * Bundle key for the underlying networks in {@code EVENT_UNDERLYING_NETWORKS_CHANGED}. - * @hide - */ - public static final String UNDERLYING_NETWORKS_KEY = "underlyingNetworks"; - /** * Sent by the NetworkAgent to ConnectivityService to indicate this network was * explicitly selected. This should be sent before the NetworkInfo is marked diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index a74221178d..b07e98f602 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -2764,13 +2764,7 @@ public class ConnectivityService extends IConnectivityManager.Stub Log.wtf(TAG, "Non-virtual networks cannot have underlying networks"); break; } - final ArrayList underlying; - try { - underlying = ((Bundle) arg.second).getParcelableArrayList( - NetworkAgent.UNDERLYING_NETWORKS_KEY); - } catch (NullPointerException | ClassCastException e) { - break; - } + final List underlying = (List) arg.second; final Network[] oldUnderlying = nai.declaredUnderlyingNetworks; nai.declaredUnderlyingNetworks = (underlying != null) ? underlying.toArray(new Network[0]) : null; diff --git a/services/core/java/com/android/server/connectivity/NetworkAgentInfo.java b/services/core/java/com/android/server/connectivity/NetworkAgentInfo.java index ba6cbcd3c7..e3663baaf9 100644 --- a/services/core/java/com/android/server/connectivity/NetworkAgentInfo.java +++ b/services/core/java/com/android/server/connectivity/NetworkAgentInfo.java @@ -37,7 +37,6 @@ import android.net.NetworkMonitorManager; import android.net.NetworkRequest; import android.net.NetworkState; import android.net.TcpKeepalivePacketData; -import android.os.Bundle; import android.os.Handler; import android.os.IBinder; import android.os.INetworkManagementService; @@ -53,7 +52,6 @@ import com.android.internal.util.WakeupMessage; import com.android.server.ConnectivityService; import java.io.PrintWriter; -import java.util.ArrayList; import java.util.List; import java.util.NoSuchElementException; import java.util.Objects; @@ -583,16 +581,8 @@ public class NetworkAgentInfo implements Comparable { @Override public void sendUnderlyingNetworks(@Nullable List networks) { - final Bundle args = new Bundle(); - if (networks instanceof ArrayList) { - args.putParcelableArrayList(NetworkAgent.UNDERLYING_NETWORKS_KEY, - (ArrayList) networks); - } else { - args.putParcelableArrayList(NetworkAgent.UNDERLYING_NETWORKS_KEY, - networks == null ? null : new ArrayList<>(networks)); - } mHandler.obtainMessage(NetworkAgent.EVENT_UNDERLYING_NETWORKS_CHANGED, - new Pair<>(NetworkAgentInfo.this, args)).sendToTarget(); + new Pair<>(NetworkAgentInfo.this, networks)).sendToTarget(); } }