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 FlutterViewSetSemanticsTreeEnabled,
37 FlutterViewSetApplicationLocale,
38 (
const std::string locale),
41 FlutterViewUpdateCustomAccessibilityActions,
42 (std::vector<uint8_t> actions_buffer,
43 std::vector<std::string> strings),
45 MOCK_METHOD(
void, FlutterViewOnFirstFrame, (), (
override));
46 MOCK_METHOD(
void, FlutterViewOnPreEngineRestart, (), (
override));
48 SurfaceTextureAttachToGLContext,
52 SurfaceTextureShouldUpdate,
56 SurfaceTextureUpdateTexImage,
60 SurfaceTextureGetTransformMatrix,
64 SurfaceTextureDetachFromGLContext,
68 ImageProducerTextureEntryAcquireLatestImage,
72 ImageGetHardwareBuffer,
81 FlutterViewOnDisplayPlatformView,
89 MutatorsStack mutators_stack),
92 FlutterViewDisplayOverlaySurface,
95 MOCK_METHOD(
void, FlutterViewBeginFrame, (), (
override));
96 MOCK_METHOD(
void, FlutterViewEndFrame, (), (
override));
97 MOCK_METHOD(std::unique_ptr<PlatformViewAndroidJNI::OverlayMetadata>,
98 FlutterViewCreateOverlaySurface,
101 MOCK_METHOD(
void, FlutterViewDestroyOverlaySurfaces, (), (
override));
102 MOCK_METHOD(ASurfaceTransaction*, createTransaction, (), (
override));
103 MOCK_METHOD(
void, swapTransaction, (), (
override));
104 MOCK_METHOD(
void, applyTransaction, (), (
override));
105 MOCK_METHOD(
void, destroyOverlaySurface2, (), (
override));
106 MOCK_METHOD(std::unique_ptr<PlatformViewAndroidJNI::OverlayMetadata>,
107 createOverlaySurface2,
111 onDisplayPlatformView2,
119 MutatorsStack mutators_stack),
121 MOCK_METHOD(
void, hidePlatformView2, (int32_t
view_id), (
override));
122 MOCK_METHOD(
void, onEndFrame2, (), (
override));
123 MOCK_METHOD(
void, showOverlaySurface2, (), (
override));
124 MOCK_METHOD(
void, hideOverlaySurface2, (), (
override));
125 MOCK_METHOD(std::unique_ptr<std::vector<std::string>>,
126 FlutterViewComputePlatformResolvedLocale,
127 (std::vector<std::string> supported_locales_data),
129 MOCK_METHOD(
double, GetDisplayRefreshRate, (), (
override));
130 MOCK_METHOD(
double, GetDisplayWidth, (), (
override));
131 MOCK_METHOD(
double, GetDisplayHeight, (), (
override));
132 MOCK_METHOD(
double, GetDisplayDensity, (), (
override));
134 RequestDartDeferredLibrary,
135 (
int loading_unit_id),
138 FlutterViewGetScaledFontSize,
139 (
double font_size,
int configuration_id),
142 MaybeResizeSurfaceView,
152 MOCK_METHOD(
void, Complete, (std::unique_ptr<fml::Mapping>
data), (
override));
153 MOCK_METHOD(
void, CompleteEmpty, (), (
override));
160 auto jni = std::make_shared<MockPlatformViewAndroidJNI>();
161 auto holder = std::make_unique<AndroidShellHolder>(
163 EXPECT_NE(holder.get(),
nullptr);
164 EXPECT_TRUE(holder->IsValid());
165 EXPECT_NE(holder->GetPlatformView().get(),
nullptr);
166 auto window = fml::MakeRefCounted<AndroidNativeWindow>(
168 holder->GetPlatformView()->NotifyCreated(
window);
174 auto jni = std::make_shared<MockPlatformViewAndroidJNI>();
175 auto holder = std::make_unique<AndroidShellHolder>(
177 EXPECT_NE(holder.get(),
nullptr);
178 EXPECT_TRUE(holder->IsValid());
179 EXPECT_NE(holder->GetPlatformView().get(),
nullptr);
180 auto window = fml::MakeRefCounted<AndroidNativeWindow>(
182 holder->GetPlatformView()->NotifyCreated(
window);
183 EXPECT_TRUE(holder->GetPlatformMessageHandler());
184 size_t data_size = 4;
188 MockPlatformMessageResponse::Create();
189 auto message = std::make_unique<PlatformMessage>(
190 "foo", std::move(bytes), response);
193 FlutterViewHandlePlatformMessage(::testing::_, response_id));
194 EXPECT_CALL(*response, CompleteEmpty());
195 holder->GetPlatformMessageHandler()->HandlePlatformMessage(
197 holder->GetPlatformMessageHandler()
198 ->InvokePlatformMessageEmptyResponseCallback(response_id);
203 auto jni = std::make_shared<MockPlatformViewAndroidJNI>();
204 auto holder = std::make_unique<AndroidShellHolder>(
206 auto window = fml::MakeRefCounted<AndroidNativeWindow>(
208 holder->GetPlatformView()->NotifyCreated(
window);
211 holder->GetShellForTesting()->GetTaskRunners().GetUITaskRunner(),
212 holder->GetShellForTesting()->GetTaskRunners().GetPlatformTaskRunner());
219 auto jni = std::make_shared<MockPlatformViewAndroidJNI>();
220 auto holder = std::make_unique<AndroidShellHolder>(
222 auto window = fml::MakeRefCounted<AndroidNativeWindow>(
224 holder->GetPlatformView()->NotifyCreated(
window);
227 holder->GetShellForTesting()->GetTaskRunners().GetUITaskRunner(),
228 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 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