- if (err < 0) {
- snprintf(err_str, sizeof(err_str), "%d", err);
- bundle_add_str(b, AUL_K_WIDGET_ERROR_CODE, err_str);
- }
-
- bundle_add_str(b, AUL_K_WIDGET_ID, class_id);
- bundle_add_str(b, AUL_K_WIDGET_INSTANCE_ID, instance_id);
- bundle_add_byte(b, AUL_K_WIDGET_STATUS, &status, sizeof(int));
-
- if (extra) {
- bundle_encode(extra, &raw, &len);
- bundle_add_str(b, WIDGET_K_CONTENT_INFO, (const char *)raw);
- aul_widget_instance_add(class_id, instance_id);
- }
-
- LOGD("send update %s(%d) to %s", instance_id, status, __viewer_endpoint);
- aul_app_com_send(__viewer_endpoint, b);
-
- switch (status) {
- case WIDGET_INSTANCE_EVENT_CREATE:
- lifecycle = WIDGET_LIFE_CYCLE_EVENT_CREATE;
- break;
- case WIDGET_INSTANCE_EVENT_DESTROY:
- lifecycle = WIDGET_LIFE_CYCLE_EVENT_DESTROY;
- break;
- case WIDGET_INSTANCE_EVENT_PAUSE:
- lifecycle = WIDGET_LIFE_CYCLE_EVENT_PAUSE;
- break;
- case WIDGET_INSTANCE_EVENT_RESUME:
- lifecycle = WIDGET_LIFE_CYCLE_EVENT_RESUME;
- break;
- }
-
- if (lifecycle > -1)
- __send_lifecycle_event(class_id, instance_id, lifecycle);
-
- bundle_free(b);
- if (raw)
- free(raw);
-