9 #include "flutter/shell/platform/embedder/embedder.h"
21 G_DEFINE_TYPE(FlSettingsHandler, fl_settings_handler, G_TYPE_OBJECT)
25 switch (color_scheme) {
31 g_assert_not_reached();
45 g_autoptr(FlEngine) engine = FL_ENGINE(g_weak_ref_get(&self->engine));
46 if (engine !=
nullptr) {
49 flags |= kFlutterAccessibilityFeatureDisableAnimations;
52 flags |= kFlutterAccessibilityFeatureHighContrast;
59 FlSettingsHandler*
self = FL_SETTINGS_HANDLER(
object);
61 g_clear_object(&self->channel);
62 g_clear_object(&self->settings);
63 g_weak_ref_clear(&self->engine);
65 G_OBJECT_CLASS(fl_settings_handler_parent_class)->dispose(
object);
75 g_return_val_if_fail(FL_IS_ENGINE(engine),
nullptr);
77 FlSettingsHandler*
self = FL_SETTINGS_HANDLER(
78 g_object_new(fl_settings_handler_get_type(),
nullptr));
80 g_weak_ref_init(&self->engine, engine);
89 g_return_if_fail(FL_IS_SETTINGS_HANDLER(
self));
90 g_return_if_fail(FL_IS_SETTINGS(settings));
92 self->settings = FL_SETTINGS(g_object_ref(settings));
93 g_signal_connect_object(settings,
"changed", G_CALLBACK(
update_settings),
94 self, G_CONNECT_SWAPPED);