99
1010// SYSTEM_SETTINGS_KEY_MENU_SYSTEM_ACCESSIBILITY_HIGHCONTRAST = 10059 has been
1111// defined in system_settings_keys.h only for TV profile.
12- #define SYSTEM_SETTINGS_KEY_MENU_SYSTEM_ACCESSIBILITY_HIGHCONTRAST 10059
12+ #define SYSTEM_SETTINGS_KEY_ACCESSIBILITY_HIGHCONTRAST \
13+ system_settings_key_e (10059 )
1314
1415namespace flutter {
1516
1617AccessibilitySettings::AccessibilitySettings (FlutterTizenEngine* engine)
1718 : engine_ (engine) {
1819#ifndef WEARABLE_PROFILE
1920 bool tts_enabled = false ;
20- int result = system_settings_get_value_bool (
21+ int ret = system_settings_get_value_bool (
2122 SYSTEM_SETTINGS_KEY_ACCESSIBILITY_TTS, &tts_enabled);
22- if (result == SYSTEM_SETTINGS_ERROR_NONE) {
23- if (tts_enabled) {
24- screen_reader_enabled_ = tts_enabled;
25- engine_->SetSemanticsEnabled (tts_enabled);
26- }
27- } else {
23+ if (ret != SYSTEM_SETTINGS_ERROR_NONE) {
2824 FT_LOG (Error) << " Failed to get value of accessibility tts." ;
2925 }
30-
31- // Add listener for accessibility tts
26+ if (tts_enabled) {
27+ screen_reader_enabled_ = tts_enabled;
28+ engine_->SetSemanticsEnabled (tts_enabled);
29+ }
3230 system_settings_set_changed_cb (SYSTEM_SETTINGS_KEY_ACCESSIBILITY_TTS,
3331 OnScreenReaderStateChanged, this );
3432#endif
3533
3634#ifdef TV_PROFILE
37- // Set initialized value of accessibility high contrast.
38- int high_contrast_enabled = 0 ;
39- result = system_settings_get_value_int (
40- system_settings_key_e (
41- SYSTEM_SETTINGS_KEY_MENU_SYSTEM_ACCESSIBILITY_HIGHCONTRAST),
42- &high_contrast_enabled);
43- if (result == SYSTEM_SETTINGS_ERROR_NONE) {
44- engine_->UpdateAccessibilityFeatures (false , high_contrast_enabled);
45- } else {
35+ bool nagative_color = false ;
36+ ret = system_settings_get_value_bool (
37+ SYSTEM_SETTINGS_KEY_ACCESSIBILITY_NEGATIVE_COLOR, &nagative_color);
38+ if (ret != SYSTEM_SETTINGS_ERROR_NONE) {
39+ FT_LOG (Error) << " Failed to get value of accessibility negative color." ;
40+ }
41+ system_settings_set_changed_cb (
42+ SYSTEM_SETTINGS_KEY_ACCESSIBILITY_NEGATIVE_COLOR,
43+ OnAccessibilityFeatureStateChanged, this );
44+
45+ int high_contrast = 0 ;
46+ ret = system_settings_get_value_int (
47+ SYSTEM_SETTINGS_KEY_ACCESSIBILITY_HIGHCONTRAST, &high_contrast);
48+ if (ret != SYSTEM_SETTINGS_ERROR_NONE) {
4649 FT_LOG (Error) << " Failed to get value of accessibility high contrast." ;
4750 }
51+ system_settings_set_changed_cb (SYSTEM_SETTINGS_KEY_ACCESSIBILITY_HIGHCONTRAST,
52+ OnAccessibilityFeatureStateChanged, this );
4853
49- // Add listener for accessibility high contrast.
50- system_settings_set_changed_cb (
51- system_settings_key_e (
52- SYSTEM_SETTINGS_KEY_MENU_SYSTEM_ACCESSIBILITY_HIGHCONTRAST),
53- OnHighContrastStateChanged, this );
54+ engine_->UpdateAccessibilityFeatures (nagative_color, high_contrast);
5455#endif
5556}
5657
@@ -59,27 +60,34 @@ AccessibilitySettings::~AccessibilitySettings() {
5960 system_settings_unset_changed_cb (SYSTEM_SETTINGS_KEY_ACCESSIBILITY_TTS);
6061#endif
6162#ifdef TV_PROFILE
62- system_settings_unset_changed_cb (system_settings_key_e (
63- SYSTEM_SETTINGS_KEY_MENU_SYSTEM_ACCESSIBILITY_HIGHCONTRAST));
63+ system_settings_unset_changed_cb (
64+ SYSTEM_SETTINGS_KEY_ACCESSIBILITY_NEGATIVE_COLOR);
65+ system_settings_unset_changed_cb (
66+ SYSTEM_SETTINGS_KEY_ACCESSIBILITY_HIGHCONTRAST);
6467#endif
6568}
6669
67- void AccessibilitySettings::OnHighContrastStateChanged (
70+ void AccessibilitySettings::OnAccessibilityFeatureStateChanged (
6871 system_settings_key_e key,
6972 void * user_data) {
7073#ifdef TV_PROFILE
7174 auto * self = reinterpret_cast <AccessibilitySettings*>(user_data);
72- int enabled = 0 ;
73- int result = system_settings_get_value_int (
74- system_settings_key_e (
75- SYSTEM_SETTINGS_KEY_MENU_SYSTEM_ACCESSIBILITY_HIGHCONTRAST),
76- &enabled);
77- if (result != SYSTEM_SETTINGS_ERROR_NONE) {
75+
76+ bool nagative_color = false ;
77+ int ret = system_settings_get_value_bool (
78+ SYSTEM_SETTINGS_KEY_ACCESSIBILITY_NEGATIVE_COLOR, &nagative_color);
79+ if (ret != SYSTEM_SETTINGS_ERROR_NONE) {
80+ FT_LOG (Error) << " Failed to get value of accessibility negative color." ;
81+ }
82+
83+ int high_contrast = 0 ;
84+ ret = system_settings_get_value_int (
85+ SYSTEM_SETTINGS_KEY_ACCESSIBILITY_HIGHCONTRAST, &high_contrast);
86+ if (ret != SYSTEM_SETTINGS_ERROR_NONE) {
7887 FT_LOG (Error) << " Failed to get value of accessibility high contrast." ;
79- return ;
8088 }
8189
82- self->engine_ ->UpdateAccessibilityFeatures (false , enabled );
90+ self->engine_ ->UpdateAccessibilityFeatures (nagative_color, high_contrast );
8391#endif
8492}
8593
@@ -88,9 +96,10 @@ void AccessibilitySettings::OnScreenReaderStateChanged(
8896 void * user_data) {
8997#ifndef WEARABLE_PROFILE
9098 auto * self = reinterpret_cast <AccessibilitySettings*>(user_data);
99+
91100 bool enabled = false ;
92- int result = system_settings_get_value_bool (key, &enabled);
93- if (result != SYSTEM_SETTINGS_ERROR_NONE) {
101+ int ret = system_settings_get_value_bool (key, &enabled);
102+ if (ret != SYSTEM_SETTINGS_ERROR_NONE) {
94103 FT_LOG (Error) << " Failed to get value of accessibility tts." ;
95104 return ;
96105 }
0 commit comments