From f39d60bc710cc242ca57a75df56f4b4b0b2849ab Mon Sep 17 00:00:00 2001 From: Pranav Madapurmath Date: Fri, 9 Jun 2023 23:16:13 +0000 Subject: [PATCH] Handle endpoint name nullability in constructor Throws an IllegalArgumentException when the endpoint name passed into the constructor is null. This will help prevent the error from being invoked later down the line and instead throws it at the first sign of detection. Fixes: 286310499 Test: atest TelecomUnitTests Change-Id: Ic128d0e3577591d54cf9c4309844e4580af220c1 --- telecomm/java/android/telecom/CallEndpoint.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/telecomm/java/android/telecom/CallEndpoint.java b/telecomm/java/android/telecom/CallEndpoint.java index 0b2211ddb94a3..ed4bf40061e25 100644 --- a/telecomm/java/android/telecom/CallEndpoint.java +++ b/telecomm/java/android/telecom/CallEndpoint.java @@ -61,6 +61,13 @@ public final class CallEndpoint implements Parcelable { /** Indicates that the type of endpoint through which call media flows is an external. */ public static final int TYPE_STREAMING = 5; + /** + * Error message attached to IllegalArgumentException when the endpoint name or id is null. + * @hide + */ + private static final String CALLENDPOINT_NAME_ID_NULL_ERROR = + "CallEndpoint name cannot be null."; + private final CharSequence mName; private final int mType; private final ParcelUuid mIdentifier; @@ -81,6 +88,11 @@ public final class CallEndpoint implements Parcelable { */ public CallEndpoint(@NonNull CharSequence name, @EndpointType int type, @NonNull ParcelUuid id) { + // Ensure that endpoint name and id are non-null. + if (name == null || id == null) { + throw new IllegalArgumentException(CALLENDPOINT_NAME_ID_NULL_ERROR); + } + this.mName = name; this.mType = type; this.mIdentifier = id; @@ -93,6 +105,11 @@ public final class CallEndpoint implements Parcelable { /** @hide */ public CallEndpoint(CallEndpoint endpoint) { + // Ensure that endpoint name and id are non-null. + if (endpoint.getEndpointName() == null || endpoint.getIdentifier() == null) { + throw new IllegalArgumentException(CALLENDPOINT_NAME_ID_NULL_ERROR); + } + mName = endpoint.getEndpointName(); mType = endpoint.getEndpointType(); mIdentifier = endpoint.getIdentifier();