summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsrc/widget_app.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/widget_app.c b/src/widget_app.c
index c3edd63..243908a 100755
--- a/src/widget_app.c
+++ b/src/widget_app.c
@@ -759,6 +759,30 @@ static void __add_climsg()
ecore_event_handler_add(ECORE_WL_EVENT_WINDOW_CONFIGURE, __configure_cb, NULL);
}
+static void __get_content(bundle *b)
+{
+ char *instance_id = NULL;
+ widget_context_s *cxt = NULL;
+
+ bundle_get_str(b, AUL_K_WIDGET_INSTANCE_ID, &instance_id);
+ if (!instance_id)
+ return;
+
+ cxt = __find_context_by_id(instance_id);
+ if (!cxt) {
+ _E("can not find instance id:%s", instance_id);
+ return;
+ }
+
+ if (cxt->content) {
+ bundle_add_str(b, AUL_K_WIDGET_CONTENT_INFO, cxt->content);
+ _D("content info of %s found", cxt->id);
+ } else {
+ bundle_add_str(b, AUL_K_WIDGET_CONTENT_INFO, "");
+ _D("empty content info added");
+ }
+}
+
static int __aul_handler(aul_type type, bundle *b, void *data)
{
char *caller = NULL;
@@ -785,6 +809,9 @@ static int __aul_handler(aul_type type, bundle *b, void *data)
case AUL_TERMINATE:
widget_app_exit();
break;
+ case AUL_WIDGET_CONTENT:
+ __get_content(b);
+ break;
default:
break;
}