diff options
author | Jeff Sharkey <jsharkey@google.com> | 2023-11-10 15:00:13 -0700 |
---|---|---|
committer | Jeff Sharkey <jsharkey@google.com> | 2023-11-10 15:00:13 -0700 |
commit | c5dab83d471db5cd53053d5b6a11cd0326d7d9b7 (patch) | |
tree | 7b49a91c345f348f76af1995824d96a2943abe51 /java/com | |
parent | 7087b0c9f290761d42198a7eb950675a1a597814 (diff) | |
download | modules-utils-c5dab83d471db5cd53053d5b6a11cd0326d7d9b7.tar.gz |
Unified messaging for Ravenwood preconditions.
Gives developers clear and consistent guidance.
Bug: 292141694
Test: atest-dev CtsOsTestCasesRavenwood CtsOsTestCases
Change-Id: I2dd76d83d3894a07f6f3fa7585ad79f9f45e5d36
Diffstat (limited to 'java/com')
-rw-r--r-- | java/com/android/internal/util/Preconditions.java | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/java/com/android/internal/util/Preconditions.java b/java/com/android/internal/util/Preconditions.java index d2d8220..bee0808 100644 --- a/java/com/android/internal/util/Preconditions.java +++ b/java/com/android/internal/util/Preconditions.java @@ -18,6 +18,7 @@ package com.android.internal.util; import android.annotation.IntRange; import android.annotation.NonNull; +import android.annotation.Nullable; import android.compat.annotation.UnsupportedAppUsage; import android.os.Build; import android.text.TextUtils; @@ -768,4 +769,17 @@ public class Preconditions { return value; } + + /** + * Throws an exception that guides developers to configure a {@code RavenwoodRule} when the + * given argument is {@code null}. + */ + public static <T> @NonNull T requireNonNullViaRavenwoodRule(@Nullable T t) { + if (t == null) { + throw new IllegalStateException("This operation requires that a RavenwoodRule be " + + "configured to accurately define the expected test environment"); + } else { + return t; + } + } } |