8#include "gmock/gmock.h"
9#include "gtest/gtest.h"
15class MockPlatformViewAndroidJNI :
public PlatformViewAndroidJNI {
18 FlutterViewHandlePlatformMessage,
19 (std::unique_ptr<flutter::PlatformMessage>
message,
23 FlutterViewHandlePlatformMessageResponse,
24 (
int responseId, std::unique_ptr<fml::Mapping>
data),
27 FlutterViewUpdateSemantics,
28 (std::vector<uint8_t> buffer,
29 std::vector<std::string> strings,
30 std::vector<std::vector<uint8_t>> string_attribute_args),
33 FlutterViewSetApplicationLocale,
34 (
const std::string locale),
37 FlutterViewUpdateCustomAccessibilityActions,
38 (std::vector<uint8_t> actions_buffer,
39 std::vector<std::string> strings),
41 MOCK_METHOD(
void, FlutterViewOnFirstFrame, (), (
override));
42 MOCK_METHOD(
void, FlutterViewOnPreEngineRestart, (), (
override));
44 SurfaceTextureAttachToGLContext,
48 SurfaceTextureShouldUpdate,
52 SurfaceTextureUpdateTexImage,
56 SurfaceTextureGetTransformMatrix,
60 SurfaceTextureDetachFromGLContext,
64 ImageProducerTextureEntryAcquireLatestImage,
68 ImageGetHardwareBuffer,
77 FlutterViewOnDisplayPlatformView,
85 MutatorsStack mutators_stack),
88 FlutterViewDisplayOverlaySurface,
91 MOCK_METHOD(
void, FlutterViewBeginFrame, (), (
override));
92 MOCK_METHOD(
void, FlutterViewEndFrame, (), (
override));
93 MOCK_METHOD(std::unique_ptr<PlatformViewAndroidJNI::OverlayMetadata>,
94 FlutterViewCreateOverlaySurface,
97 MOCK_METHOD(
void, FlutterViewDestroyOverlaySurfaces, (), (
override));
98 MOCK_METHOD(ASurfaceTransaction*, createTransaction, (), (
override));
99 MOCK_METHOD(
void, swapTransaction, (), (
override));
100 MOCK_METHOD(
void, applyTransaction, (), (
override));
101 MOCK_METHOD(
void, destroyOverlaySurface2, (), (
override));
102 MOCK_METHOD(std::unique_ptr<PlatformViewAndroidJNI::OverlayMetadata>,
103 createOverlaySurface2,
107 onDisplayPlatformView2,
115 MutatorsStack mutators_stack),
117 MOCK_METHOD(
void, hidePlatformView2, (int32_t
view_id), (
override));
118 MOCK_METHOD(
void, onEndFrame2, (), (
override));
119 MOCK_METHOD(
void, showOverlaySurface2, (), (
override));
120 MOCK_METHOD(
void, hideOverlaySurface2, (), (
override));
121 MOCK_METHOD(std::unique_ptr<std::vector<std::string>>,
122 FlutterViewComputePlatformResolvedLocale,
123 (std::vector<std::string> supported_locales_data),
125 MOCK_METHOD(
double, GetDisplayRefreshRate, (), (
override));
126 MOCK_METHOD(
double, GetDisplayWidth, (), (
override));
127 MOCK_METHOD(
double, GetDisplayHeight, (), (
override));
128 MOCK_METHOD(
double, GetDisplayDensity, (), (
override));
130 RequestDartDeferredLibrary,
131 (
int loading_unit_id),
134 FlutterViewGetScaledFontSize,
135 (
double font_size,
int configuration_id),
144 MOCK_METHOD(
void, Complete, (std::unique_ptr<fml::Mapping>
data), (
override));
145 MOCK_METHOD(
void, CompleteEmpty, (), (
override));
152 auto jni = std::make_shared<MockPlatformViewAndroidJNI>();
153 auto holder = std::make_unique<AndroidShellHolder>(
155 EXPECT_NE(holder.get(),
nullptr);
156 EXPECT_TRUE(holder->IsValid());
157 EXPECT_NE(holder->GetPlatformView().get(),
nullptr);
158 auto window = fml::MakeRefCounted<AndroidNativeWindow>(
160 holder->GetPlatformView()->NotifyCreated(
window);
166 auto jni = std::make_shared<MockPlatformViewAndroidJNI>();
167 auto holder = std::make_unique<AndroidShellHolder>(
169 EXPECT_NE(holder.get(),
nullptr);
170 EXPECT_TRUE(holder->IsValid());
171 EXPECT_NE(holder->GetPlatformView().get(),
nullptr);
172 auto window = fml::MakeRefCounted<AndroidNativeWindow>(
174 holder->GetPlatformView()->NotifyCreated(
window);
175 EXPECT_TRUE(holder->GetPlatformMessageHandler());
176 size_t data_size = 4;
180 MockPlatformMessageResponse::Create();
181 auto message = std::make_unique<PlatformMessage>(
182 "foo", std::move(bytes), response);
185 FlutterViewHandlePlatformMessage(::testing::_, response_id));
186 EXPECT_CALL(*response, CompleteEmpty());
187 holder->GetPlatformMessageHandler()->HandlePlatformMessage(
189 holder->GetPlatformMessageHandler()
190 ->InvokePlatformMessageEmptyResponseCallback(response_id);
195 auto jni = std::make_shared<MockPlatformViewAndroidJNI>();
196 auto holder = std::make_unique<AndroidShellHolder>(
198 auto window = fml::MakeRefCounted<AndroidNativeWindow>(
200 holder->GetPlatformView()->NotifyCreated(
window);
203 holder->GetShellForTesting()->GetTaskRunners().GetUITaskRunner(),
204 holder->GetShellForTesting()->GetTaskRunners().GetPlatformTaskRunner());
211 auto jni = std::make_shared<MockPlatformViewAndroidJNI>();
212 auto holder = std::make_unique<AndroidShellHolder>(
214 auto window = fml::MakeRefCounted<AndroidNativeWindow>(
216 holder->GetPlatformView()->NotifyCreated(
window);
219 holder->GetShellForTesting()->GetTaskRunners().GetUITaskRunner(),
220 holder->GetShellForTesting()->GetTaskRunners().GetPlatformTaskRunner());
This is the Android owner of the core engine Shell.
A Mapping like NonOwnedMapping, but uses Free as its release proc.
FlutterVulkanImage * image
G_BEGIN_DECLS GBytes * message
G_BEGIN_DECLS FlutterViewId view_id
TEST(NativeAssetsManagerTest, NoAvailableAssets)
std::nullptr_t JavaLocalRef
DEF_SWITCHES_START aot vmservice shared library Name of the *so containing AOT compiled Dart assets for launching the service isolate vm snapshot data
RefPtr< T > AdoptRef(T *ptr)
ScopedObject< Object > Create(CtorArgs &&... args)
bool enable_software_rendering
MergedPlatformUIThread merged_platform_ui_thread