Merge "Add Nullable IpConfiguration to ethernet update request" am: bc1479af8f am: f95355f826

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

Change-Id: I16fab89269d4b689405e62a169f378373782b396
This commit is contained in:
Patrick Rohr
2022-03-17 07:43:02 +00:00
committed by Automerger Merge Worker

View File

@@ -33,17 +33,20 @@ import java.util.Objects;
*/
@SystemApi
public final class EthernetNetworkUpdateRequest implements Parcelable {
@NonNull
@Nullable
private final IpConfiguration mIpConfig;
@Nullable
private final NetworkCapabilities mNetworkCapabilities;
/**
* @return the new {@link IpConfiguration}.
* Setting the {@link IpConfiguration} is optional in {@link EthernetNetworkUpdateRequest}.
* When set to null, the existing IpConfiguration is not updated.
*
* @return the new {@link IpConfiguration} or null.
*/
@NonNull
@Nullable
public IpConfiguration getIpConfiguration() {
return new IpConfiguration(mIpConfig);
return mIpConfig == null ? null : new IpConfiguration(mIpConfig);
}
/**
@@ -57,9 +60,8 @@ public final class EthernetNetworkUpdateRequest implements Parcelable {
return mNetworkCapabilities == null ? null : new NetworkCapabilities(mNetworkCapabilities);
}
private EthernetNetworkUpdateRequest(@NonNull final IpConfiguration ipConfig,
private EthernetNetworkUpdateRequest(@Nullable final IpConfiguration ipConfig,
@Nullable final NetworkCapabilities networkCapabilities) {
Objects.requireNonNull(ipConfig);
mIpConfig = ipConfig;
mNetworkCapabilities = networkCapabilities;
}
@@ -90,7 +92,8 @@ public final class EthernetNetworkUpdateRequest implements Parcelable {
*/
public Builder(@NonNull final EthernetNetworkUpdateRequest request) {
Objects.requireNonNull(request);
mBuilderIpConfig = new IpConfiguration(request.mIpConfig);
mBuilderIpConfig = null == request.mIpConfig
? null : new IpConfiguration(request.mIpConfig);
mBuilderNetworkCapabilities = null == request.mNetworkCapabilities
? null : new NetworkCapabilities(request.mNetworkCapabilities);
}
@@ -101,8 +104,8 @@ public final class EthernetNetworkUpdateRequest implements Parcelable {
* @return The builder to facilitate chaining.
*/
@NonNull
public Builder setIpConfiguration(@NonNull final IpConfiguration ipConfig) {
mBuilderIpConfig = new IpConfiguration(ipConfig);
public Builder setIpConfiguration(@Nullable final IpConfiguration ipConfig) {
mBuilderIpConfig = ipConfig == null ? null : new IpConfiguration(ipConfig);
return this;
}
@@ -119,9 +122,16 @@ public final class EthernetNetworkUpdateRequest implements Parcelable {
/**
* Build {@link EthernetNetworkUpdateRequest} return the current update request.
*
* @throws IllegalStateException when both mBuilderNetworkCapabilities and mBuilderIpConfig
* are null.
*/
@NonNull
public EthernetNetworkUpdateRequest build() {
if (mBuilderIpConfig == null && mBuilderNetworkCapabilities == null) {
throw new IllegalStateException(
"Cannot construct an empty EthernetNetworkUpdateRequest");
}
return new EthernetNetworkUpdateRequest(mBuilderIpConfig, mBuilderNetworkCapabilities);
}
}