Skip to content

Commit 7501f63

Browse files
manual roll and fix (flutter#3903)
Manual roll with small fix to green tree --------- Co-authored-by: Maurice Parrish <[email protected]>
1 parent 3ee170b commit 7501f63

File tree

4 files changed

+23
-77
lines changed

4 files changed

+23
-77
lines changed

.ci/flutter_master.version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
db6074ade4e4fde664e6258d671faf356e1b6e85
1+
0b657236cae4c8f1c63cb3025aa9b92cf2795f74

packages/camera/camera_android/example/pubspec.yaml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,3 @@ dev_dependencies:
3232

3333
flutter:
3434
uses-material-design: true
35-
36-
# FOR TESTING ONLY. DO NOT MERGE.
37-
dependency_overrides:
38-
camera_android:
39-
path: ../../../camera/camera_android

packages/flutter_plugin_android_lifecycle/android/src/test/java/io/flutter/embedding/engine/plugins/lifecycle/FlutterLifecycleAdapterTest.java

Lines changed: 8 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,10 @@
55
package io.flutter.embedding.engine.plugins.lifecycle;
66

77
import static org.junit.Assert.assertEquals;
8+
import static org.mockito.Mockito.when;
89

9-
import android.app.Activity;
10-
import androidx.annotation.NonNull;
1110
import androidx.lifecycle.Lifecycle;
1211
import io.flutter.embedding.engine.plugins.activity.ActivityPluginBinding;
13-
import io.flutter.plugin.common.PluginRegistry;
1412
import org.junit.After;
1513
import org.junit.Before;
1614
import org.junit.Test;
@@ -19,6 +17,7 @@
1917

2018
public class FlutterLifecycleAdapterTest {
2119
@Mock Lifecycle lifecycle;
20+
@Mock ActivityPluginBinding mockActivityPluginBinding;
2221

2322
AutoCloseable mockCloseable;
2423

@@ -34,66 +33,14 @@ public void tearDown() throws Exception {
3433

3534
@Test
3635
public void getActivityLifecycle() {
37-
TestActivityPluginBinding binding = new TestActivityPluginBinding(lifecycle);
36+
when(mockActivityPluginBinding.getLifecycle())
37+
.thenReturn(new HiddenLifecycleReference(lifecycle));
3838

39-
Lifecycle parsedLifecycle = FlutterLifecycleAdapter.getActivityLifecycle(binding);
39+
when(mockActivityPluginBinding.getActivity()).thenReturn(null);
4040

41-
assertEquals(lifecycle, parsedLifecycle);
42-
}
43-
44-
private static final class TestActivityPluginBinding implements ActivityPluginBinding {
45-
private final Lifecycle lifecycle;
46-
47-
TestActivityPluginBinding(Lifecycle lifecycle) {
48-
this.lifecycle = lifecycle;
49-
}
50-
51-
@NonNull
52-
public Object getLifecycle() {
53-
return new HiddenLifecycleReference(lifecycle);
54-
}
55-
56-
@Override
57-
public Activity getActivity() {
58-
return null;
59-
}
60-
61-
@Override
62-
public void addRequestPermissionsResultListener(
63-
@NonNull PluginRegistry.RequestPermissionsResultListener listener) {}
64-
65-
@Override
66-
public void removeRequestPermissionsResultListener(
67-
@NonNull PluginRegistry.RequestPermissionsResultListener listener) {}
41+
Lifecycle parsedLifecycle =
42+
FlutterLifecycleAdapter.getActivityLifecycle(mockActivityPluginBinding);
6843

69-
@Override
70-
public void addActivityResultListener(
71-
@NonNull PluginRegistry.ActivityResultListener listener) {}
72-
73-
@Override
74-
public void removeActivityResultListener(
75-
@NonNull PluginRegistry.ActivityResultListener listener) {}
76-
77-
@Override
78-
public void addOnNewIntentListener(@NonNull PluginRegistry.NewIntentListener listener) {}
79-
80-
@Override
81-
public void removeOnNewIntentListener(@NonNull PluginRegistry.NewIntentListener listener) {}
82-
83-
@Override
84-
public void addOnUserLeaveHintListener(
85-
@NonNull PluginRegistry.UserLeaveHintListener listener) {}
86-
87-
@Override
88-
public void removeOnUserLeaveHintListener(
89-
@NonNull PluginRegistry.UserLeaveHintListener listener) {}
90-
91-
@Override
92-
public void addOnSaveStateListener(
93-
@NonNull ActivityPluginBinding.OnSaveInstanceStateListener listener) {}
94-
95-
@Override
96-
public void removeOnSaveStateListener(
97-
@NonNull ActivityPluginBinding.OnSaveInstanceStateListener listener) {}
44+
assertEquals(lifecycle, parsedLifecycle);
9845
}
9946
}

packages/in_app_purchase/in_app_purchase_android/test/billing_client_wrappers/billing_client_manager_test.dart

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -51,25 +51,29 @@ void main() {
5151
expect(stubPlatform.countPreviousCalls(startConnectionCall), equals(1));
5252
});
5353

54-
test('waits for connection before executing the operations', () {
55-
bool called1 = false;
56-
bool called2 = false;
54+
test('waits for connection before executing the operations', () async {
55+
final Completer<void> calledCompleter1 = Completer<void>();
56+
final Completer<void> calledCompleter2 = Completer<void>();
5757
manager.runWithClient((BillingClient _) async {
58-
called1 = true;
58+
calledCompleter1.complete();
5959
return const BillingResultWrapper(responseCode: BillingResponse.ok);
6060
});
6161
manager.runWithClientNonRetryable(
62-
(BillingClient _) async => called2 = true,
62+
(BillingClient _) async => calledCompleter2.complete(),
6363
);
64-
expect(called1, equals(false));
65-
expect(called2, equals(false));
64+
expect(calledCompleter1.isCompleted, equals(false));
65+
expect(calledCompleter1.isCompleted, equals(false));
6666
connectedCompleter.complete();
67-
expect(called1, equals(true));
68-
expect(called2, equals(true));
67+
await expectLater(calledCompleter1.future, completes);
68+
await expectLater(calledCompleter2.future, completes);
6969
});
7070

71-
test('re-connects when client sends onBillingServiceDisconnected', () {
71+
test('re-connects when client sends onBillingServiceDisconnected',
72+
() async {
7273
connectedCompleter.complete();
74+
// Ensures all asynchronous connected code finishes.
75+
await manager.runWithClientNonRetryable((_) async {});
76+
7377
manager.client.callHandler(
7478
const MethodCall(onBillingServiceDisconnectedCallback,
7579
<String, dynamic>{'handle': 0}),

0 commit comments

Comments
 (0)