diff options
| author | 2022-01-10 17:24:20 +0000 | |
|---|---|---|
| committer | 2022-01-10 17:24:20 +0000 | |
| commit | 0d5215b36a81d66fc3fc32e9091084cb654f68be (patch) | |
| tree | e5ed6a5eea44e4ad03ae4a4b680a2666c5268652 | |
| parent | b1a26d95ca9464335cf62ca08c415fe0ed934537 (diff) | |
| parent | bc1ae5c28a215792b3dfd171f402c2d817978245 (diff) | |
Merge "Fixed NPE when local or remote port range does not exist"
| -rw-r--r-- | telephony/java/android/telephony/data/QosBearerFilter.java | 37 |
1 files changed, 18 insertions, 19 deletions
diff --git a/telephony/java/android/telephony/data/QosBearerFilter.java b/telephony/java/android/telephony/data/QosBearerFilter.java index 5a7189f44552..0ab7b61bd73d 100644 --- a/telephony/java/android/telephony/data/QosBearerFilter.java +++ b/telephony/java/android/telephony/data/QosBearerFilter.java @@ -18,6 +18,7 @@ package android.telephony.data; import android.annotation.IntDef; import android.annotation.NonNull; +import android.annotation.Nullable; import android.net.LinkAddress; import android.os.Parcel; import android.os.Parcelable; @@ -35,11 +36,10 @@ import java.util.Objects; * @hide */ public final class QosBearerFilter implements Parcelable { - - private List<LinkAddress> localAddresses; - private List<LinkAddress> remoteAddresses; - private PortRange localPort; - private PortRange remotePort; + private @NonNull List<LinkAddress> localAddresses; + private @NonNull List<LinkAddress> remoteAddresses; + private @Nullable PortRange localPort; + private @Nullable PortRange remotePort; /** @hide */ @Retention(RetentionPolicy.SOURCE) @@ -56,13 +56,12 @@ public final class QosBearerFilter implements Parcelable { public static final int QOS_PROTOCOL_AH = android.hardware.radio.V1_6.QosProtocol.AH; public static final int QOS_MIN_PORT = android.hardware.radio.V1_6.QosPortRange.MIN; /** - * Hardcoded inplace of android.hardware.radio.V1_6.QosPortRange.MAX as it + * Hardcoded in place of android.hardware.radio.V1_6.QosPortRange.MAX as it * returns -1 due to uint16_t to int conversion in java. (TODO: Fix the HAL) */ public static final int QOS_MAX_PORT = 65535; // android.hardware.radio.V1_6.QosPortRange.MIN; - @QosProtocol - private int protocol; + private @QosProtocol int protocol; private int typeOfServiceMask; @@ -85,8 +84,7 @@ public final class QosBearerFilter implements Parcelable { public static final int QOS_FILTER_DIRECTION_BIDIRECTIONAL = android.hardware.radio.V1_6.QosFilterDirection.BIDIRECTIONAL; - @QosBearerFilterDirection - private int filterDirection; + private @QosBearerFilterDirection int filterDirection; /** * Specified the order in which the filter needs to be matched. @@ -94,9 +92,10 @@ public final class QosBearerFilter implements Parcelable { */ private int precedence; - public QosBearerFilter(List<LinkAddress> localAddresses, List<LinkAddress> remoteAddresses, - PortRange localPort, PortRange remotePort, int protocol, int tos, - long flowLabel, long spi, int direction, int precedence) { + public QosBearerFilter(@NonNull List<LinkAddress> localAddresses, + @NonNull List<LinkAddress> remoteAddresses, @Nullable PortRange localPort, + @Nullable PortRange remotePort, @QosProtocol int protocol, int tos, long flowLabel, + long spi, @QosBearerFilterDirection int direction, int precedence) { this.localAddresses = new ArrayList<>(); this.localAddresses.addAll(localAddresses); this.remoteAddresses = new ArrayList<>(); @@ -111,19 +110,19 @@ public final class QosBearerFilter implements Parcelable { this.precedence = precedence; } - public List<LinkAddress> getLocalAddresses() { + public @NonNull List<LinkAddress> getLocalAddresses() { return localAddresses; } - public List<LinkAddress> getRemoteAddresses() { + public @NonNull List<LinkAddress> getRemoteAddresses() { return remoteAddresses; } - public PortRange getLocalPortRange() { + public @Nullable PortRange getLocalPortRange() { return localPort; } - public PortRange getRemotePortRange() { + public @Nullable PortRange getRemotePortRange() { return remotePort; } @@ -245,8 +244,8 @@ public final class QosBearerFilter implements Parcelable { && localAddresses.containsAll(other.localAddresses) && remoteAddresses.size() == other.remoteAddresses.size() && remoteAddresses.containsAll(other.remoteAddresses) - && localPort.equals(other.localPort) - && remotePort.equals(other.remotePort) + && Objects.equals(localPort, other.localPort) + && Objects.equals(remotePort, other.remotePort) && protocol == other.protocol && typeOfServiceMask == other.typeOfServiceMask && flowLabel == other.flowLabel |