From 43bba1e9dc21bbd715c331f3a2faa61b1c99ba2f Mon Sep 17 00:00:00 2001 From: Brett Chabot Date: Tue, 19 Dec 2023 13:23:39 -0800 Subject: [PATCH] Remove ExperimentalTestApi from CustomFilter. This API forms the basis of espresso-devices's filtering annotations which have already been API reviewed. PiperOrigin-RevId: 592326950 --- espresso/device/CHANGELOG.md | 1 + .../java/androidx/test/espresso/device/api/current_public.txt | 4 ++-- runner/android_junit_runner/CHANGELOG.md | 1 + .../java/androidx/test/api/current_public.txt | 4 ++++ .../java/androidx/test/filters/CustomFilter.java | 4 ---- 5 files changed, 8 insertions(+), 6 deletions(-) diff --git a/espresso/device/CHANGELOG.md b/espresso/device/CHANGELOG.md index a87dc1c7f..292ccfcaa 100644 --- a/espresso/device/CHANGELOG.md +++ b/espresso/device/CHANGELOG.md @@ -13,6 +13,7 @@ **Breaking Changes** **API Changes** +* Remove ExperimentalTestApi from androidx.test.filter.CustomFilter **Breaking API Changes** diff --git a/espresso/device/java/androidx/test/espresso/device/api/current_public.txt b/espresso/device/java/androidx/test/espresso/device/api/current_public.txt index ab9bb7b91..f7a2dcbe1 100644 --- a/espresso/device/java/androidx/test/espresso/device/api/current_public.txt +++ b/espresso/device/java/androidx/test/espresso/device/api/current_public.txt @@ -66,12 +66,12 @@ package androidx.test.espresso.device.controller { package androidx.test.espresso.device.filter { - @java.lang.annotation.Repeatable(RequiresDeviceModes::class) @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.RUNTIME) @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget.CLASS, kotlin.annotation.AnnotationTarget.FUNCTION}) public @interface RequiresDeviceMode { + @androidx.test.filters.CustomFilter(filterClass=RequiresDeviceModeFilter::class) @java.lang.annotation.Repeatable(RequiresDeviceModes::class) @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.RUNTIME) @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget.CLASS, kotlin.annotation.AnnotationTarget.FUNCTION}) public @interface RequiresDeviceMode { method public abstract androidx.test.espresso.device.controller.DeviceMode mode(); property public abstract androidx.test.espresso.device.controller.DeviceMode mode; } - @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.RUNTIME) @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget.CLASS, kotlin.annotation.AnnotationTarget.FUNCTION}) public @interface RequiresDisplay { + @androidx.test.filters.CustomFilter(filterClass=RequiresDisplayFilter::class) @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.RUNTIME) @kotlin.annotation.Target(allowedTargets={kotlin.annotation.AnnotationTarget.CLASS, kotlin.annotation.AnnotationTarget.FUNCTION}) public @interface RequiresDisplay { method public abstract androidx.test.espresso.device.sizeclass.HeightSizeClass.Companion.HeightSizeClassEnum heightSizeClass(); method public abstract androidx.test.espresso.device.sizeclass.WidthSizeClass.Companion.WidthSizeClassEnum widthSizeClass(); property public abstract androidx.test.espresso.device.sizeclass.HeightSizeClass.Companion.HeightSizeClassEnum heightSizeClass; diff --git a/runner/android_junit_runner/CHANGELOG.md b/runner/android_junit_runner/CHANGELOG.md index 35d2af9f7..1e74c9f7b 100644 --- a/runner/android_junit_runner/CHANGELOG.md +++ b/runner/android_junit_runner/CHANGELOG.md @@ -13,6 +13,7 @@ **API Changes** * Mark androidx.test.services.** as RestrictTo LIBRARY_GROUP +* Remove ExperimentalTestApi from CustomFilter **Breaking API Changes** diff --git a/runner/android_junit_runner/java/androidx/test/api/current_public.txt b/runner/android_junit_runner/java/androidx/test/api/current_public.txt index 478621fa6..6e98c142a 100644 --- a/runner/android_junit_runner/java/androidx/test/api/current_public.txt +++ b/runner/android_junit_runner/java/androidx/test/api/current_public.txt @@ -9,6 +9,10 @@ package androidx.test.filters { method public boolean shouldRun(org.junit.runner.Description!); } + @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target({java.lang.annotation.ElementType.ANNOTATION_TYPE}) public @interface CustomFilter { + method public abstract Class filterClass(); + } + @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.TYPE}) public @interface FlakyTest { method public abstract int bugId() default -1; method public abstract String detail() default ""; diff --git a/runner/android_junit_runner/java/androidx/test/filters/CustomFilter.java b/runner/android_junit_runner/java/androidx/test/filters/CustomFilter.java index ed83664d2..5e1d82c3c 100644 --- a/runner/android_junit_runner/java/androidx/test/filters/CustomFilter.java +++ b/runner/android_junit_runner/java/androidx/test/filters/CustomFilter.java @@ -16,7 +16,6 @@ package androidx.test.filters; -import androidx.test.annotation.ExperimentalTestApi; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -33,10 +32,7 @@ * @CustomFilter(MyCustomFilterClass::class) * public @interface MyCustomFilterAnnotation {} * } - * - *

This API is experimental and subject to change or removal. */ -@ExperimentalTestApi @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.ANNOTATION_TYPE}) public @interface CustomFilter {