Merge "Allowing for null net caps in updateConfiguration" am: adec6f861f am: 834e5611bc am: 7ff0565c1b

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

Change-Id: I7ca6c1a999e5d59c72ee60d52561c3c9fa252169
This commit is contained in:
Patrick Rohr
2022-03-09 10:59:50 +00:00
committed by Automerger Merge Worker

View File

@@ -24,36 +24,52 @@ import android.os.Parcelable;
import java.util.Objects;
/** @hide */
/**
* Represents a request to update an existing Ethernet interface.
*
* @see EthernetManager#updateConfiguration
*
* @hide
*/
@SystemApi
public final class EthernetNetworkUpdateRequest implements Parcelable {
@NonNull
private final IpConfiguration mIpConfig;
@NonNull
@Nullable
private final NetworkCapabilities mNetworkCapabilities;
/**
* @return the new {@link IpConfiguration}.
*/
@NonNull
public IpConfiguration getIpConfiguration() {
return new IpConfiguration(mIpConfig);
}
@NonNull
/**
* Setting the {@link NetworkCapabilities} is optional in {@link EthernetNetworkUpdateRequest}.
* When set to null, the existing NetworkCapabilities are not updated.
*
* @return the new {@link NetworkCapabilities} or null.
*/
@Nullable
public NetworkCapabilities getNetworkCapabilities() {
return new NetworkCapabilities(mNetworkCapabilities);
return mNetworkCapabilities == null ? null : new NetworkCapabilities(mNetworkCapabilities);
}
private EthernetNetworkUpdateRequest(@NonNull final IpConfiguration ipConfig,
@NonNull final NetworkCapabilities networkCapabilities) {
@Nullable final NetworkCapabilities networkCapabilities) {
Objects.requireNonNull(ipConfig);
Objects.requireNonNull(networkCapabilities);
mIpConfig = new IpConfiguration(ipConfig);
mNetworkCapabilities = new NetworkCapabilities(networkCapabilities);
mIpConfig = ipConfig;
mNetworkCapabilities = networkCapabilities;
}
private EthernetNetworkUpdateRequest(@NonNull final Parcel source) {
Objects.requireNonNull(source);
mIpConfig = IpConfiguration.CREATOR.createFromParcel(source);
mNetworkCapabilities = NetworkCapabilities.CREATOR.createFromParcel(source);
mIpConfig = source.readParcelable(IpConfiguration.class.getClassLoader(),
IpConfiguration.class);
mNetworkCapabilities = source.readParcelable(NetworkCapabilities.class.getClassLoader(),
NetworkCapabilities.class);
}
/**
@@ -75,7 +91,8 @@ public final class EthernetNetworkUpdateRequest implements Parcelable {
public Builder(@NonNull final EthernetNetworkUpdateRequest request) {
Objects.requireNonNull(request);
mBuilderIpConfig = new IpConfiguration(request.mIpConfig);
mBuilderNetworkCapabilities = new NetworkCapabilities(request.mNetworkCapabilities);
mBuilderNetworkCapabilities = null == request.mNetworkCapabilities
? null : new NetworkCapabilities(request.mNetworkCapabilities);
}
/**
@@ -85,7 +102,6 @@ public final class EthernetNetworkUpdateRequest implements Parcelable {
*/
@NonNull
public Builder setIpConfiguration(@NonNull final IpConfiguration ipConfig) {
Objects.requireNonNull(ipConfig);
mBuilderIpConfig = new IpConfiguration(ipConfig);
return this;
}
@@ -96,9 +112,8 @@ public final class EthernetNetworkUpdateRequest implements Parcelable {
* @return The builder to facilitate chaining.
*/
@NonNull
public Builder setNetworkCapabilities(@NonNull final NetworkCapabilities nc) {
Objects.requireNonNull(nc);
mBuilderNetworkCapabilities = new NetworkCapabilities(nc);
public Builder setNetworkCapabilities(@Nullable final NetworkCapabilities nc) {
mBuilderNetworkCapabilities = nc == null ? null : new NetworkCapabilities(nc);
return this;
}
@@ -135,8 +150,8 @@ public final class EthernetNetworkUpdateRequest implements Parcelable {
@Override
public void writeToParcel(@NonNull Parcel dest, int flags) {
mIpConfig.writeToParcel(dest, flags);
mNetworkCapabilities.writeToParcel(dest, flags);
dest.writeParcelable(mIpConfig, flags);
dest.writeParcelable(mNetworkCapabilities, flags);
}
@Override