#include <glib.h>
#include <mime_type.h>
-#include "share_panel.h"
#include "share_panel_internal.h"
#include "log.h"
-#define CONTACT_MIME "application/vnd.tizen.contact"
static void __create_multi_share_list(app_control_h control, Eina_List **matchlist)
{
char **data_array = NULL;
char *mime = NULL;
- char *contact_mime = NULL;
char *uri = NULL;
Eina_List *mime_list = NULL;
int length = 0;
int res;
- app_control_get_mime(control, &contact_mime);
-
- if (contact_mime && !strcmp(contact_mime, CONTACT_MIME)) {
- _D("caller is contact");
- __intersect_match_list_with_mime(matchlist, contact_mime, uri);
- return;
- } else {
- res = app_control_get_extra_data_array(control, TIZEN_DATA_PATH, &data_array, &length);
- if (res != APP_CONTROL_ERROR_NONE) {
- _E("app_control_get_extra_data_array failed..[%d]", res);
- }
+ res = app_control_get_extra_data_array(control, TIZEN_DATA_PATH, &data_array, &length);
+ if (res != APP_CONTROL_ERROR_NONE) {
+ _E("app_control_get_extra_data_array failed..[%d]", res);
}
for (i = 0; i < length; i++) {
Eina_List *l = NULL;
-static void __make_applist(share_panel_h share_panel, Eina_List *matchlist, Eina_List **applist)
+static void __make_applist(bundle *b, Eina_List *matchlist, Eina_List **applist)
{
Eina_List *l;
char *data = NULL;
int ret = 0;
- ret_if(!share_panel);
- ret_if(!share_panel->b);
+ ret_if(!b);
EINA_LIST_FOREACH(matchlist, l, data) {
item_s *app_s = NULL;
free(app_s);
continue;
}
- app_s->b = share_panel->b;
- app_s->share_panel = share_panel;
+ app_s->b = b;
ret = app_info_create(data, &app_info);
if (ret != APP_MANAGER_ERROR_NONE || !app_info) {
-Eina_List *_list_create(share_panel_h share_panel)
+Eina_List *_list_create(app_control_h control, bundle *b)
{
Eina_List *matchlist = NULL;
Eina_List *applist = NULL;
char *operation_type = NULL;
char *data = NULL;
- retv_if(!share_panel, NULL);
- retv_if(!share_panel->control, NULL);
- retv_if(!share_panel->b, NULL);
+ retv_if(!control, NULL);
+ retv_if(!b, NULL);
- app_control_get_operation(share_panel->control, &operation_type);
+ app_control_get_operation(control, &operation_type);
retv_if(!operation_type, NULL);
- __trim_uri(share_panel->control);
+ __trim_uri(control);
if (!strcmp(operation_type, TIZEN_SHARE)
|| !strcmp(operation_type, TIZEN_SHARE_TEXT)) {
_D("single share operation");
- __create_single_share_list(share_panel->control, &matchlist);
+ __create_single_share_list(control, &matchlist);
} else if (!strcmp(operation_type, TIZEN_MULTI_SHARE)) {
_D("multi share operation");
- __create_multi_share_list(share_panel->control, &matchlist);
+ __create_multi_share_list(control, &matchlist);
} else {
_D("Wrong operation");
return NULL;
}
- __make_applist(share_panel, matchlist, &applist);
+ __make_applist(b, matchlist, &applist);
EINA_LIST_FREE(matchlist, data) {
free(data);