33 std::shared_ptr<PlatformViewAndroidJNI> jni_facade,
34 std::shared_ptr<AndroidSurfaceFactory> surface_factory,
40 std::unique_ptr<flutter::EmbeddedViewParams>
params)
override;
47 int64_t flutter_view_id,
49 const std::shared_ptr<impeller::AiksContext>& aiks_context,
50 std::unique_ptr<SurfaceFrame>
frame)
override;
63 raster_thread_merger)
override;
67 double device_pixel_ratio)
override;
73 void EndFrame(
bool should_resubmit_frame,
75 raster_thread_merger)
override;
91 static const int kDefaultMergedLeaseDuration = 10;
97 const std::shared_ptr<PlatformViewAndroidJNI> jni_facade_;
100 const std::shared_ptr<AndroidSurfaceFactory> surface_factory_;
103 const std::unique_ptr<SurfacePool> surface_pool_;
113 double device_pixel_ratio_;
117 std::vector<int64_t> composition_order_;
122 std::unordered_map<int64_t, std::unique_ptr<EmbedderViewSlice>> slices_;
126 std::unordered_map<int64_t, EmbeddedViewParams> view_params_;
129 int64_t previous_frame_view_count_;
134 void DestroySurfaces();
140 bool FrameHasPlatformLayers();
144 std::unique_ptr<SurfaceFrame> CreateSurfaceIfNeeded(
GrDirectContext* context,
Holds state that is shared across Android surfaces.