diff --git a/telecomm/java/android/telecom/PhoneAccount.java b/telecomm/java/android/telecom/PhoneAccount.java index b8c056e4bb109..ca15422a848fc 100644 --- a/telecomm/java/android/telecom/PhoneAccount.java +++ b/telecomm/java/android/telecom/PhoneAccount.java @@ -540,6 +540,11 @@ public final class PhoneAccount implements Parcelable { /** * Creates a builder with the specified {@link PhoneAccountHandle} and label. + *
+ * Note: each CharSequence or String field is limited to 256 characters. This check is + * enforced when registering the PhoneAccount via + * {@link TelecomManager#registerPhoneAccount(PhoneAccount)} and will cause an + * {@link IllegalArgumentException} to be thrown if the character field limit is over 256. */ public Builder(PhoneAccountHandle accountHandle, CharSequence label) { this.mAccountHandle = accountHandle; @@ -570,6 +575,11 @@ public final class PhoneAccount implements Parcelable { /** * Sets the label. See {@link PhoneAccount#getLabel()}. + *
+ * Note: Each CharSequence or String field is limited to 256 characters. This check is + * enforced when registering the PhoneAccount via + * {@link TelecomManager#registerPhoneAccount(PhoneAccount)} and will cause an + * {@link IllegalArgumentException} to be thrown if the character field limit is over 256. * * @param label The label of the phone account. * @return The builder. @@ -636,6 +646,11 @@ public final class PhoneAccount implements Parcelable { /** * Sets the short description. See {@link PhoneAccount#getShortDescription}. + *
+ * Note: Each CharSequence or String field is limited to 256 characters. This check is + * enforced when registering the PhoneAccount via + * {@link TelecomManager#registerPhoneAccount(PhoneAccount)} and will cause an + * {@link IllegalArgumentException} to be thrown if the character field limit is over 256. * * @param value The short description. * @return The builder. @@ -680,6 +695,13 @@ public final class PhoneAccount implements Parcelable { *
* {@code PhoneAccount}s only support extra values of type: {@link String}, {@link Integer}, * and {@link Boolean}. Extras which are not of these types are ignored. + *
+ * Note: Each Bundle (Key, Value) String field is limited to 256 characters. Additionally, + * the bundle is limited to 100 (Key, Value) pairs total. This check is + * enforced when registering the PhoneAccount via + * {@link TelecomManager#registerPhoneAccount(PhoneAccount)} and will cause an + * {@link IllegalArgumentException} to be thrown if the character field limit is over 256 + * or more than 100 (Key, Value) pairs are in the Bundle. * * @param extras * @return @@ -711,6 +733,11 @@ public final class PhoneAccount implements Parcelable { *
* Note: This is an API specific to the Telephony stack; the group Id will be ignored for * callers not holding the correct permission. + *
+ * Additionally, each CharSequence or String field is limited to 256 characters. + * This check is enforced when registering the PhoneAccount via + * {@link TelecomManager#registerPhoneAccount(PhoneAccount)} and will cause an + * {@link IllegalArgumentException} to be thrown if the character field limit is over 256. * * @param groupId The group Id of the {@link PhoneAccount} that will replace any other * registered {@link PhoneAccount} in Telecom with the same Group Id. diff --git a/telecomm/java/android/telecom/PhoneAccountHandle.java b/telecomm/java/android/telecom/PhoneAccountHandle.java index ec94f8a1829fd..e5db8cfa0989f 100644 --- a/telecomm/java/android/telecom/PhoneAccountHandle.java +++ b/telecomm/java/android/telecom/PhoneAccountHandle.java @@ -70,6 +70,12 @@ public final class PhoneAccountHandle implements Parcelable { * ID provided does not expose personally identifying information. A * {@link ConnectionService} should use an opaque token as the * {@link PhoneAccountHandle} identifier. + *
+ * Note: Each String field is limited to 256 characters. This check is enforced when + * registering the PhoneAccount via + * {@link TelecomManager#registerPhoneAccount(PhoneAccount)} and will cause an + * {@link IllegalArgumentException} to be thrown if the character field limit is + * over 256. */ public PhoneAccountHandle( @NonNull ComponentName componentName, @@ -88,6 +94,13 @@ public final class PhoneAccountHandle implements Parcelable { * {@link ConnectionService} should use an opaque token as the * {@link PhoneAccountHandle} identifier. * @param userHandle The {@link UserHandle} associated with this {@link PhoneAccountHandle}. + * + *
+ * Note: Each String field is limited to 256 characters. This check is enforced when + * registering the PhoneAccount via + * {@link TelecomManager#registerPhoneAccount(PhoneAccount)} and will cause an + * {@link IllegalArgumentException} to be thrown if the character field limit is + * over 256. */ public PhoneAccountHandle( @NonNull ComponentName componentName,