From df194dab3de9393ac8ec218d3a74d58115d77aed Mon Sep 17 00:00:00 2001 From: Navaron Bracke Date: Wed, 8 Mar 2023 13:01:42 +0100 Subject: [PATCH 01/14] enable javac warnings for Espresso --- packages/espresso/example/android/build.gradle | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/espresso/example/android/build.gradle b/packages/espresso/example/android/build.gradle index 10fc8d91f5f..339c3c26909 100644 --- a/packages/espresso/example/android/build.gradle +++ b/packages/espresso/example/android/build.gradle @@ -35,9 +35,7 @@ task clean(type: Delete) { gradle.projectsEvaluated { project(":espresso") { tasks.withType(JavaCompile) { - // TODO(stuartmorgan): Enable this. See - // https://github.com/flutter/flutter/issues/91868 - //options.compilerArgs << "-Xlint:all" << "-Werror" + options.compilerArgs << "-Xlint:all" << "-Werror" } } } From d0ada509984f2b77984d5beea8748f44ab4e4387 Mon Sep 17 00:00:00 2001 From: Navaron Bracke Date: Wed, 8 Mar 2023 13:01:54 +0100 Subject: [PATCH 02/14] fix raw types warning --- .../java/androidx/test/espresso/flutter/EspressoFlutter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/EspressoFlutter.java b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/EspressoFlutter.java index 3ba1762117c..d809d760c6b 100644 --- a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/EspressoFlutter.java +++ b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/EspressoFlutter.java @@ -137,7 +137,7 @@ private T performInternal(FlutterAction flutterAction) { "The action cannot be null. You must specify an action to perform on the matched" + " Flutter widget."); FlutterViewAction flutterViewAction = - new FlutterViewAction( + new FlutterViewAction<>( widgetMatcher, flutterAction, okHttpClient, idGenerator, taskExecutor); onView(flutterViewMatcher).perform(flutterViewAction); T result; From 0b8b888a1644c9d2be397787310e72a18efdbe82 Mon Sep 17 00:00:00 2001 From: Navaron Bracke Date: Wed, 8 Mar 2023 13:02:20 +0100 Subject: [PATCH 03/14] fix deprecations --- .../test/espresso/flutter/action/FlutterViewAction.java | 6 +++--- .../test/espresso/flutter/action/SyntheticClickAction.java | 5 +++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/action/FlutterViewAction.java b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/action/FlutterViewAction.java index 7031915f1ca..9b8162dee72 100644 --- a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/action/FlutterViewAction.java +++ b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/action/FlutterViewAction.java @@ -13,7 +13,7 @@ import android.os.Looper; import android.view.View; -import androidx.test.annotation.Beta; +import androidx.test.annotation.ExperimentalTestApi; import androidx.test.espresso.IdlingRegistry; import androidx.test.espresso.IdlingResource; import androidx.test.espresso.UiController; @@ -47,7 +47,7 @@ *

This class acts as a bridge to perform {@code WidgetAction} on a Flutter widget on the given * {@code FlutterView}. */ -@Beta +@ExperimentalTestApi public final class FlutterViewAction implements ViewAction { private static final String FLUTTER_IDLE_TASK_NAME = "flutterIdlingResource"; @@ -105,7 +105,7 @@ public void perform(UiController uiController, View flutterView) { // The url {@code FlutterNativeView} returns is the http url that the Dart VM Observatory http // server serves at. Need to convert to the one that the WebSocket uses. URI dartVmServiceProtocolUrl = - DartVmServiceUtil.getServiceProtocolUri(FlutterJNI.getObservatoryUri()); + DartVmServiceUtil.getServiceProtocolUri(FlutterJNI.getVMServiceUri()); String isolateId = DartVmServiceUtil.getDartIsolateId(flutterView); final FlutterTestingProtocol flutterTestingProtocol = new DartVmService( diff --git a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/action/SyntheticClickAction.java b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/action/SyntheticClickAction.java index fa238cbe76c..fefafc5b143 100644 --- a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/action/SyntheticClickAction.java +++ b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/action/SyntheticClickAction.java @@ -5,7 +5,8 @@ package androidx.test.espresso.flutter.action; import android.view.View; -import androidx.test.annotation.Beta; + +import androidx.test.annotation.ExperimentalTestApi; import androidx.test.espresso.UiController; import androidx.test.espresso.flutter.api.FlutterTestingProtocol; import androidx.test.espresso.flutter.api.SyntheticAction; @@ -21,7 +22,7 @@ *

Note, this is not a real click gesture event issued from Android system. Espresso delegates to * Flutter engine to perform the {@link SyntheticClick} action. */ -@Beta +@ExperimentalTestApi public final class SyntheticClickAction implements WidgetAction { @Override From ed6791799c6c33348df21925005851054ed1bf85 Mon Sep 17 00:00:00 2001 From: Navaron Bracke Date: Wed, 8 Mar 2023 13:02:46 +0100 Subject: [PATCH 04/14] fix serialVersionUID warning --- .../flutter/exception/AmbiguousWidgetMatcherException.java | 2 ++ .../espresso/flutter/exception/InvalidFlutterViewException.java | 2 ++ .../espresso/flutter/exception/NoMatchingWidgetException.java | 1 + .../internal/protocol/impl/FlutterProtocolException.java | 1 + 4 files changed, 6 insertions(+) diff --git a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/exception/AmbiguousWidgetMatcherException.java b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/exception/AmbiguousWidgetMatcherException.java index c0f1a06f573..971645ddf1f 100644 --- a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/exception/AmbiguousWidgetMatcherException.java +++ b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/exception/AmbiguousWidgetMatcherException.java @@ -13,6 +13,8 @@ public final class AmbiguousWidgetMatcherException extends RuntimeException implements EspressoException { + private static final long serialVersionUID = 9000L; + public AmbiguousWidgetMatcherException(String message) { super(message); } diff --git a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/exception/InvalidFlutterViewException.java b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/exception/InvalidFlutterViewException.java index d2d32869dd6..2651042f909 100644 --- a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/exception/InvalidFlutterViewException.java +++ b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/exception/InvalidFlutterViewException.java @@ -10,6 +10,8 @@ public final class InvalidFlutterViewException extends RuntimeException implements EspressoException { + private static final long serialVersionUID = 9001L; + /** Constructs with an error message. */ public InvalidFlutterViewException(String message) { super(message); diff --git a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/exception/NoMatchingWidgetException.java b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/exception/NoMatchingWidgetException.java index 756710f790c..4ce18565afa 100644 --- a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/exception/NoMatchingWidgetException.java +++ b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/exception/NoMatchingWidgetException.java @@ -11,6 +11,7 @@ * hierarchy. */ public final class NoMatchingWidgetException extends RuntimeException implements EspressoException { + private static final long serialVersionUID = 9002L; public NoMatchingWidgetException(String message) { super(message); diff --git a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/internal/protocol/impl/FlutterProtocolException.java b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/internal/protocol/impl/FlutterProtocolException.java index 26865a31098..979f047c4a7 100644 --- a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/internal/protocol/impl/FlutterProtocolException.java +++ b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/internal/protocol/impl/FlutterProtocolException.java @@ -6,6 +6,7 @@ /** Represents an exception/error relevant to Dart VM service. */ public final class FlutterProtocolException extends RuntimeException { + private static final long serialVersionUID = 8999L; public FlutterProtocolException(String message) { super(message); From 19a493f73ab6db006d0b98f7e989ff730463ba5b Mon Sep 17 00:00:00 2001 From: Navaron Bracke Date: Wed, 8 Mar 2023 13:04:15 +0100 Subject: [PATCH 05/14] update changelog & version --- packages/espresso/CHANGELOG.md | 3 ++- packages/espresso/pubspec.yaml | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/espresso/CHANGELOG.md b/packages/espresso/CHANGELOG.md index 5fb6e300f0f..63271831b1a 100644 --- a/packages/espresso/CHANGELOG.md +++ b/packages/espresso/CHANGELOG.md @@ -1,6 +1,7 @@ -## NEXT +## 0.2.1+1 * Aligns Dart and Flutter SDK constraints. +* Changes the severity of `javac` warnings so that they are treated as errors and fixes the violations. ## 0.2.1 diff --git a/packages/espresso/pubspec.yaml b/packages/espresso/pubspec.yaml index fb2cbfcd648..b4ac27de81c 100644 --- a/packages/espresso/pubspec.yaml +++ b/packages/espresso/pubspec.yaml @@ -3,7 +3,7 @@ description: Java classes for testing Flutter apps using Espresso. Allows driving Flutter widgets from a native Espresso test. repository: https://github.com/flutter/packages/tree/main/packages/espresso issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+espresso%22 -version: 0.2.1 +version: 0.2.1+1 environment: sdk: ">=2.17.0 <3.0.0" From 68fa5b392749bceb28685bf0920315b703021496 Mon Sep 17 00:00:00 2001 From: Navaron Bracke Date: Wed, 8 Mar 2023 13:13:04 +0100 Subject: [PATCH 06/14] remove newline --- .../test/espresso/flutter/action/SyntheticClickAction.java | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/action/SyntheticClickAction.java b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/action/SyntheticClickAction.java index fefafc5b143..0b9d042a51a 100644 --- a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/action/SyntheticClickAction.java +++ b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/action/SyntheticClickAction.java @@ -5,7 +5,6 @@ package androidx.test.espresso.flutter.action; import android.view.View; - import androidx.test.annotation.ExperimentalTestApi; import androidx.test.espresso.UiController; import androidx.test.espresso.flutter.api.FlutterTestingProtocol; From 32900d6d3eaf3e678aee541b26b2e93fa17aea04 Mon Sep 17 00:00:00 2001 From: Navaron Bracke Date: Wed, 8 Mar 2023 14:20:22 +0100 Subject: [PATCH 07/14] ignore classfile errors --- packages/espresso/example/android/build.gradle | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/espresso/example/android/build.gradle b/packages/espresso/example/android/build.gradle index 339c3c26909..39a84da55e8 100644 --- a/packages/espresso/example/android/build.gradle +++ b/packages/espresso/example/android/build.gradle @@ -35,7 +35,9 @@ task clean(type: Delete) { gradle.projectsEvaluated { project(":espresso") { tasks.withType(JavaCompile) { - options.compilerArgs << "-Xlint:all" << "-Werror" + // Ignore classfile warnings due to https://bugs.openjdk.org/browse/JDK-8190452 + // TODO(stuartmorgan): Remove that ignore once the build uses Java 11+. + options.compilerArgs << "-Xlint:all" << "-Werror" << "-Xlint:-classfile" } } } From cf7f044c0aa10407a02f7105ebdf173ade79482e Mon Sep 17 00:00:00 2001 From: Navaron Bracke Date: Wed, 8 Mar 2023 14:57:15 +0100 Subject: [PATCH 08/14] fix API that is not available on stable --- .../test/espresso/flutter/action/FlutterViewAction.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/action/FlutterViewAction.java b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/action/FlutterViewAction.java index 9b8162dee72..279a27e7301 100644 --- a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/action/FlutterViewAction.java +++ b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/action/FlutterViewAction.java @@ -104,8 +104,11 @@ public void perform(UiController uiController, View flutterView) { loopUntilFlutterViewRendered(flutterView, uiController); // The url {@code FlutterNativeView} returns is the http url that the Dart VM Observatory http // server serves at. Need to convert to the one that the WebSocket uses. + + // TODO(stuartmorgan): migrate to getVMServiceUri() once that is available on stable. + @SuppressWarnings("deprecation") URI dartVmServiceProtocolUrl = - DartVmServiceUtil.getServiceProtocolUri(FlutterJNI.getVMServiceUri()); + DartVmServiceUtil.getServiceProtocolUri(FlutterJNI.getObservatoryUri()); String isolateId = DartVmServiceUtil.getDartIsolateId(flutterView); final FlutterTestingProtocol flutterTestingProtocol = new DartVmService( From 716fa2e1a42e93748a3d7b5302ec346e76174407 Mon Sep 17 00:00:00 2001 From: Navaron Bracke Date: Wed, 8 Mar 2023 14:57:56 +0100 Subject: [PATCH 09/14] fix @ExperimentalTestApi() warnings --- .../java/androidx/test/espresso/flutter/EspressoFlutter.java | 5 +++++ .../test/espresso/flutter/action/FlutterActions.java | 2 ++ 2 files changed, 7 insertions(+) diff --git a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/EspressoFlutter.java b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/EspressoFlutter.java index d809d760c6b..d3760a5cd2e 100644 --- a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/EspressoFlutter.java +++ b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/EspressoFlutter.java @@ -12,6 +12,8 @@ import android.util.Log; import android.view.View; + +import androidx.test.annotation.ExperimentalTestApi; import androidx.test.espresso.UiController; import androidx.test.espresso.ViewAction; import androidx.test.espresso.flutter.action.FlutterViewAction; @@ -99,6 +101,7 @@ private WidgetInteraction( * @param widgetActions one or more actions that shall be performed. Cannot be {@code null}. * @return this interaction for further perform/verification calls. */ + @ExperimentalTestApi() public WidgetInteraction perform(@Nonnull final WidgetAction... widgetActions) { checkNotNull(widgetActions); for (WidgetAction widgetAction : widgetActions) { @@ -115,6 +118,7 @@ public WidgetInteraction perform(@Nonnull final WidgetAction... widgetActions) { * @param assertion a widget assertion that shall be made on the matched Flutter widget. Cannot * be {@code null}. */ + @ExperimentalTestApi() public WidgetInteraction check(@Nonnull WidgetAssertion assertion) { checkNotNull( assertion, @@ -130,6 +134,7 @@ public WidgetInteraction check(@Nonnull WidgetAssertion assertion) { return this; } + @ExperimentalTestApi() @SuppressWarnings("unchecked") private T performInternal(FlutterAction flutterAction) { checkNotNull( diff --git a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/action/FlutterActions.java b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/action/FlutterActions.java index 2f0c171e780..1bc41f01fa6 100644 --- a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/action/FlutterActions.java +++ b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/action/FlutterActions.java @@ -4,6 +4,7 @@ package androidx.test.espresso.flutter.action; +import androidx.test.annotation.ExperimentalTestApi; import androidx.test.espresso.flutter.api.WidgetAction; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; @@ -43,6 +44,7 @@ public static WidgetAction click() { * by directly injecting key events to the Android system. Uses this {@link #syntheticClick()} * only when there are special cases that {@link #click()} cannot handle properly. */ + @ExperimentalTestApi() public static WidgetAction syntheticClick() { return new SyntheticClickAction(); } From d43f14a749027a611eb0aff9d37d2ec3c8f2411c Mon Sep 17 00:00:00 2001 From: Navaron Bracke Date: Wed, 8 Mar 2023 15:16:03 +0100 Subject: [PATCH 10/14] remove newline --- .../java/androidx/test/espresso/flutter/EspressoFlutter.java | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/EspressoFlutter.java b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/EspressoFlutter.java index d3760a5cd2e..f8644a8e548 100644 --- a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/EspressoFlutter.java +++ b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/EspressoFlutter.java @@ -12,7 +12,6 @@ import android.util.Log; import android.view.View; - import androidx.test.annotation.ExperimentalTestApi; import androidx.test.espresso.UiController; import androidx.test.espresso.ViewAction; From 2c67d5c0e7075a3a3aceb1ec37b0f628190d775b Mon Sep 17 00:00:00 2001 From: Navaron Bracke Date: Wed, 8 Mar 2023 16:54:37 +0100 Subject: [PATCH 11/14] use 0L as serialVersionUID --- .../flutter/exception/AmbiguousWidgetMatcherException.java | 2 +- .../espresso/flutter/exception/InvalidFlutterViewException.java | 2 +- .../espresso/flutter/exception/NoMatchingWidgetException.java | 2 +- .../internal/protocol/impl/FlutterProtocolException.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/exception/AmbiguousWidgetMatcherException.java b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/exception/AmbiguousWidgetMatcherException.java index 971645ddf1f..01fedba7de4 100644 --- a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/exception/AmbiguousWidgetMatcherException.java +++ b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/exception/AmbiguousWidgetMatcherException.java @@ -13,7 +13,7 @@ public final class AmbiguousWidgetMatcherException extends RuntimeException implements EspressoException { - private static final long serialVersionUID = 9000L; + private static final long serialVersionUID = 0L; public AmbiguousWidgetMatcherException(String message) { super(message); diff --git a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/exception/InvalidFlutterViewException.java b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/exception/InvalidFlutterViewException.java index 2651042f909..39f442ad314 100644 --- a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/exception/InvalidFlutterViewException.java +++ b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/exception/InvalidFlutterViewException.java @@ -10,7 +10,7 @@ public final class InvalidFlutterViewException extends RuntimeException implements EspressoException { - private static final long serialVersionUID = 9001L; + private static final long serialVersionUID = 0L; /** Constructs with an error message. */ public InvalidFlutterViewException(String message) { diff --git a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/exception/NoMatchingWidgetException.java b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/exception/NoMatchingWidgetException.java index 4ce18565afa..93da4d29ee9 100644 --- a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/exception/NoMatchingWidgetException.java +++ b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/exception/NoMatchingWidgetException.java @@ -11,7 +11,7 @@ * hierarchy. */ public final class NoMatchingWidgetException extends RuntimeException implements EspressoException { - private static final long serialVersionUID = 9002L; + private static final long serialVersionUID = 0L; public NoMatchingWidgetException(String message) { super(message); diff --git a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/internal/protocol/impl/FlutterProtocolException.java b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/internal/protocol/impl/FlutterProtocolException.java index 979f047c4a7..2ad61cff2ec 100644 --- a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/internal/protocol/impl/FlutterProtocolException.java +++ b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/internal/protocol/impl/FlutterProtocolException.java @@ -6,7 +6,7 @@ /** Represents an exception/error relevant to Dart VM service. */ public final class FlutterProtocolException extends RuntimeException { - private static final long serialVersionUID = 8999L; + private static final long serialVersionUID = 0L; public FlutterProtocolException(String message) { super(message); From 0f59b441e07cc3e4be084e6c232e3f5e11b49559 Mon Sep 17 00:00:00 2001 From: Navaron Bracke Date: Wed, 8 Mar 2023 20:28:24 +0100 Subject: [PATCH 12/14] move @ExperimentalApi to methods; use 0.3.0 as version --- packages/espresso/CHANGELOG.md | 3 ++- .../test/espresso/flutter/action/FlutterViewAction.java | 3 ++- .../test/espresso/flutter/action/SyntheticClickAction.java | 2 +- packages/espresso/pubspec.yaml | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/espresso/CHANGELOG.md b/packages/espresso/CHANGELOG.md index 63271831b1a..f3ae3df6cb0 100644 --- a/packages/espresso/CHANGELOG.md +++ b/packages/espresso/CHANGELOG.md @@ -1,7 +1,8 @@ -## 0.2.1+1 +## 0.3.0 * Aligns Dart and Flutter SDK constraints. * Changes the severity of `javac` warnings so that they are treated as errors and fixes the violations. +* Migrates uses of the deprecated `@Beta` annotation to the new `@ExperimentalApi` annotation. ## 0.2.1 diff --git a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/action/FlutterViewAction.java b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/action/FlutterViewAction.java index 279a27e7301..6f6bc74caf7 100644 --- a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/action/FlutterViewAction.java +++ b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/action/FlutterViewAction.java @@ -47,7 +47,6 @@ *

This class acts as a bridge to perform {@code WidgetAction} on a Flutter widget on the given * {@code FlutterView}. */ -@ExperimentalTestApi public final class FlutterViewAction implements ViewAction { private static final String FLUTTER_IDLE_TASK_NAME = "flutterIdlingResource"; @@ -96,6 +95,7 @@ public String getDescription() { "Perform a %s action on the Flutter widget matched %s.", widgetAction, widgetMatcher); } + @ExperimentalTestApi @Override public void perform(UiController uiController, View flutterView) { // There could be a gap between when the Flutter view is available in the view hierarchy and the @@ -139,6 +139,7 @@ public ListenableFuture apply(Void readyResult) { } } + @ExperimentalTestApi @VisibleForTesting void perform( View flutterView, FlutterTestingProtocol flutterTestingProtocol, UiController uiController) { diff --git a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/action/SyntheticClickAction.java b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/action/SyntheticClickAction.java index 0b9d042a51a..270d4e43b88 100644 --- a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/action/SyntheticClickAction.java +++ b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/action/SyntheticClickAction.java @@ -21,9 +21,9 @@ *

Note, this is not a real click gesture event issued from Android system. Espresso delegates to * Flutter engine to perform the {@link SyntheticClick} action. */ -@ExperimentalTestApi public final class SyntheticClickAction implements WidgetAction { + @ExperimentalTestApi @Override public Future perform( @Nullable WidgetMatcher targetWidget, diff --git a/packages/espresso/pubspec.yaml b/packages/espresso/pubspec.yaml index b4ac27de81c..c7fcbd3ae44 100644 --- a/packages/espresso/pubspec.yaml +++ b/packages/espresso/pubspec.yaml @@ -3,7 +3,7 @@ description: Java classes for testing Flutter apps using Espresso. Allows driving Flutter widgets from a native Espresso test. repository: https://github.com/flutter/packages/tree/main/packages/espresso issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+espresso%22 -version: 0.2.1+1 +version: 0.3.0 environment: sdk: ">=2.17.0 <3.0.0" From b53bb319f6ac49aab243c98bda4119c11eca1e67 Mon Sep 17 00:00:00 2001 From: Navaron Bracke Date: Wed, 8 Mar 2023 20:36:02 +0100 Subject: [PATCH 13/14] add breaking changes label --- packages/espresso/CHANGELOG.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/espresso/CHANGELOG.md b/packages/espresso/CHANGELOG.md index f3ae3df6cb0..05035ca470c 100644 --- a/packages/espresso/CHANGELOG.md +++ b/packages/espresso/CHANGELOG.md @@ -1,8 +1,10 @@ ## 0.3.0 +**BREAKING CHANGES**: + * Changes the severity of `javac` warnings so that they are treated as errors and fixes the violations. + * Migrates uses of the deprecated `@Beta` annotation to the new `@ExperimentalApi` annotation. + * Aligns Dart and Flutter SDK constraints. -* Changes the severity of `javac` warnings so that they are treated as errors and fixes the violations. -* Migrates uses of the deprecated `@Beta` annotation to the new `@ExperimentalApi` annotation. ## 0.2.1 From ca4f0921be704551432b6807883a4cb83aeb6bca Mon Sep 17 00:00:00 2001 From: Navaron Bracke Date: Wed, 8 Mar 2023 20:43:32 +0100 Subject: [PATCH 14/14] feedback --- packages/espresso/CHANGELOG.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/packages/espresso/CHANGELOG.md b/packages/espresso/CHANGELOG.md index 05035ca470c..5ef1319e9c2 100644 --- a/packages/espresso/CHANGELOG.md +++ b/packages/espresso/CHANGELOG.md @@ -1,9 +1,7 @@ ## 0.3.0 -**BREAKING CHANGES**: - * Changes the severity of `javac` warnings so that they are treated as errors and fixes the violations. - * Migrates uses of the deprecated `@Beta` annotation to the new `@ExperimentalApi` annotation. - +* **BREAKING CHANGE**: Migrates uses of the deprecated `@Beta` annotation to the new `@ExperimentalApi` annotation. +* Changes the severity of `javac` warnings so that they are treated as errors and fixes the violations. * Aligns Dart and Flutter SDK constraints. ## 0.2.1