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,
48 GrDirectContext* context,
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;
93 static const int kDefaultMergedLeaseDuration = 10;
99 const std::shared_ptr<PlatformViewAndroidJNI> jni_facade_;
102 const std::shared_ptr<AndroidSurfaceFactory> surface_factory_;
105 const std::unique_ptr<SurfacePool> surface_pool_;
115 double device_pixel_ratio_;
119 std::vector<int64_t> composition_order_;
124 std::unordered_map<int64_t, std::unique_ptr<EmbedderViewSlice>> slices_;
128 std::unordered_map<int64_t, EmbeddedViewParams> view_params_;
131 int64_t previous_frame_view_count_;
136 void DestroySurfaces();
142 bool FrameHasPlatformLayers();
146 std::unique_ptr<SurfaceFrame> CreateSurfaceIfNeeded(GrDirectContext* context,
Holds state that is shared across Android surfaces.