diff --git a/shell/platform/tizen/accessibility_settings.cc b/shell/platform/tizen/accessibility_settings.cc index 4d8dde0a06e85..ad08b0f68084f 100644 --- a/shell/platform/tizen/accessibility_settings.cc +++ b/shell/platform/tizen/accessibility_settings.cc @@ -41,7 +41,7 @@ AccessibilitySettings::AccessibilitySettings(FlutterTizenEngine* engine) SYSTEM_SETTINGS_KEY_MENU_SYSTEM_ACCESSIBILITY_HIGHCONTRAST), &high_contrast_enabled); if (result == SYSTEM_SETTINGS_ERROR_NONE) { - engine_->EnableAccessibilityFeature(high_contrast_enabled); + engine_->UpdateAccessibilityFeatures(false, high_contrast_enabled); } else { FT_LOG(Error) << "Failed to get value of accessibility high contrast."; } @@ -79,7 +79,7 @@ void AccessibilitySettings::OnHighContrastStateChanged( return; } - self->engine_->EnableAccessibilityFeature(enabled); + self->engine_->UpdateAccessibilityFeatures(false, enabled); #endif } diff --git a/shell/platform/tizen/flutter_tizen_engine.cc b/shell/platform/tizen/flutter_tizen_engine.cc index 177693f72c090..d40ec71efb01a 100644 --- a/shell/platform/tizen/flutter_tizen_engine.cc +++ b/shell/platform/tizen/flutter_tizen_engine.cc @@ -485,26 +485,15 @@ bool FlutterTizenEngine::MarkExternalTextureFrameAvailable(int64_t texture_id) { engine_, texture_id) == kSuccess); } -// Set bold font when accessibility high contrast state is -// changed. -void FlutterTizenEngine::EnableAccessibilityFeature(bool bold_text) { - if (engine_ == nullptr) { - return; - } - - if (bold_text) { - embedder_api_.UpdateAccessibilityFeatures( - engine_, kFlutterAccessibilityFeatureBoldText); - } else { - embedder_api_.UpdateAccessibilityFeatures(engine_, - FlutterAccessibilityFeature(0)); - } +void FlutterTizenEngine::UpdateAccessibilityFeatures(bool invert_colors, + bool high_contrast) { + int32_t flags = 0; + flags |= invert_colors ? kFlutterAccessibilityFeatureInvertColors : 0; + flags |= high_contrast ? kFlutterAccessibilityFeatureHighContrast : 0; + embedder_api_.UpdateAccessibilityFeatures(engine_, + FlutterAccessibilityFeature(flags)); } -// The Flutter Engine calls out to this function when new platform messages -// are available. - -// Converts a FlutterPlatformMessage to an equivalent FlutterDesktopMessage. FlutterDesktopMessage FlutterTizenEngine::ConvertToDesktopMessage( const FlutterPlatformMessage& engine_message) { FlutterDesktopMessage message = {}; diff --git a/shell/platform/tizen/flutter_tizen_engine.h b/shell/platform/tizen/flutter_tizen_engine.h index cd8b8226b1d19..78c464d890787 100644 --- a/shell/platform/tizen/flutter_tizen_engine.h +++ b/shell/platform/tizen/flutter_tizen_engine.h @@ -186,8 +186,8 @@ class FlutterTizenEngine : public TizenRenderer::Delegate { void SetSemanticsEnabled(bool enabled); #endif - // Set bold font when accessibility high contrast state is changed. - void EnableAccessibilityFeature(bool bold_text); + // Notifies the engine about enabled accessibility features. + void UpdateAccessibilityFeatures(bool invert_colors, bool high_contrast); private: friend class EngineModifier; @@ -195,6 +195,7 @@ class FlutterTizenEngine : public TizenRenderer::Delegate { // Whether the engine is running in headed or headless mode. bool IsHeaded() { return renderer_ != nullptr; } + // Converts a FlutterPlatformMessage to an equivalent FlutterDesktopMessage. FlutterDesktopMessage ConvertToDesktopMessage( const FlutterPlatformMessage& engine_message);