EFL_UPGRADE: remove ecore-wayland dependency
[platform/core/appfw/appcore-widget.git] / src / base / widget_base.c
index 1843061..ce0f63b 100644 (file)
@@ -20,6 +20,7 @@
 #include <bundle.h>
 #include <bundle_internal.h>
 #include <aul.h>
+#include <aul_widget.h>
 #include <dlog.h>
 #include <glib.h>
 #include <glib-object.h>
@@ -28,7 +29,7 @@
 #include <widget_errno.h>
 #include <widget_instance.h>
 #include <aul_app_com.h>
-#include <Ecore_Wayland.h>
+#include <Ecore_Wl2.h>
 #include <system_info.h>
 #include <vconf.h>
 #include <vconf-internal-keys.h>
@@ -111,6 +112,12 @@ static gboolean __timeout_cb(gpointer user_data)
        const char *class_id;
 
        cxt = appcore_multiwindow_base_instance_find(data->id);
+
+       if (!cxt) {
+               LOGE("Can't find the instance");
+               return G_SOURCE_REMOVE;
+       }
+
        if (appcore_multiwindow_base_instance_is_resumed(cxt)) {
                LOGD("Periodic update!");
                class_id = appcore_multiwindow_base_instance_get_class_id(cxt);
@@ -1249,19 +1256,18 @@ static void __free_class(gpointer data)
 
 EXPORT_API void widget_base_fini(void)
 {
+       appcore_multiwindow_base_fini();
        g_list_free_full(__context.classes, __free_class);
        __context.classes = NULL;
-
-       appcore_multiwindow_base_fini();
 }
 
 EXPORT_API int widget_base_context_window_bind(
                widget_base_instance_h instance_h, const char *id,
-               Ecore_Wl_Window *wl_win)
+               Ecore_Wl2_Window *wl_win)
 {
        struct wl_surface *surface;
 
-       surface = ecore_wl_window_surface_get(wl_win);
+       surface = ecore_wl2_window_surface_get(wl_win);
        if (surface == NULL) {
                LOGE("failed to get surface"); /* LCOV_EXCL_LINE */
                return WIDGET_BASE_ERROR_FAULT; /* LCOV_EXCL_LINE */
@@ -1388,7 +1394,8 @@ static void __multiwindow_instance_create(
 
                ret = bundle_get_byte(b, WIDGET_K_PERIOD, (void **)&period,
                                &size);
-               if (ret == BUNDLE_ERROR_NONE) {
+               if (ret == BUNDLE_ERROR_NONE && *period > 0) {
+                       LOGI("set periodic update timer (%lf)", *period);
                        instance_data->period = *period;
                        instance_data->periodic_timer = g_timeout_add_seconds(
                                        instance_data->period,
@@ -1442,11 +1449,7 @@ static void __multiwindow_instance_resume(
 
        if (!__fg_signal) {
                LOGD("Send fg signal to resourceD");
-               aul_send_app_status_change_signal(getpid(),
-                               __appid,
-                               __package_id,
-                               STATUS_FOREGROUND,
-                               APP_TYPE_WIDGET);
+               aul_widget_instance_change_status(class_id, STATUS_FOREGROUND);
                __fg_signal = true;
        }
 }
@@ -1477,11 +1480,7 @@ static void __multiwindow_instance_pause(
 
        if (__fg_signal) {
                LOGD("Send bg signal to resourceD");
-               aul_send_app_status_change_signal(getpid(),
-                               __appid,
-                               __package_id,
-                               STATUS_BACKGROUND,
-                               APP_TYPE_WIDGET);
+               aul_widget_instance_change_status(class_id, STATUS_BACKGROUND);
                __fg_signal = false;
        }
 }