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

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

Change-Id: I1b1dcce340ff39a3eeb4359bad23510f3d2e7667
This commit is contained in:
Patrick Rohr
2022-03-09 09:38:58 +00:00
committed by Automerger Merge Worker

View File

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