aboutsummaryrefslogtreecommitdiff
path: root/java/com
diff options
context:
space:
mode:
authorJeff Sharkey <jsharkey@google.com>2023-11-10 15:00:13 -0700
committerJeff Sharkey <jsharkey@google.com>2023-11-10 15:00:13 -0700
commitc5dab83d471db5cd53053d5b6a11cd0326d7d9b7 (patch)
tree7b49a91c345f348f76af1995824d96a2943abe51 /java/com
parent7087b0c9f290761d42198a7eb950675a1a597814 (diff)
downloadmodules-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.java14
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;
+ }
+ }
}