Merge "Allowing for null net caps in updateConfiguration"

This commit is contained in:
Patrick Rohr
2022-03-09 09:16:29 +00:00
committed by Gerrit Code Review

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