38 std::shared_ptr<PlatformViewAndroidJNI> jni_facade,
39 std::shared_ptr<AndroidSurfaceFactory> surface_factory,
45 std::unique_ptr<flutter::EmbeddedViewParams>
params)
override;
52 int64_t flutter_view_id,
53 GrDirectContext* context,
54 const std::shared_ptr<impeller::AiksContext>& aiks_context,
55 std::unique_ptr<SurfaceFrame> frame)
override;
68 raster_thread_merger)
override;
72 double device_pixel_ratio)
override;
78 void EndFrame(
bool should_resubmit_frame,
80 raster_thread_merger)
override;
92 const std::unordered_map<int64_t, EmbeddedViewParams>& view_params);
100 static const int kDefaultMergedLeaseDuration = 10;
106 const std::shared_ptr<PlatformViewAndroidJNI> jni_facade_;
109 const std::shared_ptr<AndroidSurfaceFactory> surface_factory_;
112 const std::unique_ptr<SurfacePool> surface_pool_;
118 std::atomic_bool overlay_layer_is_shown_{
false};
125 double device_pixel_ratio_;
129 std::vector<int64_t> composition_order_;
134 std::unordered_map<int64_t, std::unique_ptr<EmbedderViewSlice>> slices_;
138 std::unordered_map<int64_t, EmbeddedViewParams> view_params_;
141 absl::flat_hash_set<int64_t> views_visible_last_frame_;
146 void DestroySurfaces();
152 bool FrameHasPlatformLayers();
155 void ShowOverlayLayerIfNeeded();
159 void HideOverlayLayerIfNeeded();
Holds state that is shared across Android surfaces.