#include "common_utils.h"
#include "view.h"
+static bool send_response(app_data_s* ad, int idx);
+
static void win_delete_request_cb(void *data, Evas_Object * obj, void *event_info)
{
LOGD("win del req");
LOGE("app_control_get_launch_mode() failed. Terminate. ret = %d", ret);
ui_app_exit();
}
+ LOGD("launch_mode: %s", ad->mode == APP_CONTROL_LAUNCH_MODE_SINGLE ? "single" : "group");
app_info_h app_info;
ret = app_info_create(caller_appid, &app_info);
free(caller_pkgid);
} else {
if (strcmp(caller_pkgid, ad->caller_pkgid) != 0) {
- LOGE("Received data isn't from the same caller app! Orig: %s, New: %s", ad->caller_pkgid, caller_pkgid);
- free(caller_pkgid);
- ui_app_exit();
+ LOGI("Received data isn't from the same caller app! Orig: %s, New: %s", ad->caller_pkgid, caller_pkgid);
+ LOGI("Send responses for requests of previous app: %s", ad->caller_pkgid);
+ int i = 0;
+ for (i = 0; i < ad->popup_num; ++i) {
+ if (!send_response(ad, i))
+ LOGE("send_response() failed.");
+ free(ad->popups[i].launch_type);
+ g_list_free_full(ad->popups[i].privacy_list, free_privacy_data);
+ }
+ ad->popup_num = 0;
+ ad->popup_idx = 0;
+ free(ad->caller_pkgid);
+ ad->caller_pkgid = g_strdup(caller_pkgid);
}
free(caller_pkgid);
}