1 package com.android.onboarding.versions.annotations 2 3 /** 4 * Annotation used to indicate that the passed value must either be a long constant annotated with 5 * [ChangeId] or a variable which itself was annotated [ValidChangeId]. 6 * 7 * @param allowedChangeRadii The change radius allowed for passed change IDs 8 * @param disallowedChangeRadiiError The error to use if a change ID with an invalid change radius 9 * is provided. This should ideally tell the developer what to do. 10 */ 11 @Target(AnnotationTarget.VALUE_PARAMETER) 12 @Retention(AnnotationRetention.BINARY) 13 annotation class ValidChangeId( 14 val allowedChangeRadii: Array<ChangeRadius> = 15 [ChangeRadius.SINGLE_COMPONENT, ChangeRadius.MULTI_COMPONENT], 16 val disallowedChangeRadiiError: String = 17 "The provided change ID does not have a valid change radius.", 18 ) 19