From ff3d5abdfb113122025686354af4e0d87897b47c Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Thu, 7 Jun 2018 17:06:37 +0900 Subject: [PATCH] Implement autofill reset Change-Id: Idb24d225373791ca38c900883417edb6bb10673c Signed-off-by: Jihoon Kim --- CMakeLists.txt | 2 ++ src/autofill.cpp | 34 +++++++++++++++++++++++++++++++++- src/include/autofill.h | 10 ++++++++++ src/option.cpp | 6 ++++-- 4 files changed, 49 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 61fe0fc..2c06afc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -41,6 +41,7 @@ SET(ISE_SETTING_SRCS src/eflutil.cpp src/languages.cpp src/sdk/ise_lang_table.cpp + src/autofill.cpp ) SET(ISE_PACKAGE ${PROJECT_NAME}) @@ -99,6 +100,7 @@ SET(SETTING_PKGS_CHECK_MODULES libxml-2.0 capi-appfw-application capi-appfw-preference + key-manager ) pkg_check_modules(ISE_SETTING_PKGS REQUIRED ${SETTING_PKGS_CHECK_MODULES}) diff --git a/src/autofill.cpp b/src/autofill.cpp index f07054e..a75af13 100644 --- a/src/autofill.cpp +++ b/src/autofill.cpp @@ -21,6 +21,9 @@ #include #include +#undef LOG_TAG +#define LOG_TAG "ISE_DEFAULT" + using namespace std; static string get_autofill_alias(const char *app_id, const char *res_id, Ecore_IMF_Input_Hints input_hints) @@ -28,7 +31,7 @@ static string get_autofill_alias(const char *app_id, const char *res_id, Ecore_I int autofill_hint = input_hints & ECORE_IMF_INPUT_HINT_AUTOFILL_MASK; char alias[1024] = { 0 }; - snprintf(alias, sizeof(alias), "%s|%s|%d", app_id ? app_id : "", res_id ? res_id : "", autofill_hint); + snprintf(alias, sizeof(alias), "autofill|%s|%s|%d", app_id ? app_id : "", res_id ? res_id : "", autofill_hint); return string(alias); } @@ -114,3 +117,32 @@ char *autofill_get_string(const char *app_id, const char *res_id, Ecore_IMF_Inpu return strdup(autofill_string.c_str()); } + +Eina_Bool autofill_clear() +{ + int ret = CKMC_ERROR_NONE; + + ckmc_alias_list_s *alias_list; + ckmc_alias_list_s *plist; + + ret = ckmc_get_data_alias_list(&alias_list); + if (CKMC_ERROR_NONE != ret) { + /* Error handling */ + LOGW("Can't get list"); + + return EINA_FALSE; + } + + plist = alias_list; + while (plist) { + if (plist->alias && (strncmp(plist->alias, "ise-default autofill|", 21) == 0)) { + // Remove from the key manager + ckmc_remove_alias(plist->alias); + } + plist = plist->next; + } + + ckmc_alias_list_all_free(alias_list); /* Called when the list is no longer needed */ + + return EINA_TRUE; +} diff --git a/src/include/autofill.h b/src/include/autofill.h index bece891..999f405 100644 --- a/src/include/autofill.h +++ b/src/include/autofill.h @@ -36,6 +36,16 @@ Eina_Bool autofill_save_string(const char *app_id, const char *res_id, Ecore_IMF */ char *autofill_get_string(const char *app_id, const char *res_id, Ecore_IMF_Input_Hints input_hints); +/** + * @brief Clear autofill data. + * + * @since_tizen 5.0 + * + * @privlevel internal + * + */ +Eina_Bool autofill_clear(); + #ifdef __cplusplus } #endif diff --git a/src/option.cpp b/src/option.cpp index 1e86c8e..8dd3059 100644 --- a/src/option.cpp +++ b/src/option.cpp @@ -28,6 +28,7 @@ #include "eflutil.h" #include "sdk/ise_lang_table.h" #include "ise-stt-option.h" +#include "autofill.h" #undef LOG_TAG #define LOG_TAG "ISE_DEFAULT" @@ -224,6 +225,8 @@ static void reset_settings_popup_response_ok_cb(void *data, Evas_Object *obj, vo vconf_set_bool(VCONFKEY_AUTOCAPITAL_ALLOW_BOOL, g_config_values.auto_capitalise); vconf_set_bool(VCONFKEY_AUTOPERIOD_ALLOW_BOOL, g_config_values.auto_punctuate); + autofill_clear(); + Evas_Object *popup = (Evas_Object *)data; if (popup) evas_object_del(popup); @@ -403,7 +406,6 @@ static char *_main_gl_text_get(void *data, Evas_Object *obj, const char *part) !strcmp(part, "elm.text.main") || !strcmp(part, "elm.text")) { if (strlen(item_data->main_text)) { - LOGD("%s : %s", part, item_data->main_text); return strdup(item_data->main_text); } } @@ -413,7 +415,6 @@ static char *_main_gl_text_get(void *data, Evas_Object *obj, const char *part) !strcmp(part, "elm.text.1") || !strcmp(part, "elm.text.2")) { if (strlen(item_data->sub_text) > 0) { - LOGD("%s : %s", part, item_data->sub_text); return strdup(item_data->sub_text); } } @@ -762,6 +763,7 @@ static void check_voice_language_callback(void *data, Evas_Object *obj, void *ev { create_setting_window(); } + static void check_vibration_change_callback(void *data, Evas_Object *obj, void *event_info) { Eina_Bool state = EINA_FALSE; -- 2.7.4