Update the font change event callback handler.
authorSung-jae Park <nicesj.park@samsung.com>
Thu, 21 Aug 2014 08:35:28 +0000 (17:35 +0900)
committerSung-jae Park <nicesj.park@samsung.com>
Thu, 21 Aug 2014 08:35:28 +0000 (17:35 +0900)
Use the EA_THEME event callback instead of vconf.
it is more safe and guaranteed by UIFW. (managed)

Change-Id: Idb0db201f7d3ec8766d9dc8c7ed2395d6c746188

com.samsung.data-provider-slave.xml
packaging/com.samsung.data-provider-slave.spec
src/main.c

index 914ea9b..35c7794 100644 (file)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8" ?>
-<manifest xmlns="http://tizen.org/ns/packages" package="com.samsung.data-provider-slave" version="0.17.8" install-location="auto">
+<manifest xmlns="http://tizen.org/ns/packages" package="com.samsung.data-provider-slave" version="0.17.9" install-location="auto">
        <label>Dynamic Box Provider (slave)</label>
        <author email="nicesj.park@samsung.com" href="www.samsung.com">Sung-jae Park</author>
        <author email="yjoo93.park@samsung.com" href="www.samsung.com">Youngjoo Park</author>
index f2f7397..0824435 100644 (file)
@@ -3,7 +3,7 @@
 
 Name: com.samsung.data-provider-slave
 Summary: Plugin type livebox service provider
-Version: 0.17.8
+Version: 0.17.9
 Release: 1
 Group: HomeTF/Livebox
 License: Flora
index 9ba2f95..d736f7f 100644 (file)
@@ -32,6 +32,7 @@
 #include <app.h>
 #include <Edje.h>
 #include <Eina.h>
+#include <efl_assist.h>
 
 #include <system_settings.h>
 
@@ -81,33 +82,7 @@ static struct info {
        .heap_monitor = NULL,
 };
 
-static void update_font_cb(void *data)
-{
-       Eina_List *list;
-       char *text;
-
-       list = edje_text_class_list();
-       DbgPrint("List: %p\n", list);
-       if (list) {
-               EINA_LIST_FREE(list, text) {
-                       if (!strncasecmp(text, TEXT_CLASS, strlen(TEXT_CLASS))) {
-                               DbgPrint("Update text class %s (%s, %d)\n", text, s_info.font_name, DEFAULT_FONT_SIZE);
-                               edje_text_class_del(text);
-                               edje_text_class_set(text, s_info.font_name, DEFAULT_FONT_SIZE);
-                       } else {
-                               DbgPrint("Skip text class %s\n", text);
-                       }
-               }
-       } else {
-               DbgPrint("New (%s, %d)\n", s_info.font_name, DEFAULT_FONT_SIZE);
-               edje_text_class_set(TEXT_CLASS, s_info.font_name, DEFAULT_FONT_SIZE);
-       }
-
-       DbgPrint("Call system event\n");
-       lb_system_event_all(LB_SYS_EVENT_FONT_CHANGED);
-}
-
-static void font_changed_cb(keynode_t *node, void *user_data)
+static void font_changed_cb(void *user_data)
 {
        char *font_name;
 
@@ -146,7 +121,12 @@ static void font_changed_cb(keynode_t *node, void *user_data)
         * \NOTE
         * Try to update all liveboxes
         */
-       update_font_cb(NULL);
+       edje_text_class_set(TEXT_CLASS, s_info.font_name, DEFAULT_FONT_SIZE);
+
+       elm_config_reload();
+
+       DbgPrint("Call system event\n");
+       lb_system_event_all(LB_SYS_EVENT_FONT_CHANGED);
 }
 
 static inline int convert_font_size(int size)
@@ -455,10 +435,7 @@ static bool app_create(void *argv)
                DbgPrint("Content update monitor is initiated: %d\n", ret);
        }
 
-       ret = vconf_notify_key_changed("db/setting/accessibility/font_name", font_changed_cb, NULL);
-       if (ret < 0) {
-               DbgPrint("System font changed callback is added: %d\n", ret);
-       }
+       ea_theme_event_callback_add(EA_THEME_CALLBACK_TYPE_FONT, font_changed_cb, NULL);
        
        ret = system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_FONT_SIZE, font_size_cb, NULL);
        if (ret < 0) {
@@ -480,7 +457,7 @@ static bool app_create(void *argv)
                DbgPrint("TTS changed callback is added: %s\n", ret);
        }
 
-       font_changed_cb(NULL, NULL);
+       font_changed_cb(NULL);
        font_size_cb(SYSTEM_SETTINGS_KEY_FONT_SIZE, NULL);
 
        lb_init();
@@ -506,10 +483,7 @@ static void app_terminate(void *data)
                DbgPrint("unset fontsize: %d\n", ret);
        }
 
-       ret = vconf_ignore_key_changed("db/setting/accessibility/font_name", font_changed_cb);
-       if (ret < 0) {
-               DbgPrint("Remove font change callback: %d\n", ret);
-       }
+       ea_theme_event_callback_del(EA_THEME_CALLBACK_TYPE_FONT, font_changed_cb);
 
        ret = vconf_ignore_key_changed(VCONFKEY_SYSTEM_TIME_CHANGED, time_changed_cb);
        if (ret < 0) {