diff options
author | Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> | 2024-03-20 17:52:38 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2024-03-20 17:52:38 +0000 |
commit | 058fb8437e4ebb0c66085393c9800782b2921581 (patch) | |
tree | 6299a1adea1af00e4a2c21db6a98c6d7830f2de4 | |
parent | 1d85beecd5805b833bad51121cf0b4a64014e186 (diff) | |
parent | b7dbbb224f409b0aafd6231983e4a3374d6853bc (diff) | |
download | modules-utils-058fb8437e4ebb0c66085393c9800782b2921581.tar.gz |
Merge "Preconditions error messages/templates should be compile-time constants" into main
-rw-r--r-- | java/com/android/internal/util/Android.bp | 1 | ||||
-rw-r--r-- | java/com/android/internal/util/Preconditions.java | 22 |
2 files changed, 15 insertions, 8 deletions
diff --git a/java/com/android/internal/util/Android.bp b/java/com/android/internal/util/Android.bp index c2de1fb..c9b8b9c 100644 --- a/java/com/android/internal/util/Android.bp +++ b/java/com/android/internal/util/Android.bp @@ -22,6 +22,7 @@ java_library { srcs: ["Preconditions.java"], defaults: ["modules-utils-defaults"], libs: [ + "error_prone_annotations", "unsupportedappusage", ], } diff --git a/java/com/android/internal/util/Preconditions.java b/java/com/android/internal/util/Preconditions.java index bee0808..0bfa507 100644 --- a/java/com/android/internal/util/Preconditions.java +++ b/java/com/android/internal/util/Preconditions.java @@ -23,6 +23,8 @@ import android.compat.annotation.UnsupportedAppUsage; import android.os.Build; import android.text.TextUtils; +import com.google.errorprone.annotations.CompileTimeConstant; + import java.util.Arrays; import java.util.Collection; import java.util.Objects; @@ -55,7 +57,9 @@ public class Preconditions { * @throws IllegalArgumentException if {@code expression} is false */ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) - public static void checkArgument(boolean expression, final Object errorMessage) { + public static void checkArgument( + boolean expression, + final @CompileTimeConstant Object errorMessage) { if (!expression) { throw new IllegalArgumentException(String.valueOf(errorMessage)); } @@ -72,7 +76,7 @@ public class Preconditions { */ public static void checkArgument( final boolean expression, - final @NonNull String messageTemplate, + final @CompileTimeConstant @NonNull String messageTemplate, final Object... messageArgs) { if (!expression) { throw new IllegalArgumentException(String.format(messageTemplate, messageArgs)); @@ -105,7 +109,7 @@ public class Preconditions { * @throws IllegalArgumentException if {@code string} is empty */ public static @NonNull <T extends CharSequence> T checkStringNotEmpty(final T string, - final Object errorMessage) { + final @CompileTimeConstant Object errorMessage) { if (TextUtils.isEmpty(string)) { throw new IllegalArgumentException(String.valueOf(errorMessage)); } @@ -124,7 +128,7 @@ public class Preconditions { */ public static @NonNull <T extends CharSequence> T checkStringNotEmpty( final T string, - final @NonNull String messageTemplate, + final @NonNull @CompileTimeConstant String messageTemplate, final Object... messageArgs) { if (TextUtils.isEmpty(string)) { throw new IllegalArgumentException(String.format(messageTemplate, messageArgs)); @@ -163,7 +167,9 @@ public class Preconditions { */ @Deprecated @UnsupportedAppUsage - public static @NonNull <T> T checkNotNull(final T reference, final Object errorMessage) { + public static @NonNull <T> T checkNotNull( + final T reference, + final @CompileTimeConstant Object errorMessage) { if (reference == null) { throw new NullPointerException(String.valueOf(errorMessage)); } @@ -181,7 +187,7 @@ public class Preconditions { */ public static @NonNull <T> T checkNotNull( final T reference, - final @NonNull String messageTemplate, + final @NonNull @CompileTimeConstant String messageTemplate, final Object... messageArgs) { if (reference == null) { throw new NullPointerException(String.format(messageTemplate, messageArgs)); @@ -229,7 +235,7 @@ public class Preconditions { */ public static void checkState( final boolean expression, - final @NonNull String messageTemplate, + final @NonNull @CompileTimeConstant String messageTemplate, final Object... messageArgs) { if (!expression) { throw new IllegalStateException(String.format(messageTemplate, messageArgs)); @@ -275,7 +281,7 @@ public class Preconditions { */ public static void checkCallAuthorization( final boolean expression, - final @NonNull String messageTemplate, + final @NonNull @CompileTimeConstant String messageTemplate, final Object... messageArgs) { if (!expression) { throw new SecurityException(String.format(messageTemplate, messageArgs)); |