diff --git a/packages/espresso/CHANGELOG.md b/packages/espresso/CHANGELOG.md
index 429f93ae3e9..ef94d473802 100644
--- a/packages/espresso/CHANGELOG.md
+++ b/packages/espresso/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.3.0+10
+
+* Removes additional references to v1 Android embedding.
+
## 0.3.0+9
* Updates minimum supported SDK version to Flutter 3.22/Dart 3.4.
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 96cc9d7aead..d18ced46026 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
@@ -38,6 +38,7 @@
import java.util.concurrent.ExecutorService;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
+import javax.annotation.Nonnull;
import okhttp3.OkHttpClient;
import org.hamcrest.Matcher;
@@ -97,14 +98,19 @@ public String getDescription() {
@ExperimentalTestApi
@Override
- public void perform(UiController uiController, View flutterView) {
+ public void perform(UiController uiController, View view) {
+ checkNotNull(view, "The Flutter View instance cannot be null.");
+ if (!(view instanceof FlutterView)) {
+ throw new FlutterProtocolException(
+ String.format("This is not a Flutter View instance [id: %d].", view.getId()));
+ }
+ FlutterView flutterView = (FlutterView) view;
// There could be a gap between when the Flutter view is available in the view hierarchy and the
// engine & Dart isolates are actually up and running. Check whether the first frame has been
// rendered before proceeding in an unblocking way.
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.
-
URI dartVmServiceProtocolUrl =
DartVmServiceUtil.getServiceProtocolUri(FlutterJNI.getVMServiceUri());
String isolateId = DartVmServiceUtil.getDartIsolateId(flutterView);
@@ -171,7 +177,8 @@ public T waitUntilCompleted(long timeout, TimeUnit unit)
return resultFuture.get(timeout, unit);
}
- private static void loopUntilFlutterViewRendered(View flutterView, UiController uiController) {
+ private static void loopUntilFlutterViewRendered(
+ @Nonnull FlutterView flutterView, UiController uiController) {
FlutterViewRenderedIdlingResource idlingResource =
new FlutterViewRenderedIdlingResource(flutterView);
try {
@@ -188,12 +195,12 @@ private static void loopUntilFlutterViewRendered(View flutterView, UiController
*/
static final class FlutterViewRenderedIdlingResource implements IdlingResource {
- private final View flutterView;
+ private final FlutterView flutterView;
// Written from main thread, read from any thread.
private volatile ResourceCallback resourceCallback;
- FlutterViewRenderedIdlingResource(View flutterView) {
- this.flutterView = checkNotNull(flutterView);
+ FlutterViewRenderedIdlingResource(@Nonnull FlutterView flutterView) {
+ this.flutterView = flutterView;
}
@Override
@@ -201,18 +208,9 @@ public String getName() {
return FlutterViewRenderedIdlingResource.class.getSimpleName();
}
- @SuppressWarnings("deprecation")
@Override
public boolean isIdleNow() {
- boolean isIdle = false;
- if (flutterView instanceof FlutterView) {
- isIdle = ((FlutterView) flutterView).hasRenderedFirstFrame();
- } else if (flutterView instanceof io.flutter.view.FlutterView) {
- isIdle = ((io.flutter.view.FlutterView) flutterView).hasRenderedFirstFrame();
- } else {
- throw new FlutterProtocolException(
- String.format("This is not a Flutter View instance [id: %d].", flutterView.getId()));
- }
+ boolean isIdle = flutterView.hasRenderedFirstFrame();
if (isIdle) {
resourceCallback.onTransitionToIdle();
}
diff --git a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/api/SyntheticAction.java b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/api/SyntheticAction.java
index 41af3e99dfd..8c18b2dfb37 100644
--- a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/api/SyntheticAction.java
+++ b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/api/SyntheticAction.java
@@ -20,7 +20,7 @@
* action that's performed via Flutter engine. It's supposed to be used for complex interactions or
* those that are brittle if performed through Android system. Most of the actions should be
* associated with a {@link WidgetMatcher}, but some may not, e.g. an action that checks the
- * rendering status of the entire {@link io.flutter.view.FlutterView}.
+ * rendering status of the entire {@link io.flutter.embedding.android.FlutterView}.
*/
@Beta
public abstract class SyntheticAction {
diff --git a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/internal/protocol/impl/DartVmServiceUtil.java b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/internal/protocol/impl/DartVmServiceUtil.java
index 63c62c4f504..06110350706 100644
--- a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/internal/protocol/impl/DartVmServiceUtil.java
+++ b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/internal/protocol/impl/DartVmServiceUtil.java
@@ -4,17 +4,17 @@
package androidx.test.espresso.flutter.internal.protocol.impl;
-import static com.google.common.base.Preconditions.checkNotNull;
import static com.google.common.base.Strings.isNullOrEmpty;
import android.util.Log;
-import android.view.View;
+import io.flutter.embedding.android.FlutterView;
import io.flutter.embedding.engine.FlutterEngine;
import io.flutter.embedding.engine.dart.DartExecutor;
import java.net.MalformedURLException;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
+import javax.annotation.Nonnull;
/** Util class for dealing with Dart VM service protocols. */
public final class DartVmServiceUtil {
@@ -59,8 +59,7 @@ public static URI getServiceProtocolUri(String observatoryUrl) {
}
/** Gets the Dart isolate ID for the given {@code flutterView}. */
- public static String getDartIsolateId(View flutterView) {
- checkNotNull(flutterView, "The Flutter View instance cannot be null.");
+ public static String getDartIsolateId(FlutterView flutterView) {
String uiIsolateId = getDartExecutor(flutterView).getIsolateServiceId();
Log.d(
TAG,
@@ -71,25 +70,13 @@ public static String getDartIsolateId(View flutterView) {
}
/** Gets the Dart executor for the given {@code flutterView}. */
- @SuppressWarnings("deprecation")
- public static DartExecutor getDartExecutor(View flutterView) {
- checkNotNull(flutterView, "The Flutter View instance cannot be null.");
- // Flutter's embedding is in the phase of rewriting/refactoring. Let's be compatible with both
- // the old and the new FlutterView classes.
- if (flutterView instanceof io.flutter.view.FlutterView) {
- return ((io.flutter.view.FlutterView) flutterView).getDartExecutor();
- } else if (flutterView instanceof io.flutter.embedding.android.FlutterView) {
- FlutterEngine flutterEngine =
- ((io.flutter.embedding.android.FlutterView) flutterView).getAttachedFlutterEngine();
- if (flutterEngine == null) {
- throw new FlutterProtocolException(
- String.format(
- "No Flutter engine attached to the Flutter view [id: %d].", flutterView.getId()));
- }
- return flutterEngine.getDartExecutor();
- } else {
+ public static DartExecutor getDartExecutor(@Nonnull FlutterView flutterView) {
+ FlutterEngine flutterEngine = flutterView.getAttachedFlutterEngine();
+ if (flutterEngine == null) {
throw new FlutterProtocolException(
- String.format("This is not a Flutter View instance [id: %d].", flutterView.getId()));
+ String.format(
+ "No Flutter engine attached to the Flutter view [id: %d].", flutterView.getId()));
}
+ return flutterEngine.getDartExecutor();
}
}
diff --git a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/matcher/FlutterMatchers.java b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/matcher/FlutterMatchers.java
index 9db88665f8e..4c87b51e3ce 100644
--- a/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/matcher/FlutterMatchers.java
+++ b/packages/espresso/android/src/main/java/androidx/test/espresso/flutter/matcher/FlutterMatchers.java
@@ -96,11 +96,9 @@ public void describeTo(Description description) {
description.appendText("is a FlutterView");
}
- @SuppressWarnings("deprecation")
@Override
public boolean matchesSafely(View flutterView) {
- return flutterView instanceof FlutterView
- || (flutterView instanceof io.flutter.view.FlutterView);
+ return flutterView instanceof FlutterView;
}
}
}
diff --git a/packages/espresso/example/android/app/src/main/java/io/flutter/app/FlutterMultiDexApplication.java b/packages/espresso/example/android/app/src/main/java/io/flutter/app/FlutterMultiDexApplication.java
deleted file mode 100644
index d9c1188ab84..00000000000
--- a/packages/espresso/example/android/app/src/main/java/io/flutter/app/FlutterMultiDexApplication.java
+++ /dev/null
@@ -1,27 +0,0 @@
-// Copyright 2013 The Flutter Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Generated file.
-//
-// If you wish to remove Flutter's multidex support, delete this entire file.
-//
-// Modifications to this file should be done in a copy under a different name
-// as this file may be regenerated.
-
-package io.flutter.app;
-
-import android.app.Application;
-import android.content.Context;
-import androidx.annotation.CallSuper;
-import androidx.multidex.MultiDex;
-
-/** Extension of {@link android.app.Application}, adding multidex support. */
-public class FlutterMultiDexApplication extends Application {
- @Override
- @CallSuper
- protected void attachBaseContext(Context base) {
- super.attachBaseContext(base);
- MultiDex.install(this);
- }
-}
diff --git a/packages/espresso/pubspec.yaml b/packages/espresso/pubspec.yaml
index e4c12398c39..1bf40977208 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.3.0+9
+version: 0.3.0+10
environment:
sdk: ^3.4.0
diff --git a/packages/google_maps_flutter/google_maps_flutter/example/android/app/src/main/AndroidManifest.xml b/packages/google_maps_flutter/google_maps_flutter/example/android/app/src/main/AndroidManifest.xml
index 7d7d8ed4cda..3e9d1a8aac2 100644
--- a/packages/google_maps_flutter/google_maps_flutter/example/android/app/src/main/AndroidManifest.xml
+++ b/packages/google_maps_flutter/google_maps_flutter/example/android/app/src/main/AndroidManifest.xml
@@ -16,9 +16,6 @@
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize">
-
diff --git a/packages/google_maps_flutter/google_maps_flutter_android/example/android/app/src/main/AndroidManifest.xml b/packages/google_maps_flutter/google_maps_flutter_android/example/android/app/src/main/AndroidManifest.xml
index 815074bfad9..2055ca8d25e 100644
--- a/packages/google_maps_flutter/google_maps_flutter_android/example/android/app/src/main/AndroidManifest.xml
+++ b/packages/google_maps_flutter/google_maps_flutter_android/example/android/app/src/main/AndroidManifest.xml
@@ -17,9 +17,6 @@
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize">
-
diff --git a/packages/google_sign_in/google_sign_in_android/CHANGELOG.md b/packages/google_sign_in/google_sign_in_android/CHANGELOG.md
index 7bab9b2b5ef..e0e0bf85262 100644
--- a/packages/google_sign_in/google_sign_in_android/CHANGELOG.md
+++ b/packages/google_sign_in/google_sign_in_android/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 6.1.26
+
+* Removes additional references to the v1 Android embedding.
+
## 6.1.25
* Updates Guava to version 33.2.1.
diff --git a/packages/google_sign_in/google_sign_in_android/android/src/main/java/io/flutter/plugins/googlesignin/GoogleSignInPlugin.java b/packages/google_sign_in/google_sign_in_android/android/src/main/java/io/flutter/plugins/googlesignin/GoogleSignInPlugin.java
index 9efe45f6535..c3f03ab2e90 100644
--- a/packages/google_sign_in/google_sign_in_android/android/src/main/java/io/flutter/plugins/googlesignin/GoogleSignInPlugin.java
+++ b/packages/google_sign_in/google_sign_in_android/android/src/main/java/io/flutter/plugins/googlesignin/GoogleSignInPlugin.java
@@ -59,12 +59,6 @@ public void initInstance(
GoogleSignInApi.setup(messenger, delegate);
}
- @VisibleForTesting
- @SuppressWarnings("deprecation")
- public void setUpRegistrar(@NonNull PluginRegistry.Registrar registrar) {
- delegate.setUpRegistrar(registrar);
- }
-
private void dispose() {
delegate = null;
if (messenger != null) {
@@ -346,9 +340,6 @@ public static class Delegate
private static final String DEFAULT_GAMES_SIGN_IN = "SignInOption.games";
private final @NonNull Context context;
- // Only set registrar for v1 embedder.
- @SuppressWarnings("deprecation")
- private PluginRegistry.Registrar registrar;
// Only set activity for v2 embedder. Always access activity from getActivity() method.
private @Nullable Activity activity;
// TODO(stuartmorgan): See whether this can be replaced with background channels.
@@ -364,19 +355,13 @@ public Delegate(@NonNull Context context, @NonNull GoogleSignInWrapper googleSig
this.googleSignInWrapper = googleSignInWrapper;
}
- @SuppressWarnings("deprecation")
- public void setUpRegistrar(@NonNull PluginRegistry.Registrar registrar) {
- this.registrar = registrar;
- registrar.addActivityResultListener(this);
- }
-
public void setActivity(@Nullable Activity activity) {
this.activity = activity;
}
// Only access activity with this method.
public @Nullable Activity getActivity() {
- return registrar != null ? registrar.activity() : activity;
+ return activity;
}
private void checkAndSetPendingOperation(
diff --git a/packages/google_sign_in/google_sign_in_android/android/src/test/java/io/flutter/plugins/googlesignin/GoogleSignInLegacyMethodChannelTest.java b/packages/google_sign_in/google_sign_in_android/android/src/test/java/io/flutter/plugins/googlesignin/GoogleSignInLegacyMethodChannelTest.java
index 4d8c79e22ad..cd5b92217c6 100644
--- a/packages/google_sign_in/google_sign_in_android/android/src/test/java/io/flutter/plugins/googlesignin/GoogleSignInLegacyMethodChannelTest.java
+++ b/packages/google_sign_in/google_sign_in_android/android/src/test/java/io/flutter/plugins/googlesignin/GoogleSignInLegacyMethodChannelTest.java
@@ -22,6 +22,7 @@
import com.google.android.gms.common.api.Scope;
import com.google.android.gms.common.api.Status;
import com.google.android.gms.tasks.Task;
+import io.flutter.embedding.engine.plugins.activity.ActivityPluginBinding;
import io.flutter.plugin.common.BinaryMessenger;
import io.flutter.plugin.common.MethodCall;
import io.flutter.plugin.common.MethodChannel;
@@ -48,10 +49,7 @@ public class GoogleSignInLegacyMethodChannelTest {
@Mock GoogleSignInAccount account;
@Mock GoogleSignInClient mockClient;
@Mock Task mockSignInTask;
-
- @SuppressWarnings("deprecation")
- @Mock
- PluginRegistry.Registrar mockRegistrar;
+ @Mock ActivityPluginBinding mockActivityPluginBinding;
private GoogleSignInPlugin plugin;
private AutoCloseable mockCloseable;
@@ -59,13 +57,11 @@ public class GoogleSignInLegacyMethodChannelTest {
@Before
public void setUp() {
mockCloseable = MockitoAnnotations.openMocks(this);
- when(mockRegistrar.messenger()).thenReturn(mockMessenger);
- when(mockRegistrar.context()).thenReturn(mockContext);
- when(mockRegistrar.activity()).thenReturn(mockActivity);
when(mockContext.getResources()).thenReturn(mockResources);
+ when(mockActivityPluginBinding.getActivity()).thenReturn(mockActivity);
plugin = new GoogleSignInPlugin();
- plugin.initInstance(mockRegistrar.messenger(), mockRegistrar.context(), mockGoogleSignIn);
- plugin.setUpRegistrar(mockRegistrar);
+ plugin.initInstance(mockMessenger, mockContext, mockGoogleSignIn);
+ plugin.onAttachedToActivity(mockActivityPluginBinding);
}
@After
@@ -124,7 +120,7 @@ public void requestScopes_ReturnsFalseIfPermissionDenied() {
ArgumentCaptor captor =
ArgumentCaptor.forClass(PluginRegistry.ActivityResultListener.class);
- verify(mockRegistrar).addActivityResultListener(captor.capture());
+ verify(mockActivityPluginBinding).addActivityResultListener(captor.capture());
PluginRegistry.ActivityResultListener listener = captor.getValue();
when(mockGoogleSignIn.getLastSignedInAccount(mockContext)).thenReturn(account);
@@ -149,7 +145,7 @@ public void requestScopes_ReturnsTrueIfPermissionGranted() {
ArgumentCaptor captor =
ArgumentCaptor.forClass(PluginRegistry.ActivityResultListener.class);
- verify(mockRegistrar).addActivityResultListener(captor.capture());
+ verify(mockActivityPluginBinding).addActivityResultListener(captor.capture());
PluginRegistry.ActivityResultListener listener = captor.getValue();
when(mockGoogleSignIn.getLastSignedInAccount(mockContext)).thenReturn(account);
@@ -172,7 +168,7 @@ public void requestScopes_mayBeCalledRepeatedly_ifAlreadyGranted() {
ArgumentCaptor captor =
ArgumentCaptor.forClass(PluginRegistry.ActivityResultListener.class);
- verify(mockRegistrar).addActivityResultListener(captor.capture());
+ verify(mockActivityPluginBinding).addActivityResultListener(captor.capture());
PluginRegistry.ActivityResultListener listener = captor.getValue();
when(mockGoogleSignIn.getLastSignedInAccount(mockContext)).thenReturn(account);
@@ -198,7 +194,7 @@ public void requestScopes_mayBeCalledRepeatedly_ifNotSignedIn() {
ArgumentCaptor captor =
ArgumentCaptor.forClass(PluginRegistry.ActivityResultListener.class);
- verify(mockRegistrar).addActivityResultListener(captor.capture());
+ verify(mockActivityPluginBinding).addActivityResultListener(captor.capture());
PluginRegistry.ActivityResultListener listener = captor.getValue();
when(mockGoogleSignIn.getLastSignedInAccount(mockContext)).thenReturn(null);
diff --git a/packages/google_sign_in/google_sign_in_android/android/src/test/java/io/flutter/plugins/googlesignin/GoogleSignInTest.java b/packages/google_sign_in/google_sign_in_android/android/src/test/java/io/flutter/plugins/googlesignin/GoogleSignInTest.java
index b317d8042f1..6089a81b354 100644
--- a/packages/google_sign_in/google_sign_in_android/android/src/test/java/io/flutter/plugins/googlesignin/GoogleSignInTest.java
+++ b/packages/google_sign_in/google_sign_in_android/android/src/test/java/io/flutter/plugins/googlesignin/GoogleSignInTest.java
@@ -23,7 +23,6 @@
import com.google.android.gms.common.api.Status;
import com.google.android.gms.tasks.Task;
import io.flutter.plugin.common.BinaryMessenger;
-import io.flutter.plugin.common.PluginRegistry;
import io.flutter.plugins.googlesignin.Messages.FlutterError;
import io.flutter.plugins.googlesignin.Messages.InitParams;
import java.util.Collections;
@@ -50,22 +49,14 @@ public class GoogleSignInTest {
@Mock GoogleSignInClient mockClient;
@Mock Task mockSignInTask;
- @SuppressWarnings("deprecation")
- @Mock
- PluginRegistry.Registrar mockRegistrar;
-
private GoogleSignInPlugin.Delegate plugin;
private AutoCloseable mockCloseable;
@Before
public void setUp() {
mockCloseable = MockitoAnnotations.openMocks(this);
- when(mockRegistrar.messenger()).thenReturn(mockMessenger);
- when(mockRegistrar.context()).thenReturn(mockContext);
- when(mockRegistrar.activity()).thenReturn(mockActivity);
when(mockContext.getResources()).thenReturn(mockResources);
- plugin = new GoogleSignInPlugin.Delegate(mockRegistrar.context(), mockGoogleSignIn);
- plugin.setUpRegistrar(mockRegistrar);
+ plugin = new GoogleSignInPlugin.Delegate(mockContext, mockGoogleSignIn);
}
@After
@@ -101,6 +92,7 @@ public void requestScopes_ResultTrueIfAlreadyGranted() {
@Test
public void requestScopes_RequestsPermissionIfNotGranted() {
Scope requestedScope = new Scope("requestedScope");
+ plugin.setActivity(mockActivity);
when(mockGoogleSignIn.getLastSignedInAccount(mockContext)).thenReturn(account);
when(account.getGrantedScopes()).thenReturn(Collections.singleton(requestedScope));
when(mockGoogleSignIn.hasPermissions(account, requestedScope)).thenReturn(false);
@@ -114,17 +106,13 @@ public void requestScopes_RequestsPermissionIfNotGranted() {
@Test
public void requestScopes_ReturnsFalseIfPermissionDenied() {
Scope requestedScope = new Scope("requestedScope");
- ArgumentCaptor captor =
- ArgumentCaptor.forClass(PluginRegistry.ActivityResultListener.class);
- verify(mockRegistrar).addActivityResultListener(captor.capture());
- PluginRegistry.ActivityResultListener listener = captor.getValue();
when(mockGoogleSignIn.getLastSignedInAccount(mockContext)).thenReturn(account);
when(account.getGrantedScopes()).thenReturn(Collections.singleton(requestedScope));
when(mockGoogleSignIn.hasPermissions(account, requestedScope)).thenReturn(false);
plugin.requestScopes(Collections.singletonList("requestedScope"), boolResult);
- listener.onActivityResult(
+ plugin.onActivityResult(
GoogleSignInPlugin.Delegate.REQUEST_CODE_REQUEST_SCOPE,
Activity.RESULT_CANCELED,
new Intent());
@@ -135,17 +123,13 @@ public void requestScopes_ReturnsFalseIfPermissionDenied() {
@Test
public void requestScopes_ReturnsTrueIfPermissionGranted() {
Scope requestedScope = new Scope("requestedScope");
- ArgumentCaptor captor =
- ArgumentCaptor.forClass(PluginRegistry.ActivityResultListener.class);
- verify(mockRegistrar).addActivityResultListener(captor.capture());
- PluginRegistry.ActivityResultListener listener = captor.getValue();
when(mockGoogleSignIn.getLastSignedInAccount(mockContext)).thenReturn(account);
when(account.getGrantedScopes()).thenReturn(Collections.singleton(requestedScope));
when(mockGoogleSignIn.hasPermissions(account, requestedScope)).thenReturn(false);
plugin.requestScopes(Collections.singletonList("requestedScope"), boolResult);
- listener.onActivityResult(
+ plugin.onActivityResult(
GoogleSignInPlugin.Delegate.REQUEST_CODE_REQUEST_SCOPE, Activity.RESULT_OK, new Intent());
verify(boolResult).success(true);
@@ -155,20 +139,16 @@ public void requestScopes_ReturnsTrueIfPermissionGranted() {
public void requestScopes_mayBeCalledRepeatedly_ifAlreadyGranted() {
List requestedScopes = Collections.singletonList("requestedScope");
Scope requestedScope = new Scope("requestedScope");
- ArgumentCaptor captor =
- ArgumentCaptor.forClass(PluginRegistry.ActivityResultListener.class);
- verify(mockRegistrar).addActivityResultListener(captor.capture());
- PluginRegistry.ActivityResultListener listener = captor.getValue();
when(mockGoogleSignIn.getLastSignedInAccount(mockContext)).thenReturn(account);
when(account.getGrantedScopes()).thenReturn(Collections.singleton(requestedScope));
when(mockGoogleSignIn.hasPermissions(account, requestedScope)).thenReturn(false);
plugin.requestScopes(requestedScopes, boolResult);
- listener.onActivityResult(
+ plugin.onActivityResult(
GoogleSignInPlugin.Delegate.REQUEST_CODE_REQUEST_SCOPE, Activity.RESULT_OK, new Intent());
plugin.requestScopes(requestedScopes, boolResult);
- listener.onActivityResult(
+ plugin.onActivityResult(
GoogleSignInPlugin.Delegate.REQUEST_CODE_REQUEST_SCOPE, Activity.RESULT_OK, new Intent());
verify(boolResult, times(2)).success(true);
@@ -177,18 +157,14 @@ public void requestScopes_mayBeCalledRepeatedly_ifAlreadyGranted() {
@Test
public void requestScopes_mayBeCalledRepeatedly_ifNotSignedIn() {
List requestedScopes = Collections.singletonList("requestedScope");
- ArgumentCaptor captor =
- ArgumentCaptor.forClass(PluginRegistry.ActivityResultListener.class);
- verify(mockRegistrar).addActivityResultListener(captor.capture());
- PluginRegistry.ActivityResultListener listener = captor.getValue();
when(mockGoogleSignIn.getLastSignedInAccount(mockContext)).thenReturn(null);
plugin.requestScopes(requestedScopes, boolResult);
- listener.onActivityResult(
+ plugin.onActivityResult(
GoogleSignInPlugin.Delegate.REQUEST_CODE_REQUEST_SCOPE, Activity.RESULT_OK, new Intent());
plugin.requestScopes(requestedScopes, boolResult);
- listener.onActivityResult(
+ plugin.onActivityResult(
GoogleSignInPlugin.Delegate.REQUEST_CODE_REQUEST_SCOPE, Activity.RESULT_OK, new Intent());
ArgumentCaptor resultCaptor = ArgumentCaptor.forClass(Throwable.class);
diff --git a/packages/google_sign_in/google_sign_in_android/pubspec.yaml b/packages/google_sign_in/google_sign_in_android/pubspec.yaml
index 14806fe24a9..8d583e406d7 100644
--- a/packages/google_sign_in/google_sign_in_android/pubspec.yaml
+++ b/packages/google_sign_in/google_sign_in_android/pubspec.yaml
@@ -2,7 +2,7 @@ name: google_sign_in_android
description: Android implementation of the google_sign_in plugin.
repository: https://github.com/flutter/packages/tree/main/packages/google_sign_in/google_sign_in_android
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+google_sign_in%22
-version: 6.1.25
+version: 6.1.26
environment:
sdk: ^3.4.0
diff --git a/packages/image_picker/image_picker_android/android/src/test/java/io/flutter/plugins/imagepicker/ImagePickerPluginTest.java b/packages/image_picker/image_picker_android/android/src/test/java/io/flutter/plugins/imagepicker/ImagePickerPluginTest.java
index e759c21e35d..dc1f9dd502f 100644
--- a/packages/image_picker/image_picker_android/android/src/test/java/io/flutter/plugins/imagepicker/ImagePickerPluginTest.java
+++ b/packages/image_picker/image_picker_android/android/src/test/java/io/flutter/plugins/imagepicker/ImagePickerPluginTest.java
@@ -78,10 +78,6 @@ public class ImagePickerPluginTest {
.setCamera(Messages.SourceCamera.REAR)
.build();
- @SuppressWarnings("deprecation")
- @Mock
- io.flutter.plugin.common.PluginRegistry.Registrar mockRegistrar;
-
@Mock ActivityPluginBinding mockActivityBinding;
@Mock FlutterPluginBinding mockPluginBinding;
@@ -97,7 +93,6 @@ public class ImagePickerPluginTest {
@Before
public void setUp() {
mockCloseable = MockitoAnnotations.openMocks(this);
- when(mockRegistrar.context()).thenReturn(mockApplication);
when(mockActivityBinding.getActivity()).thenReturn(mockActivity);
when(mockPluginBinding.getApplicationContext()).thenReturn(mockApplication);
plugin = new ImagePickerPlugin(mockImagePickerDelegate, mockActivity);
diff --git a/packages/in_app_purchase/in_app_purchase_android/android/src/test/java/io/flutter/plugins/inapppurchase/InAppPurchasePluginTest.java b/packages/in_app_purchase/in_app_purchase_android/android/src/test/java/io/flutter/plugins/inapppurchase/InAppPurchasePluginTest.java
index b2af5e12b5c..c12045b0650 100644
--- a/packages/in_app_purchase/in_app_purchase_android/android/src/test/java/io/flutter/plugins/inapppurchase/InAppPurchasePluginTest.java
+++ b/packages/in_app_purchase/in_app_purchase_android/android/src/test/java/io/flutter/plugins/inapppurchase/InAppPurchasePluginTest.java
@@ -14,7 +14,6 @@
import io.flutter.embedding.engine.plugins.FlutterPlugin;
import io.flutter.embedding.engine.plugins.activity.ActivityPluginBinding;
import io.flutter.plugin.common.BinaryMessenger;
-import io.flutter.plugin.common.PluginRegistry;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -26,10 +25,6 @@ public class InAppPurchasePluginTest {
static final String PROXY_PACKAGE_KEY = "PROXY_PACKAGE";
- @SuppressWarnings("deprecation")
- @Mock
- PluginRegistry.Registrar mockRegistrar; // For v1 embedding
-
@Mock Activity activity;
@Mock Context context;
@Mock BinaryMessenger mockMessenger;
@@ -43,9 +38,6 @@ public class InAppPurchasePluginTest {
@Before
public void setUp() {
mockCloseable = MockitoAnnotations.openMocks(this);
- when(mockRegistrar.activity()).thenReturn(activity);
- when(mockRegistrar.messenger()).thenReturn(mockMessenger);
- when(mockRegistrar.context()).thenReturn(context);
when(activity.getIntent()).thenReturn(mockIntent);
when(activityPluginBinding.getActivity()).thenReturn(activity);
when(flutterPluginBinding.getBinaryMessenger()).thenReturn(mockMessenger);
diff --git a/packages/palette_generator/example/android/app/src/main/AndroidManifest.xml b/packages/palette_generator/example/android/app/src/main/AndroidManifest.xml
index cce53eff225..7399bc62dd5 100644
--- a/packages/palette_generator/example/android/app/src/main/AndroidManifest.xml
+++ b/packages/palette_generator/example/android/app/src/main/AndroidManifest.xml
@@ -17,13 +17,6 @@
android:hardwareAccelerated="true"
android:exported="true"
android:windowSoftInputMode="adjustResize">
-
-
diff --git a/packages/quick_actions/quick_actions/example/android/app/src/main/AndroidManifest.xml b/packages/quick_actions/quick_actions/example/android/app/src/main/AndroidManifest.xml
index 4f384b7c6b1..20969735d86 100644
--- a/packages/quick_actions/quick_actions/example/android/app/src/main/AndroidManifest.xml
+++ b/packages/quick_actions/quick_actions/example/android/app/src/main/AndroidManifest.xml
@@ -4,9 +4,6 @@
-
-
-
-
diff --git a/packages/webview_flutter/webview_flutter_android/example/android/app/src/main/AndroidManifest.xml b/packages/webview_flutter/webview_flutter_android/example/android/app/src/main/AndroidManifest.xml
index b3e1d11fded..8a28579c379 100644
--- a/packages/webview_flutter/webview_flutter_android/example/android/app/src/main/AndroidManifest.xml
+++ b/packages/webview_flutter/webview_flutter_android/example/android/app/src/main/AndroidManifest.xml
@@ -15,13 +15,6 @@
android:name="io.flutter.embedding.android.FlutterActivity"
android:theme="@style/LaunchTheme"
android:windowSoftInputMode="adjustResize">
-
-