/*\r
- * Copyright 2012 Samsung Electronics Co., Ltd\r
+ * my-account\r
*\r
- * Licensed under the Flora License, Version 1.0 (the License);\r
+ * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.\r
+ *\r
+ * Contact: Wonyoung Lee <wy1115.lee@samsung.com>, Tarun Kumar <tarun.kr@samsung.com>\r
+ *\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
* you may not use this file except in compliance with the License.\r
* You may obtain a copy of the License at\r
*\r
- * http://floralicense.org/license/\r
+ * http://www.apache.org/licenses/LICENSE-2.0\r
*\r
* Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an AS IS BASIS,\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
* See the License for the specific language governing permissions and\r
* limitations under the License.\r
+ *\r
*/\r
\r
#include "myaccount_ug.h"\r
pkgmgr_client_free(g_myaccount_appdata->pc);\r
g_myaccount_appdata->pc = NULL;\r
}\r
+\r
+ if(g_myaccount_appdata->sp_info_list) {\r
+ g_list_free(g_myaccount_appdata->sp_info_list);\r
+ g_myaccount_appdata->sp_info_list = NULL;\r
+ }\r
+\r
+ g_myaccount_appdata->sorted_sp_list= NULL;\r
+\r
MA_MEMFREE(g_myaccount_appdata->caller_userdata);\r
+ MA_MEMFREE(g_myaccount_appdata->called_from);\r
MA_MEMFREE(g_myaccount_appdata);\r
\r
MYACCOUNT_VERBOSE("myaccount_destroy_appdata END \n");\r
MYACCOUNT_ERROR("\n !!! icon_path is NULL \n");\r
return;\r
}\r
-\r
- MYACCOUNT_VERBOSE("Default icon\n");\r
- MA_SNPRINTF(icon_path, BUFSIZE, "%s", "99_email.png");\r
+ if (!strcmp(tmp_domain_name, "google") || !strcmp(tmp_domain_name, "gmail")) {\r
+ MA_SNPRINTF(icon_path, BUFSIZE, "%s",\r
+ "66_myaccount_icon_google_50x50.png");\r
+ } else if (!strcmp(tmp_domain_name, "yahoo")\r
+ || !strcmp(tmp_domain_name, "ymail")) {\r
+ MA_SNPRINTF(icon_path, BUFSIZE, "%s",\r
+ "66_myaccount_icon_yahoo_50x50.png");\r
+ } else if (!strcmp(tmp_domain_name, "hotmail")) {\r
+ MA_SNPRINTF(icon_path, BUFSIZE, "%s",\r
+ "66_myaccount_icon_msn_50x50.png");\r
+ } else if (!strcmp(tmp_domain_name, "msn")) {\r
+ MA_SNPRINTF(icon_path, BUFSIZE, "%s",\r
+ "66_myaccount_icon_windows_live_50x50.png");\r
+ } else if (!strcmp(tmp_domain_name, "exchange")) {\r
+ MA_SNPRINTF(icon_path, BUFSIZE, "%s",\r
+ "exchange.png");\r
+ } else if (!strcmp(tmp_domain_name, "icq")) {\r
+ MA_SNPRINTF(icon_path, BUFSIZE, "%s", "icq.png");\r
+ } else if (!strcmp(tmp_domain_name, "facebook")) {\r
+ MA_SNPRINTF(icon_path, BUFSIZE, "%s",\r
+ "66_myaccount_icon_facebook_50x50.png");\r
+ } else if (!strcmp(tmp_domain_name, "twitter")) {\r
+ MA_SNPRINTF(icon_path, BUFSIZE, "%s",\r
+ "66_myaccount_icon_twitter_50x50.png");\r
+ } else if (!strcmp(tmp_domain_name, "myspace")) {\r
+ MA_SNPRINTF(icon_path, BUFSIZE, "%s",\r
+ "myspace.png");\r
+ } else if(!strcmp(tmp_domain_name, "picasa")) {\r
+ MA_SNPRINTF(icon_path, BUFSIZE, "%s", "picasa.png");\r
+ } else if(!strcmp(tmp_domain_name, "flickr")) {\r
+ MA_SNPRINTF(icon_path, BUFSIZE, "%s", "flickr.png");\r
+ } else if (!strcmp(tmp_domain_name, "samsung")) {\r
+ MA_SNPRINTF(icon_path, BUFSIZE, "%s",\r
+ "01_samsungaccount.png");\r
+ } else if (!strcmp(tmp_domain_name, "youtube")) {\r
+ MA_SNPRINTF(icon_path, BUFSIZE, "%s", "youtube.png");\r
+ } else if (!strcmp(tmp_domain_name, "others")) {\r
+ MA_SNPRINTF(icon_path, BUFSIZE, "%s", "A01_2_Icon_others.png");\r
+ }else {\r
+ MYACCOUNT_VERBOSE("Default icon\n");\r
+ MA_SNPRINTF(icon_path, BUFSIZE, "%s", "A01_2_Icon_default.png");\r
+ }\r
}\r
\r
void myaccount_common_lowercase(char *src, char *dest)\r
}\r
dest[i] = '\0';\r
}\r
-#ifdef ENABLE_NOTI\r
-void myaccount_common_vconf_notification_cb(keynode_t *key, void *user_data)\r
-{\r
- MYACCOUNT_VERBOSE("myaccount_common_vconf_notification_cb START \n ");\r
- myaccount_common_handle_notification();\r
- MYACCOUNT_VERBOSE("myaccount_common_vconf_notification_cb END \n ");\r
-}\r
-#endif\r
-extern addaccount_list_priv* service_info;\r
-void myaccount_common_handle_notification()\r
+\r
+void myaccount_common_handle_notification(const char* event_type)\r
{\r
myaccount_appdata *appdata = (myaccount_appdata*)myaccount_get_appdata();\r
\r
MYACCOUNT_FATAL("App data NULL!!! \n");\r
return;\r
}\r
+\r
int error_code = -1;\r
int count = -1;\r
char *noti_name = NULL;\r
evas_object_del(appdata->add_genlist);\r
appdata->add_genlist = NULL;\r
elm_naviframe_item_pop(appdata->navi_bar);\r
- MA_MEMFREE(service_info);\r
}\r
if (appdata->account_genlist) {\r
- myaccount_check_syncall_finish(appdata);\r
myaccount_list_refresh_item_list(appdata);\r
} else {\r
myaccount_ug_account_list_create((void*)appdata);\r
}\r
}\r
} else if (appdata->eMode == eMYACCOUNT_ADD_ACCOUNT) {\r
- if (appdata->ug) {\r
- if (!appdata->add_genlist)\r
- MA_MEMFREE(service_info);\r
- error_code = ug_destroy_me(appdata->ug);\r
- MYACCOUNT_DBUG("myaccount_common_handle_notification callback : return = %d!!!\n",\r
- error_code);\r
+ if(event_type){\r
+ if (!strcmp(event_type, ACCOUNT_NOTI_NAME_INSERT) && appdata->ug) {\r
+ service_h service = NULL;\r
+ int ret = -1;\r
+\r
+ ret = service_create(&service);\r
+ MYACCOUNT_VERBOSE("service_create ret (%x)\n", ret);\r
+ ret = service_add_extra_data(service, "account_noti", noti_name);\r
+ MYACCOUNT_VERBOSE("service_add_extra_data ret (%x)\n", ret);\r
+ error_code = ug_send_result(appdata->ug, service);\r
+ MYACCOUNT_VERBOSE("ug_send_result ret (%x)\n", error_code);\r
+ error_code = ug_destroy_me(appdata->ug);\r
+ MYACCOUNT_VERBOSE("myaccount_common_handle_notification callback : return = %d!!!\n",\r
+ error_code);\r
+ }\r
}\r
} else {\r
- MYACCOUNT_DBUG("Unknown mode !!!");\r
+ MYACCOUNT_WARNING("Unknown mode !!!");\r
+ }\r
+}\r
+\r
+bool myaccount_samsung_callback(char* result_code, char* user_id, void *user_data)\r
+{\r
+ MYACCOUNT_VERBOSE("Result Code = %s\n", result_code);\r
+ MYACCOUNT_VERBOSE("User Id = %s\n", user_id);\r
+\r
+ if(user_data) {\r
+ int* test = (int*)user_data;\r
+\r
+ MYACCOUNT_VERBOSE("TEST user data int = %d\n", *test);\r
+ MA_MEMFREE(test);\r
}\r
+\r
+ return TRUE;\r
+}\r
+\r
+static void _myaccount_common_popup_cb(void *data, Evas_Object *obj, void *event_info)\r
+{\r
+ MYACCOUNT_VERBOSE("delete popup\n");\r
+\r
+ if(obj)\r
+ evas_object_del(obj);\r
+}\r
+\r
+Evas_Object* _myaccount_common_add_popup(Evas_Object* parent, const char* text, const char* title)\r
+{\r
+ Evas_Object *popup = elm_popup_add(parent);\r
+\r
+ evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);\r
+\r
+ elm_object_text_set(popup, text);\r
+ elm_object_part_text_set(popup, "title,text", title);\r
+ evas_object_smart_callback_add(popup, "block,clicked", _myaccount_common_popup_cb, NULL);\r
+ elm_popup_timeout_set(popup, 3);\r
+ evas_object_smart_callback_add(popup, "timeout", _myaccount_common_popup_cb, NULL);\r
+ evas_object_show(popup);\r
+ return popup;\r
}\r
\r
int myaccount_common_launch_application(MyAccountRequestViewType\r
char *username,\r
char *email_sp,\r
int account_id,\r
+ MyAccountProviderType sp_type,\r
void *data )\r
{\r
int ret = SERVICE_ERROR_NONE;\r
service_h service;\r
myaccount_appdata *ad = (myaccount_appdata *) data;\r
+ char win_id_buf[64]={0,};\r
char id_buf[64] = {0,};\r
\r
if (!ad || !package_name) {\r
- MYACCOUNT_DBUG("myaccount_common_launch_application: App data=%p, package_name=%p\n",\r
+ MYACCOUNT_ERROR("myaccount_common_launch_application: App data=%p, package_name=%p\n",\r
ad, package_name);\r
return 0;\r
}\r
\r
+ MYACCOUNT_DBUG("trying to launch (%s)\n", package_name);\r
+\r
+ ad->win_id = elm_win_xwindow_get(ad->win_main);\r
+ MA_SNPRINTF(win_id_buf, sizeof(win_id_buf)-1, "%d", ad->win_id);\r
+\r
ret = service_create(&service);\r
- ret = service_set_package(service, package_name);\r
+ ret = service_set_app_id(service, package_name);\r
ret = service_set_window(service, ad->win_id);\r
if(ad->caller_userdata) {\r
MYACCOUNT_DBUG("myaccount_common_launch_application: caller userdata exist!\n");\r
ret = service_add_extra_data(service, "myaccount_userdata", ad->caller_userdata);\r
}\r
\r
- if (ret != SERVICE_ERROR_NONE)\r
- MYACCOUNT_ERROR("myaccount_common_launch_application: service_set_package failed\n");\r
-\r
switch (request_type) {\r
- case MYACCOUNT_REQUEST_SIGNIN :\r
+ case MYACCOUNT_REQUEST_SIGNIN :\r
service_set_operation(service, ACCOUNT_OPERATION_SIGNIN);\r
- if(email_sp && strlen(email_sp) > 0)\r
+ if(email_sp && strlen(email_sp) > 0) {\r
+ MYACCOUNT_DBUG("Tizen email_sp (%s)\n", email_sp);\r
service_add_extra_data(service, ACCOUNT_DATA_SERVICE_PROVIDER, email_sp);\r
- break;\r
- case MYACCOUNT_REQUEST_VIEW :\r
- if(!username) {\r
- MYACCOUNT_ERROR("myaccount_common_launch_application: username=%p !!!\n",\r
- username);\r
+ }\r
+ break;\r
+ case MYACCOUNT_REQUEST_VIEW :\r
+ if(!username) {\r
+ MYACCOUNT_ERROR("myaccount_common_launch_application: username=%p !!!\n",\r
+ username);\r
+ MA_MEMFREE(package_name);\r
+ service_destroy(service);\r
+ return 0;\r
+ }\r
+\r
+ MA_SNPRINTF(id_buf, sizeof(id_buf), "%d", account_id);\r
+ ret = service_add_extra_data(service, ACCOUNT_DATA_ID, id_buf);\r
+ ret = service_set_operation(service, ACCOUNT_OPERATION_VIEW);\r
+ MYACCOUNT_DBUG("###### USERNAME = %s\n", username);\r
+ ret = service_add_extra_data(service, ACCOUNT_DATA_USERNAME,username);\r
+ break;\r
+ default :\r
+ MYACCOUNT_DBUG("myaccount_common_launch_application: Invalid request type=%d\n",\r
+ request_type);\r
+ MA_MEMFREE(username);\r
MA_MEMFREE(package_name);\r
service_destroy(service);\r
return 0;\r
- }\r
-\r
- MA_SNPRINTF(id_buf, sizeof(id_buf), "%d", account_id);\r
- ret = service_add_extra_data(service, ACCOUNT_DATA_ID, id_buf);\r
- ret = service_set_operation(service, ACCOUNT_OPERATION_VIEW);\r
- MYACCOUNT_DBUG("###### USERNAME = %s\n", username);\r
- ret = service_add_extra_data(service, ACCOUNT_DATA_USERNAME,username);\r
- break;\r
- default :\r
- MYACCOUNT_DBUG("myaccount_common_launch_application: Invalid request type=%d\n",\r
- request_type);\r
- MA_MEMFREE(username);\r
- MA_MEMFREE(package_name);\r
- service_destroy(service);\r
- return 0;\r
}\r
MYACCOUNT_VERBOSE("myaccount_common_launch_application request type=%d, package name = %s\n",\r
request_type, package_name);\r
\r
+ ret = service_add_extra_data(service, "XWINDOW_ID", win_id_buf);\r
ret = service_send_launch_request(service, NULL, NULL);\r
+\r
MA_MEMFREE(username);\r
MA_MEMFREE(package_name);\r
service_destroy(service);\r
- if(ret != SERVICE_ERROR_NONE){\r
- return 0;\r
- } else {\r
- return 1;\r
+\r
+ if(ret != SERVICE_ERROR_NONE) {\r
+ MYACCOUNT_ERROR("(%s) launch fail. ret(%x)\n", package_name, ret);\r
+ char buf[64]={0,};\r
+ MA_SNPRINTF(buf, sizeof(buf), "Launch fail (%x)", ret);\r
+ _myaccount_common_add_popup(ad->win_main, buf, "Error");\r
+ ad->item_selected_state = FALSE;\r
}\r
+\r
+ return ret;\r
}\r
\r
\r
evas_object_del(appdata->add_genlist);\r
appdata->add_genlist = NULL;\r
elm_naviframe_item_pop(appdata->navi_bar);\r
- MA_MEMFREE(service_info);\r
}\r
if (appdata->account_genlist) {\r
- myaccount_check_syncall_finish(appdata);\r
myaccount_list_refresh_item_list(appdata);\r
} else {\r
myaccount_ug_account_list_create((void*)appdata);\r
}\r
} else if (appdata->eMode == eMYACCOUNT_ADD_ACCOUNT) {\r
if (appdata->ug) {\r
- if (!appdata->add_genlist)\r
- MA_MEMFREE(service_info);\r
error_code = ug_destroy_me(appdata->ug);\r
MYACCOUNT_VERBOSE("myaccount_common_handle_notification callback : return = %d!!!\n",\r
error_code);\r