By default, listen to some events 29/168329/2
authorJunghoon Park <jh9216.park@samsung.com>
Fri, 26 Jan 2018 01:07:15 +0000 (10:07 +0900)
committerJunghoon Park <jh9216.park@samsung.com>
Fri, 26 Jan 2018 01:31:10 +0000 (10:31 +0900)
 - Language, rigion and low-memory events are added

Change-Id: I092f9cf7d6fa6f69b1b5bfadd2731ad8f8a684cf
Signed-off-by: Junghoon Park <jh9216.park@samsung.com>
src/base/appcore_base.c

index d0d27ba..c815922 100644 (file)
@@ -971,6 +971,28 @@ EXPORT_API int appcore_base_set_i18n(const char *domain_name, const char *dir_na
        return __set_i18n(domain_name, dir_name);
 }
 
+static void __set_default_events(void)
+{
+       int r;
+
+       vconf_notify_key_changed(VCONFKEY_LANGSET, __on_language_change, NULL);
+       r = vconf_notify_key_changed(VCONFKEY_REGIONFORMAT, __on_region_change, NULL);
+       if (r == 0)
+               vconf_notify_key_changed(VCONFKEY_REGIONFORMAT_TIME1224, __on_region_change, NULL);
+       vconf_notify_key_changed(VCONFKEY_SYSMAN_LOW_MEMORY, __on_low_memory, NULL);
+}
+
+static void __unset_default_events(void)
+{
+       int r;
+
+       vconf_ignore_key_changed(VCONFKEY_LANGSET, __on_language_change);
+       r = vconf_ignore_key_changed(VCONFKEY_REGIONFORMAT, __on_region_change);
+       if (r == 0)
+               vconf_ignore_key_changed(VCONFKEY_REGIONFORMAT_TIME1224, __on_region_change);
+       vconf_ignore_key_changed(VCONFKEY_SYSMAN_LOW_MEMORY, __on_low_memory);
+}
+
 EXPORT_API int appcore_base_init(appcore_base_ops ops, int argc, char **argv, void *data)
 {
        int i;
@@ -1002,6 +1024,7 @@ EXPORT_API int appcore_base_init(appcore_base_ops ops, int argc, char **argv, vo
        }
 
        __verify_language();
+       __set_default_events();
        if (__context.ops.set_i18n)
                __context.ops.set_i18n(__context.data);
 
@@ -1039,6 +1062,8 @@ EXPORT_API void appcore_base_fini(void)
                }
        }
 
+       __unset_default_events();
+
        if (__context.sid) {
                g_source_remove(__context.sid);
                __context.sid = 0;
@@ -1183,28 +1208,13 @@ EXPORT_API int appcore_base_on_terminate()
 
 EXPORT_API void appcore_base_on_set_event(enum appcore_base_event event)
 {
-       int r;
-
        switch (event) {
-       case APPCORE_BASE_EVENT_LOW_MEMORY:
-               vconf_notify_key_changed(VCONFKEY_SYSMAN_LOW_MEMORY, __on_low_memory, NULL);
-               break;
        case APPCORE_BASE_EVENT_LOW_BATTERY:
                vconf_notify_key_changed(VCONFKEY_SYSMAN_BATTERY_STATUS_LOW, __on_low_battery, NULL);
                break;
-       case APPCORE_BASE_EVENT_LANG_CHANGE:
-               vconf_notify_key_changed(VCONFKEY_LANGSET, __on_language_change, NULL);
-               break;
        case APPCORE_BASE_EVENT_DEVICE_ORIENTATION_CHANGED:
                __register_rotation_changed_event();
                break;
-       case APPCORE_BASE_EVENT_REGION_CHANGE:
-               r = vconf_notify_key_changed(VCONFKEY_REGIONFORMAT, __on_region_change, NULL);
-               if (r < 0)
-                       break;
-
-               vconf_notify_key_changed(VCONFKEY_REGIONFORMAT_TIME1224, __on_region_change, NULL);
-               break;
        case APPCORE_BASE_EVENT_SUSPENDED_STATE_CHANGE:
                break;
 
@@ -1216,27 +1226,13 @@ EXPORT_API void appcore_base_on_set_event(enum appcore_base_event event)
 
 EXPORT_API void appcore_base_on_unset_event(enum appcore_base_event event)
 {
-       int r;
-
        switch (event) {
-       case APPCORE_BASE_EVENT_LOW_MEMORY:
-               vconf_ignore_key_changed(VCONFKEY_SYSMAN_LOW_MEMORY, __on_low_memory);
-               break;
        case APPCORE_BASE_EVENT_LOW_BATTERY:
                vconf_ignore_key_changed(VCONFKEY_SYSMAN_BATTERY_STATUS_LOW, __on_low_battery);
                break;
-       case APPCORE_BASE_EVENT_LANG_CHANGE:
-               vconf_ignore_key_changed(VCONFKEY_LANGSET, __on_language_change);
-               break;
        case APPCORE_BASE_EVENT_DEVICE_ORIENTATION_CHANGED:
                __unregister_rotation_changed_event();
                break;
-       case APPCORE_BASE_EVENT_REGION_CHANGE:
-               r = vconf_ignore_key_changed(VCONFKEY_REGIONFORMAT, __on_region_change);
-               if (r < 0)
-                       break;
-               vconf_ignore_key_changed(VCONFKEY_REGIONFORMAT_TIME1224, __on_region_change);
-               break;
        case APPCORE_BASE_EVENT_SUSPENDED_STATE_CHANGE:
                break;
        default: