Merge "Handle endpoint name nullability in constructor"
diff --git a/telecomm/java/android/telecom/CallEndpoint.java b/telecomm/java/android/telecom/CallEndpoint.java
index 0b2211d..ed4bf40 100644
--- a/telecomm/java/android/telecom/CallEndpoint.java
+++ b/telecomm/java/android/telecom/CallEndpoint.java
@@ -61,6 +61,13 @@
/** 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 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 @@
/** @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();