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
This commit is contained in:
Remi NGUYEN VAN
2020-12-25 12:45:46 +09:00
committed by Chalard Jean
parent 7f7db65552
commit 28d69fc2f7
3 changed files with 2 additions and 24 deletions

View File

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

View File

@@ -2764,13 +2764,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
Log.wtf(TAG, "Non-virtual networks cannot have underlying networks");
break;
}
final ArrayList<Network> underlying;
try {
underlying = ((Bundle) arg.second).getParcelableArrayList(
NetworkAgent.UNDERLYING_NETWORKS_KEY);
} catch (NullPointerException | ClassCastException e) {
break;
}
final List<Network> underlying = (List<Network>) arg.second;
final Network[] oldUnderlying = nai.declaredUnderlyingNetworks;
nai.declaredUnderlyingNetworks = (underlying != null)
? underlying.toArray(new Network[0]) : null;

View File

@@ -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<NetworkAgentInfo> {
@Override
public void sendUnderlyingNetworks(@Nullable List<Network> networks) {
final Bundle args = new Bundle();
if (networks instanceof ArrayList<?>) {
args.putParcelableArrayList(NetworkAgent.UNDERLYING_NETWORKS_KEY,
(ArrayList<Network>) 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();
}
}