diff options
| author | 2024-10-10 19:54:52 +0000 | |
|---|---|---|
| committer | 2024-10-10 19:54:52 +0000 | |
| commit | 352b6e2f41ccecc4a75f9bd6cd686b60f3d5397f (patch) | |
| tree | 305251fe0d45c94bb09ce80e1bb9f86ed56f2b8e | |
| parent | 12692eca76c164cb4e2e3c21fccda7e1d641a42e (diff) | |
| parent | 208fb853f641c92977ef4410415588287768c203 (diff) | |
Merge "enforce limits for VisualVoicemailSmsFilterSettings properties" into sc-dev am: e6a2cfe5d7 am: 8a8d5d4c4f am: 208fb853f6
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/27975021
Change-Id: I643b06c0901037ca0c75c3913a2c327dab204501
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; } |