bool vc_get_read_description(void);
bool vc_get_read_list_grid_information(void);
+bool vc_get_granularity_enabled(void);
bool vc_get_haptic(void);
bool vc_get_keyboard_feedback(void);
bool vc_get_sound_feedback(void);
#include <logger.h>
#include <reading_composer.h>
#include <screen_reader_tts.h>
+#include <screen_reader_vconf.h>
#include <smart_notification.h>
#include <utils.h>
-Ecore_Timer *granularity_read_popup_timer;
+static Ecore_Timer *granularity_read_popup_timer;
const char granularity_read_type_text[GRANULARITY_READ_TYPE_COUNT][15] = { "CHARACTER", "WORD", "PARAGRAPH" };
Granularity_Read_Data *granularity_read_data_get()
{
+ if (vc_get_granularity_enabled() && !granularity_read_data) {
+ DEBUG("Granularity lazy initialization");
+ granularity_read_init();
+ } else if (!vc_get_granularity_enabled() && granularity_read_data) {
+ DEBUG("Granularity lazy termination");
+ granularity_read_terminate();
+ }
return granularity_read_data;
}
sd->system_data = system_notifications_init();
navigator_set_read_quickpanel_cb(sd->navigator_data, system_status_get, sd->system_data, NULL);
- granularity_read_init();
DEBUG("Enable IsEnabled property");
is_enabled_switch_set(EINA_TRUE);
#endif
#ifndef SCREEN_READER_TV
DEBUG("clear IsEnabled property");
is_enabled_switch_set(EINA_FALSE);
- DEBUG("Granularity terminating");
+ DEBUG("terminate granularity");
granularity_read_terminate();
DEBUG("terminate system_notifications");
navigator_set_read_quickpanel_cb(sd->navigator_data, NULL, NULL, NULL);
void screen_reader_ui_launch(const char *type_name)
{
- LOGD("Launching screen reader highlight");
+ LOGD("Launching screen reader UI");
bundle *kb = NULL;
kb = bundle_create();
pid = appsvc_run_service(kb, 0, NULL, NULL);
if (pid > 0)
- LOGD("Screen reader launched with pid: %i", pid);
+ LOGD("Screen reader UI launched with pid: %i", pid);
else
- LOGD("Can't start screen-reader - error code: %i", pid);
+ LOGD("Can't start screen-reader UI - error code: %i", pid);
bundle_free(kb);
}
void screen_reader_ui_terminate(void)
{
- LOGD("Terminating screen reader");
+ LOGD("Terminating screen reader UI");
int ret;
int ret_aul;
if (pid <= 0) return;
#define VCKEY_DESCRIPTION "db/setting/accessibility/screen_reader/description"
#define VCKEY_LIST_GRID_INFORMATION "db/setting/accessibility/screen_reader/list_grid_information"
+#define VCKEY_GRANULARITY "db/setting/accessibility/screen_reader/granularity"
#define VCKEY_HAPTIC "db/setting/accessibility/screen_reader/haptic"
#define VCKEY_KEYBOARD_FEEDBACK "db/setting/accessibility/screen_reader/keyboard_feedback"
#define VCKEY_SOUND_FEEDBACK "db/setting/accessibility/screen_reader/sound_feedback"
bool init;
bool read_description;
bool read_list_grid_information;
+ bool granularity_enabled;
bool haptic;
bool keyboard_feedback;
bool sound_feedback;
vconf_data.init = true;
vconf_data.read_description = vcwrap_get_key_bool(VCKEY_DESCRIPTION, true);
vconf_data.read_list_grid_information = vcwrap_get_key_bool(VCKEY_LIST_GRID_INFORMATION, true);
+ vconf_data.granularity_enabled = vcwrap_get_key_bool(VCKEY_GRANULARITY, true);
vconf_data.haptic = vcwrap_get_key_bool(VCKEY_HAPTIC, true);
vconf_data.keyboard_feedback = vcwrap_get_key_bool(VCKEY_KEYBOARD_FEEDBACK, true);
vconf_data.sound_feedback = vcwrap_get_key_bool(VCKEY_SOUND_FEEDBACK, true);
vcwrap_set_field_updater_bool(VCKEY_DESCRIPTION, &(vconf_data.read_description));
vcwrap_set_field_updater_bool(VCKEY_LIST_GRID_INFORMATION, &(vconf_data.read_list_grid_information));
+ vcwrap_set_field_updater_bool(VCKEY_GRANULARITY, &(vconf_data.granularity_enabled));
vcwrap_set_field_updater_bool(VCKEY_HAPTIC, &(vconf_data.haptic));
vcwrap_set_field_updater_bool(VCKEY_KEYBOARD_FEEDBACK, &(vconf_data.keyboard_feedback));
vcwrap_set_field_updater_bool(VCKEY_SOUND_FEEDBACK, &(vconf_data.sound_feedback));
vcwrap_unset_field_updater_bool(VCKEY_KEYBOARD_FEEDBACK);
vcwrap_unset_field_updater_bool(VCKEY_HAPTIC);
+ vcwrap_unset_field_updater_bool(VCKEY_GRANULARITY);
vcwrap_unset_field_updater_bool(VCKEY_DESCRIPTION);
vcwrap_unset_field_updater_bool(VCKEY_LIST_GRID_INFORMATION);
vcwrap_unset_field_updater_bool(VCKEY_SOUND_FEEDBACK);
return vc_get_instance()->haptic;
}
+bool vc_get_granularity_enabled(void)
+{
+ return vc_get_instance()->granularity_enabled;
+}
+
bool vc_get_keyboard_feedback(void)
{
return vc_get_instance()->keyboard_feedback;