From df5ca29fcdd0450d2585867a269cbc6ea6ebefb9 Mon Sep 17 00:00:00 2001 From: AoJ Architecture Team Date: Wed, 8 Nov 2023 06:10:17 -0800 Subject: =?UTF-8?q?Copybara=20=E2=9D=A4=EF=B8=8F:=20Add=20test=20sizes=20t?= =?UTF-8?q?o=20correctly=20timeout=20onboarding=20tests?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CL: cl/580509534 PiperOrigin-RevId: 580509534 Change-Id: I855a9c9f315840ae28e23d5a46e24ce29402e344 --- .../contracts/annotations/OnboardingNode.kt | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/com/android/onboarding/contracts/annotations/OnboardingNode.kt b/src/com/android/onboarding/contracts/annotations/OnboardingNode.kt index 3ea43f6..17c9645 100644 --- a/src/com/android/onboarding/contracts/annotations/OnboardingNode.kt +++ b/src/com/android/onboarding/contracts/annotations/OnboardingNode.kt @@ -14,13 +14,32 @@ annotation class OnboardingNode( val name: String, /** True if this is a node which presents a UI to the user. */ - val hasUi: HasUi + val hasUi: HasUi, + + /** The type of specification given for this node. */ + val specificationType: SpecificationType = SpecificationType.LIGHT ) { enum class HasUi { NO, YES, YES_TEMPORARILY } + + enum class SpecificationType { + /** + * This means that full Javadoc is provided, all arguments are fully defined, documented and + * typed (no undefined Bundles or Intents), and return values are properly defined and typed. + */ + V1, + + /** + * No requirements. + * + * Most "Light" nodes will be lacking Javadoc, and using Intents and Bundles as arguments and + * return values. + */ + LIGHT + } } const val MAX_NODE_NAME_LENGTH: Int = 40 -- cgit v1.2.3