34 PlatformViewsController platformViewsController = mock(PlatformViewsController.class);
37 FlutterLoader flutterLoader = mock(FlutterLoader.class);
39 FakeFlutterPlugin fakePlugin1 =
new FakeFlutterPlugin();
40 FakeFlutterPlugin fakePlugin2 =
new FakeFlutterPlugin();
46 assertFalse(registry.
has(fakePlugin1.getClass()));
49 registry.
add(fakePlugin1);
52 assertTrue(registry.
has(fakePlugin1.getClass()));
53 assertEquals(1, fakePlugin1.attachmentCallCount);
56 registry.
add(fakePlugin2);
60 assertEquals(1, fakePlugin1.attachmentCallCount);
61 assertEquals(0, fakePlugin1.detachmentCallCount);
63 assertEquals(0, fakePlugin2.attachmentCallCount);
64 assertEquals(0, fakePlugin2.detachmentCallCount);
72 PlatformViewsController platformViewsController = mock(PlatformViewsController.class);
75 FlutterLoader flutterLoader = mock(FlutterLoader.class);
77 ExclusiveAppComponent appComponent = mock(ExclusiveAppComponent.class);
78 Activity activity = mock(Activity.class);
79 when(appComponent.getAppComponent()).thenReturn(activity);
81 Intent intent = mock(Intent.class);
82 when(activity.getIntent()).thenReturn(intent);
84 Lifecycle lifecycle = mock(Lifecycle.class);
85 AtomicBoolean isFirstCall =
new AtomicBoolean(
true);
90 FakeActivityAwareFlutterPlugin fakePlugin =
new FakeActivityAwareFlutterPlugin();
91 registry.
add(fakePlugin);
95 FakeActivityResultListener listener1 =
96 new FakeActivityResultListener(isFirstCall, fakePlugin.binding);
97 FakeActivityResultListener listener2 =
98 new FakeActivityResultListener(isFirstCall, fakePlugin.binding);
100 fakePlugin.binding.addActivityResultListener(listener1);
101 fakePlugin.binding.addActivityResultListener(listener2);
106 assertEquals(1, listener1.callCount);
107 assertEquals(1, listener2.callCount);
113 assertEquals(3, listener1.callCount + listener2.callCount);
121 PlatformViewsController platformViewsController = mock(PlatformViewsController.class);
124 FlutterLoader flutterLoader = mock(FlutterLoader.class);
126 ExclusiveAppComponent appComponent = mock(ExclusiveAppComponent.class);
127 Activity activity = mock(Activity.class);
128 when(appComponent.getAppComponent()).thenReturn(activity);
134 verify(platformViewsController).setSoftwareRendering(
false);
136 Intent intent = mock(Intent.class);
137 when(intent.getBooleanExtra(
"enable-software-rendering",
false)).thenReturn(
false);
138 when(activity.getIntent()).thenReturn(intent);
141 verify(platformViewsController,
times(2)).setSoftwareRendering(
false);
143 when(intent.getBooleanExtra(
"enable-software-rendering",
false)).thenReturn(
true);
146 verify(platformViewsController).setSoftwareRendering(
true);
164 private static class FakeActivityAwareFlutterPlugin
implements FlutterPlugin, ActivityAware {