diff options
| author | 2024-08-21 22:23:27 +0000 | |
|---|---|---|
| committer | 2024-08-21 22:23:27 +0000 | |
| commit | 771ba6951dd16ea00e7eb3ae4f030daa46d9030c (patch) | |
| tree | 6750697e453e9df8921b6ba2fac4aa1a34ae75fc | |
| parent | fc85cca5d91455f4b1a82cf7443ca648b2762c65 (diff) | |
| parent | be706453380d2f01bc48e0072a69aa02997d37fc (diff) | |
Merge "enforce limits for VisualVoicemailSmsFilterSettings properties" into udc-dev am: bd80cd1f31 am: be70645338
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/28012968
Change-Id: Icb455ef56d1f97d1029af5a1413d9d5cce257306
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| -rw-r--r-- | telephony/java/android/telephony/VisualVoicemailSmsFilterSettings.java | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/telephony/java/android/telephony/VisualVoicemailSmsFilterSettings.java b/telephony/java/android/telephony/VisualVoicemailSmsFilterSettings.java index eadb726bf63b..2b515c9b5cd1 100644 --- a/telephony/java/android/telephony/VisualVoicemailSmsFilterSettings.java +++ b/telephony/java/android/telephony/VisualVoicemailSmsFilterSettings.java @@ -64,6 +64,14 @@ public final class VisualVoicemailSmsFilterSettings implements Parcelable { * @hide */ public static final int DEFAULT_DESTINATION_PORT = DESTINATION_PORT_ANY; + /** + * @hide + */ + public static final int MAX_STRING_LENGTH = 256; + /** + * @hide + */ + public static final int MAX_LIST_SIZE = 100; /** * Builder class for {@link VisualVoicemailSmsFilterSettings} objects. @@ -82,11 +90,16 @@ public final class VisualVoicemailSmsFilterSettings implements Parcelable { /** * Sets the client prefix for the visual voicemail SMS filter. The client prefix will appear * at the start of a visual voicemail SMS message, followed by a colon(:). + * @throws IllegalArgumentException if the string length is greater than 256 characters */ public Builder setClientPrefix(String clientPrefix) { if (clientPrefix == null) { throw new IllegalArgumentException("Client prefix cannot be null"); } + if (clientPrefix.length() > MAX_STRING_LENGTH) { + throw new IllegalArgumentException("Client prefix cannot be greater than " + + MAX_STRING_LENGTH + " characters"); + } mClientPrefix = clientPrefix; return this; } @@ -95,11 +108,25 @@ public final class VisualVoicemailSmsFilterSettings implements Parcelable { * Sets the originating number allow list for the visual voicemail SMS filter. If the list * is not null only the SMS messages from a number in the list can be considered as a visual * voicemail SMS. Otherwise, messages from any address will be considered. + * @throws IllegalArgumentException if the size of the originatingNumbers list is greater + * than 100 elements + * @throws IllegalArgumentException if an element within the originatingNumbers list has + * a string length greater than 256 */ public Builder setOriginatingNumbers(List<String> originatingNumbers) { if (originatingNumbers == null) { throw new IllegalArgumentException("Originating numbers cannot be null"); } + if (originatingNumbers.size() > MAX_LIST_SIZE) { + throw new IllegalArgumentException("The originatingNumbers list size cannot be" + + " greater than " + MAX_STRING_LENGTH + " elements"); + } + for (String num : originatingNumbers) { + if (num != null && num.length() > MAX_STRING_LENGTH) { + throw new IllegalArgumentException("Numbers within the originatingNumbers list" + + " cannot be greater than" + MAX_STRING_LENGTH + " characters"); + } + } mOriginatingNumbers = originatingNumbers; return this; } |