From: InHong Han Date: Fri, 23 Feb 2018 01:51:36 +0000 (+0900) Subject: Fix issue preference_changed_cb() isn't registered in encryption mode X-Git-Tag: accepted/tizen/unified/20180313.061043~8 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6abedcb30f859bb124e803bbeae01ffc4e15b034;p=platform%2Fcore%2Fuifw%2Fise-default.git Fix issue preference_changed_cb() isn't registered in encryption mode Change-Id: I9ca15997cc2a4ef8c2de82160883fc1a3a0674c6 --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 0f6062d..61fe0fc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -77,6 +77,7 @@ SET(PKGS_CHECK_MODULES capi-ui-inputmethod smartreply key-manager + ode ) IF (with_cbhm) diff --git a/packaging/ise-default.spec b/packaging/ise-default.spec index 13f4506..f6ab54c 100644 --- a/packaging/ise-default.spec +++ b/packaging/ise-default.spec @@ -23,6 +23,7 @@ BuildRequires: pkgconfig(capi-media-audio-io) BuildRequires: pkgconfig(capi-ui-inputmethod) BuildRequires: pkgconfig(smartreply) BuildRequires: pkgconfig(key-manager) +BuildRequires: pkgconfig(ode) Requires: ise-engine-tables Requires: ise-engine-tables-zh Requires: ise-engine-hangul diff --git a/src/ise.cpp b/src/ise.cpp index 65ee189..ba91930 100644 --- a/src/ise.cpp +++ b/src/ise.cpp @@ -29,6 +29,7 @@ #include #include #include +#include #ifdef HAVE_CBHM #include #endif @@ -1766,6 +1767,47 @@ static void ise_floating_mode_changed_cb(const char *key, void *user_data) set_ime_size(g_floating_mode, ISE_CANDIDATE_REQ_NONE); } +static void register_preference_changed_callback(void) +{ + if (preference_set_changed_cb(ISE_CONFIG_KEYPAD_MODE, ise_keypad_mode_changed_cb, NULL) != PREFERENCE_ERROR_NONE) + LOGW("Failed to set ise_keypad_mode_changed_cb()"); + + if (preference_set_changed_cb(ISE_CONFIG_ENABLED_LANGUAGES, ise_enabled_languages_changed_cb, NULL) != PREFERENCE_ERROR_NONE) + LOGW("Failed to set ise_enabled_languages_changed_cb()"); + + if (preference_set_changed_cb(ISE_CONFIG_SELECTED_LANGUAGE, ise_selected_language_changed_cb, NULL) != PREFERENCE_ERROR_NONE) + LOGW("Failed to set ise_selected_language_changed_cb()"); + + if (preference_set_changed_cb(ISE_CONFIG_AUTO_CAPITALISE, ise_autocapital_mode_changed_cb, NULL) != PREFERENCE_ERROR_NONE) + LOGW("Failed to set ise_autocapital_mode_changed_cb()"); + + if (preference_set_changed_cb(ISE_CONFIG_AUTO_PUNCTUATE, ise_autopunctuate_mode_changed_cb, NULL) != PREFERENCE_ERROR_NONE) + LOGW("Failed to set ise_autopunctuate_mode_changed_cb()"); + + if (preference_set_changed_cb(ISE_CONFIG_SOUND_ON, ise_sound_mode_changed_cb, NULL) != PREFERENCE_ERROR_NONE) + LOGW("Failed to set ise_sound_mode_changed_cb()"); + + if (preference_set_changed_cb(ISE_CONFIG_VIBRATION_ON, ise_vibration_mode_changed_cb, NULL) != PREFERENCE_ERROR_NONE) + LOGW("Failed to set ise_vibration_mode_changed_cb()"); + + if (preference_set_changed_cb(ISE_CONFIG_PREVIEW_ON, ise_character_preview_mode_changed_cb, NULL) != PREFERENCE_ERROR_NONE) + LOGW("Failed to set ise_character_preview_mode_changed_cb()"); + + if (preference_set_changed_cb(ISE_CONFIG_FIRST_GUIDELINE_POPUP_FOR_SETTING, ise_setting_guide_popup_changed_cb, NULL) != PREFERENCE_ERROR_NONE) + LOGW("Failed to set ise_setting_guide_popup_changed_cb()"); + + if (preference_set_changed_cb(ISE_CONFIG_FIRST_GUIDELINE_POPUP_FOR_LANGUAGE_CHANGE, ise_language_guide_popup_changed_cb, NULL) != PREFERENCE_ERROR_NONE) + LOGW("Failed to set ise_language_guide_popup_changed_cb()"); + + if (preference_set_changed_cb(ISE_CONFIG_FLOATING_MODE, ise_floating_mode_changed_cb, NULL) != PREFERENCE_ERROR_NONE) + LOGW("Failed to set ise_floating_mode_changed_cb()"); +} + +static void ise_mount_changed_cb(void *user_data) +{ + register_preference_changed_callback(); +} + void ise_create() { @@ -1858,28 +1900,17 @@ ise_create() if (!exist) write_ise_config_values(); - if (preference_set_changed_cb(ISE_CONFIG_KEYPAD_MODE, ise_keypad_mode_changed_cb, NULL) != PREFERENCE_ERROR_NONE) - LOGW("Faild to set ise_keypad_mode_changed_cb()"); - if (preference_set_changed_cb(ISE_CONFIG_ENABLED_LANGUAGES, ise_enabled_languages_changed_cb, NULL) != PREFERENCE_ERROR_NONE) - LOGW("Faild to set ise_enabled_languages_changed_cb()"); - if (preference_set_changed_cb(ISE_CONFIG_SELECTED_LANGUAGE, ise_selected_language_changed_cb, NULL) != PREFERENCE_ERROR_NONE) - LOGW("Faild to set ise_selected_language_changed_cb()"); - if (preference_set_changed_cb(ISE_CONFIG_AUTO_CAPITALISE, ise_autocapital_mode_changed_cb, NULL) != PREFERENCE_ERROR_NONE) - LOGW("Faild to set ise_autocapital_mode_changed_cb()"); - if (preference_set_changed_cb(ISE_CONFIG_AUTO_PUNCTUATE, ise_autopunctuate_mode_changed_cb, NULL) != PREFERENCE_ERROR_NONE) - LOGW("Faild to set ise_autopunctuate_mode_changed_cb()"); - if (preference_set_changed_cb(ISE_CONFIG_SOUND_ON, ise_sound_mode_changed_cb, NULL) != PREFERENCE_ERROR_NONE) - LOGW("Faild to set ise_sound_mode_changed_cb()"); - if (preference_set_changed_cb(ISE_CONFIG_VIBRATION_ON, ise_vibration_mode_changed_cb, NULL) != PREFERENCE_ERROR_NONE) - LOGW("Faild to set ise_vibration_mode_changed_cb()"); - if (preference_set_changed_cb(ISE_CONFIG_PREVIEW_ON, ise_character_preview_mode_changed_cb, NULL) != PREFERENCE_ERROR_NONE) - LOGW("Faild to set ise_character_preview_mode_changed_cb()"); - if (preference_set_changed_cb(ISE_CONFIG_FIRST_GUIDELINE_POPUP_FOR_SETTING, ise_setting_guide_popup_changed_cb, NULL) != PREFERENCE_ERROR_NONE) - LOGW("Faild to set ise_setting_guide_popup_changed_cb()"); - if (preference_set_changed_cb(ISE_CONFIG_FIRST_GUIDELINE_POPUP_FOR_LANGUAGE_CHANGE, ise_language_guide_popup_changed_cb, NULL) != PREFERENCE_ERROR_NONE) - LOGW("Faild to set ise_language_guide_popup_changed_cb()"); - if (preference_set_changed_cb(ISE_CONFIG_FLOATING_MODE, ise_floating_mode_changed_cb, NULL) != PREFERENCE_ERROR_NONE) - LOGW("Faild to set ise_floating_mode_changed_cb()"); + int state; + if (ode_internal_encryption_get_state(&state) == ODE_ERROR_NONE) { + if (state == ODE_STATE_ENCRYPTED) { + if (ode_internal_encryption_set_mount_event_cb(ise_mount_changed_cb, NULL) != ODE_ERROR_NONE) + LOGW("Failed to set mount_event_cb()"); + } else if (state == ODE_STATE_UNENCRYPTED) { + register_preference_changed_callback(); + } + } else { + LOGW("Failed to get encryption_state"); + } } init_recent_used_punctuation(); }