Merge "Remove NetworkParcelable"

am: 205886d28f

Change-Id: I8dc6d665a33d19ecad2bd5f611c2b68e08d53b97
This commit is contained in:
Remi NGUYEN VAN
2019-03-17 18:44:58 -07:00
committed by android-build-merger
11 changed files with 14 additions and 98 deletions

View File

@@ -832,7 +832,6 @@ aidl_interface {
"core/java/android/net/INetworkStackConnector.aidl", "core/java/android/net/INetworkStackConnector.aidl",
"core/java/android/net/INetworkStackStatusCallback.aidl", "core/java/android/net/INetworkStackStatusCallback.aidl",
"core/java/android/net/InitialConfigurationParcelable.aidl", "core/java/android/net/InitialConfigurationParcelable.aidl",
"core/java/android/net/NetworkParcelable.aidl",
"core/java/android/net/PrivateDnsConfigParcel.aidl", "core/java/android/net/PrivateDnsConfigParcel.aidl",
"core/java/android/net/ProvisioningConfigurationParcelable.aidl", "core/java/android/net/ProvisioningConfigurationParcelable.aidl",
"core/java/android/net/StaticIpConfigurationParcelable.aidl", "core/java/android/net/StaticIpConfigurationParcelable.aidl",

View File

@@ -16,7 +16,7 @@
package android.net; package android.net;
import android.net.INetworkMonitorCallbacks; import android.net.INetworkMonitorCallbacks;
import android.net.NetworkParcelable; import android.net.Network;
import android.net.dhcp.DhcpServingParamsParcel; import android.net.dhcp.DhcpServingParamsParcel;
import android.net.dhcp.IDhcpServerCallbacks; import android.net.dhcp.IDhcpServerCallbacks;
import android.net.ip.IIpClientCallbacks; import android.net.ip.IIpClientCallbacks;
@@ -25,7 +25,6 @@ import android.net.ip.IIpClientCallbacks;
oneway interface INetworkStackConnector { oneway interface INetworkStackConnector {
void makeDhcpServer(in String ifName, in DhcpServingParamsParcel params, void makeDhcpServer(in String ifName, in DhcpServingParamsParcel params,
in IDhcpServerCallbacks cb); in IDhcpServerCallbacks cb);
void makeNetworkMonitor(in NetworkParcelable network, String name, void makeNetworkMonitor(in Network network, String name, in INetworkMonitorCallbacks cb);
in INetworkMonitorCallbacks cb);
void makeIpClient(in String ifName, in IIpClientCallbacks callbacks); void makeIpClient(in String ifName, in IIpClientCallbacks callbacks);
} }

View File

@@ -17,4 +17,4 @@
package android.net; package android.net;
parcelable Network; @JavaOnlyStableParcelable parcelable Network;

View File

@@ -1,22 +0,0 @@
/*
**
** Copyright (C) 2019 The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
** http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/
package android.net;
parcelable NetworkParcelable {
long networkHandle;
}

View File

@@ -19,7 +19,7 @@ package android.net;
import android.net.ApfCapabilitiesParcelable; import android.net.ApfCapabilitiesParcelable;
import android.net.InitialConfigurationParcelable; import android.net.InitialConfigurationParcelable;
import android.net.NetworkParcelable; import android.net.Network;
import android.net.StaticIpConfigurationParcelable; import android.net.StaticIpConfigurationParcelable;
parcelable ProvisioningConfigurationParcelable { parcelable ProvisioningConfigurationParcelable {
@@ -33,6 +33,6 @@ parcelable ProvisioningConfigurationParcelable {
ApfCapabilitiesParcelable apfCapabilities; ApfCapabilitiesParcelable apfCapabilities;
int provisioningTimeoutMs; int provisioningTimeoutMs;
int ipv6AddrGenMode; int ipv6AddrGenMode;
NetworkParcelable network; Network network;
String displayName; String displayName;
} }

View File

@@ -19,7 +19,6 @@ package com.android.server;
import static android.net.dhcp.IDhcpServer.STATUS_INVALID_ARGUMENT; import static android.net.dhcp.IDhcpServer.STATUS_INVALID_ARGUMENT;
import static android.net.dhcp.IDhcpServer.STATUS_SUCCESS; import static android.net.dhcp.IDhcpServer.STATUS_SUCCESS;
import static android.net.dhcp.IDhcpServer.STATUS_UNKNOWN_ERROR; import static android.net.dhcp.IDhcpServer.STATUS_UNKNOWN_ERROR;
import static android.net.shared.NetworkParcelableUtil.fromStableParcelable;
import static com.android.server.util.PermissionUtil.checkDumpPermission; import static com.android.server.util.PermissionUtil.checkDumpPermission;
import static com.android.server.util.PermissionUtil.checkNetworkStackCallingPermission; import static com.android.server.util.PermissionUtil.checkNetworkStackCallingPermission;
@@ -35,7 +34,6 @@ import android.net.INetworkMonitor;
import android.net.INetworkMonitorCallbacks; import android.net.INetworkMonitorCallbacks;
import android.net.INetworkStackConnector; import android.net.INetworkStackConnector;
import android.net.Network; import android.net.Network;
import android.net.NetworkParcelable;
import android.net.PrivateDnsConfigParcel; import android.net.PrivateDnsConfigParcel;
import android.net.dhcp.DhcpServer; import android.net.dhcp.DhcpServer;
import android.net.dhcp.DhcpServingParams; import android.net.dhcp.DhcpServingParams;
@@ -152,12 +150,10 @@ public class NetworkStackService extends Service {
} }
@Override @Override
public void makeNetworkMonitor( public void makeNetworkMonitor(Network network, String name, INetworkMonitorCallbacks cb)
NetworkParcelable network, String name, INetworkMonitorCallbacks cb)
throws RemoteException { throws RemoteException {
final Network parsedNetwork = fromStableParcelable(network); final SharedLog log = addValidationLogs(network, name);
final SharedLog log = addValidationLogs(parsedNetwork, name); final NetworkMonitor nm = new NetworkMonitor(mContext, cb, network, log);
final NetworkMonitor nm = new NetworkMonitor(mContext, cb, parsedNetwork, log);
cb.onNetworkMonitorCreated(new NetworkMonitorImpl(nm)); cb.onNetworkMonitorCreated(new NetworkMonitorImpl(nm));
} }

View File

@@ -41,7 +41,6 @@ import static android.net.NetworkCapabilities.TRANSPORT_VPN;
import static android.net.NetworkPolicyManager.RULE_NONE; import static android.net.NetworkPolicyManager.RULE_NONE;
import static android.net.NetworkPolicyManager.uidRulesToString; import static android.net.NetworkPolicyManager.uidRulesToString;
import static android.net.shared.NetworkMonitorUtils.isValidationRequired; import static android.net.shared.NetworkMonitorUtils.isValidationRequired;
import static android.net.shared.NetworkParcelableUtil.toStableParcelable;
import static android.os.Process.INVALID_UID; import static android.os.Process.INVALID_UID;
import static android.system.OsConstants.IPPROTO_TCP; import static android.system.OsConstants.IPPROTO_TCP;
import static android.system.OsConstants.IPPROTO_UDP; import static android.system.OsConstants.IPPROTO_UDP;
@@ -5390,7 +5389,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
final long token = Binder.clearCallingIdentity(); final long token = Binder.clearCallingIdentity();
try { try {
getNetworkStack().makeNetworkMonitor( getNetworkStack().makeNetworkMonitor(
toStableParcelable(nai.network), name, new NetworkMonitorCallbacks(nai)); nai.network, name, new NetworkMonitorCallbacks(nai));
} finally { } finally {
Binder.restoreCallingIdentity(token); Binder.restoreCallingIdentity(token);
} }

View File

@@ -120,8 +120,7 @@ public class NetworkStackClient {
* *
* <p>The INetworkMonitor will be returned asynchronously through the provided callbacks. * <p>The INetworkMonitor will be returned asynchronously through the provided callbacks.
*/ */
public void makeNetworkMonitor( public void makeNetworkMonitor(Network network, String name, INetworkMonitorCallbacks cb) {
NetworkParcelable network, String name, INetworkMonitorCallbacks cb) {
requestConnector(connector -> { requestConnector(connector -> {
try { try {
connector.makeNetworkMonitor(network, name, cb); connector.makeNetworkMonitor(network, name, cb);

View File

@@ -1,50 +0,0 @@
/*
* Copyright (C) 2019 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.net.shared;
import android.annotation.Nullable;
import android.net.Network;
import android.net.NetworkParcelable;
/**
* Utility methods to convert to/from stable AIDL parcelables for network attribute classes.
* @hide
*/
public final class NetworkParcelableUtil {
/**
* Convert from a Network to a NetworkParcelable.
*/
public static NetworkParcelable toStableParcelable(@Nullable Network network) {
if (network == null) {
return null;
}
final NetworkParcelable p = new NetworkParcelable();
p.networkHandle = network.getNetworkHandle();
return p;
}
/**
* Convert from a NetworkParcelable to a Network.
*/
public static Network fromStableParcelable(@Nullable NetworkParcelable p) {
if (p == null) {
return null;
}
return Network.fromNetworkHandle(p.networkHandle);
}
}

View File

@@ -239,7 +239,7 @@ public class ProvisioningConfiguration {
p.apfCapabilities = IpConfigurationParcelableUtil.toStableParcelable(mApfCapabilities); p.apfCapabilities = IpConfigurationParcelableUtil.toStableParcelable(mApfCapabilities);
p.provisioningTimeoutMs = mProvisioningTimeoutMs; p.provisioningTimeoutMs = mProvisioningTimeoutMs;
p.ipv6AddrGenMode = mIPv6AddrGenMode; p.ipv6AddrGenMode = mIPv6AddrGenMode;
p.network = NetworkParcelableUtil.toStableParcelable(mNetwork); p.network = mNetwork;
p.displayName = mDisplayName; p.displayName = mDisplayName;
return p; return p;
} }
@@ -263,7 +263,7 @@ public class ProvisioningConfiguration {
p.apfCapabilities); p.apfCapabilities);
config.mProvisioningTimeoutMs = p.provisioningTimeoutMs; config.mProvisioningTimeoutMs = p.provisioningTimeoutMs;
config.mIPv6AddrGenMode = p.ipv6AddrGenMode; config.mIPv6AddrGenMode = p.ipv6AddrGenMode;
config.mNetwork = NetworkParcelableUtil.fromStableParcelable(p.network); config.mNetwork = p.network;
config.mDisplayName = p.displayName; config.mDisplayName = p.displayName;
return config; return config;
} }

View File

@@ -60,7 +60,6 @@ import static android.net.NetworkPolicyManager.RULE_ALLOW_METERED;
import static android.net.NetworkPolicyManager.RULE_NONE; import static android.net.NetworkPolicyManager.RULE_NONE;
import static android.net.NetworkPolicyManager.RULE_REJECT_ALL; import static android.net.NetworkPolicyManager.RULE_REJECT_ALL;
import static android.net.NetworkPolicyManager.RULE_REJECT_METERED; import static android.net.NetworkPolicyManager.RULE_REJECT_METERED;
import static android.net.shared.NetworkParcelableUtil.fromStableParcelable;
import static com.android.internal.util.TestUtils.waitForIdleHandler; import static com.android.internal.util.TestUtils.waitForIdleHandler;
import static com.android.internal.util.TestUtils.waitForIdleLooper; import static com.android.internal.util.TestUtils.waitForIdleLooper;
@@ -125,7 +124,6 @@ import android.net.NetworkFactory;
import android.net.NetworkInfo; import android.net.NetworkInfo;
import android.net.NetworkInfo.DetailedState; import android.net.NetworkInfo.DetailedState;
import android.net.NetworkMisc; import android.net.NetworkMisc;
import android.net.NetworkParcelable;
import android.net.NetworkRequest; import android.net.NetworkRequest;
import android.net.NetworkSpecifier; import android.net.NetworkSpecifier;
import android.net.NetworkStackClient; import android.net.NetworkStackClient;
@@ -502,8 +500,7 @@ public class ConnectivityServiceTest {
fail(e.getMessage()); fail(e.getMessage());
} }
final ArgumentCaptor<NetworkParcelable> nmNetworkCaptor = final ArgumentCaptor<Network> nmNetworkCaptor = ArgumentCaptor.forClass(Network.class);
ArgumentCaptor.forClass(NetworkParcelable.class);
final ArgumentCaptor<INetworkMonitorCallbacks> nmCbCaptor = final ArgumentCaptor<INetworkMonitorCallbacks> nmCbCaptor =
ArgumentCaptor.forClass(INetworkMonitorCallbacks.class); ArgumentCaptor.forClass(INetworkMonitorCallbacks.class);
doNothing().when(mNetworkStack).makeNetworkMonitor( doNothing().when(mNetworkStack).makeNetworkMonitor(
@@ -543,8 +540,7 @@ public class ConnectivityServiceTest {
} }
}; };
assertEquals( assertEquals(mNetworkAgent.netId, nmNetworkCaptor.getValue().netId);
mNetworkAgent.netId, fromStableParcelable(nmNetworkCaptor.getValue()).netId);
mNmCallbacks = nmCbCaptor.getValue(); mNmCallbacks = nmCbCaptor.getValue();
try { try {