diff --git a/packages/e2e/CHANGELOG.md b/packages/e2e/CHANGELOG.md index 0d349965371b..ad2f8d3e24f0 100644 --- a/packages/e2e/CHANGELOG.md +++ b/packages/e2e/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.6.0 + +* **Breaking change** `E2EPlugin` exports a `Future` for `testResults`. + ## 0.5.0+1 * Fixed the device pixel ratio problem. diff --git a/packages/e2e/android/build.gradle b/packages/e2e/android/build.gradle index ec686f4b4e3d..d0bb6c5a5967 100644 --- a/packages/e2e/android/build.gradle +++ b/packages/e2e/android/build.gradle @@ -33,11 +33,12 @@ android { } dependencies { api 'junit:junit:4.12' - implementation 'net.sourceforge.streamsupport:android-retrofuture:1.7.2' // https://developer.android.com/jetpack/androidx/releases/test/#1.2.0 api 'androidx.test:runner:1.2.0' api 'androidx.test:rules:1.2.0' api 'androidx.test.espresso:espresso-core:3.2.0' + + implementation 'com.google.guava:guava:28.1-android' } } diff --git a/packages/e2e/android/src/main/java/dev/flutter/plugins/e2e/E2EPlugin.java b/packages/e2e/android/src/main/java/dev/flutter/plugins/e2e/E2EPlugin.java index f6c5b306b5d9..31100d442731 100644 --- a/packages/e2e/android/src/main/java/dev/flutter/plugins/e2e/E2EPlugin.java +++ b/packages/e2e/android/src/main/java/dev/flutter/plugins/e2e/E2EPlugin.java @@ -5,6 +5,7 @@ package dev.flutter.plugins.e2e; import android.content.Context; +import com.google.common.util.concurrent.SettableFuture; import io.flutter.embedding.engine.plugins.FlutterPlugin; import io.flutter.plugin.common.BinaryMessenger; import io.flutter.plugin.common.MethodCall; @@ -13,13 +14,15 @@ import io.flutter.plugin.common.MethodChannel.Result; import io.flutter.plugin.common.PluginRegistry.Registrar; import java.util.Map; -import java9.util.concurrent.CompletableFuture; +import java.util.concurrent.Future; /** E2EPlugin */ public class E2EPlugin implements MethodCallHandler, FlutterPlugin { private MethodChannel methodChannel; - public static CompletableFuture> testResults = new CompletableFuture<>(); + private static final SettableFuture> testResultsSettable = + SettableFuture.create(); + public static final Future> testResults = testResultsSettable; private static final String CHANNEL = "plugins.flutter.io/e2e"; @@ -49,7 +52,7 @@ public void onDetachedFromEngine(FlutterPluginBinding binding) { public void onMethodCall(MethodCall call, Result result) { if (call.method.equals("allTestsFinished")) { Map results = call.argument("results"); - testResults.complete(results); + testResultsSettable.set(results); result.success(null); } else { result.notImplemented();