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
This commit is contained in:
Pranav Madapurmath
2023-06-09 23:16:13 +00:00
parent 9a759a9669
commit f39d60bc71

View File

@@ -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();