INCLUDE_DIRECTORIES(/usr/include)
INCLUDE(FindPkgConfig)
-pkg_check_modules(pkgs REQUIRED elementary appcore-efl ui-gadget-1 accounts-svc evas capi-appfw-application capi-appfw-app-manager vconf pkgmgr capi-system-system-settings)
+pkg_check_modules(pkgs REQUIRED elementary appcore-efl ui-gadget-1 accounts-svc evas capi-appfw-application capi-appfw-app-manager vconf pkgmgr capi-system-system-settings csc-feature iniparser)
FOREACH(flag ${pkgs_CFLAGS})
SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
INSTALL(FILES ${CMAKE_BINARY_DIR}/myaccount.edj DESTINATION /usr/ug/res/edje/${PROJECT_NAME})
INSTALL(FILES ${CMAKE_BINARY_DIR}/myaccount_edc_images.edj DESTINATION /usr/ug/res/edje/${PROJECT_NAME})
INSTALL(FILES ${CMAKE_BINARY_DIR}/myaccount_button.edj DESTINATION /usr/ug/res/edje/${PROJECT_NAME})
+INSTALL(FILES ${CMAKE_BINARY_DIR}/ug.setting-myaccount-efl.include DESTINATION /etc/smack/accesses2.d)
#installing images
--- /dev/null
+Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.\r
+\r
+ Apache License\r
+ Version 2.0, January 2004\r
+ http://www.apache.org/licenses/\r
+\r
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\r
+\r
+ 1. Definitions.\r
+\r
+ "License" shall mean the terms and conditions for use, reproduction,\r
+ and distribution as defined by Sections 1 through 9 of this document.\r
+\r
+ "Licensor" shall mean the copyright owner or entity authorized by\r
+ the copyright owner that is granting the License.\r
+\r
+ "Legal Entity" shall mean the union of the acting entity and all\r
+ other entities that control, are controlled by, or are under common\r
+ control with that entity. For the purposes of this definition,\r
+ "control" means (i) the power, direct or indirect, to cause the\r
+ direction or management of such entity, whether by contract or\r
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the\r
+ outstanding shares, or (iii) beneficial ownership of such entity.\r
+\r
+ "You" (or "Your") shall mean an individual or Legal Entity\r
+ exercising permissions granted by this License.\r
+\r
+ "Source" form shall mean the preferred form for making modifications,\r
+ including but not limited to software source code, documentation\r
+ source, and configuration files.\r
+\r
+ "Object" form shall mean any form resulting from mechanical\r
+ transformation or translation of a Source form, including but\r
+ not limited to compiled object code, generated documentation,\r
+ and conversions to other media types.\r
+\r
+ "Work" shall mean the work of authorship, whether in Source or\r
+ Object form, made available under the License, as indicated by a\r
+ copyright notice that is included in or attached to the work\r
+ (an example is provided in the Appendix below).\r
+\r
+ "Derivative Works" shall mean any work, whether in Source or Object\r
+ form, that is based on (or derived from) the Work and for which the\r
+ editorial revisions, annotations, elaborations, or other modifications\r
+ represent, as a whole, an original work of authorship. For the purposes\r
+ of this License, Derivative Works shall not include works that remain\r
+ separable from, or merely link (or bind by name) to the interfaces of,\r
+ the Work and Derivative Works thereof.\r
+\r
+ "Contribution" shall mean any work of authorship, including\r
+ the original version of the Work and any modifications or additions\r
+ to that Work or Derivative Works thereof, that is intentionally\r
+ submitted to Licensor for inclusion in the Work by the copyright owner\r
+ or by an individual or Legal Entity authorized to submit on behalf of\r
+ the copyright owner. For the purposes of this definition, "submitted"\r
+ means any form of electronic, verbal, or written communication sent\r
+ to the Licensor or its representatives, including but not limited to\r
+ communication on electronic mailing lists, source code control systems,\r
+ and issue tracking systems that are managed by, or on behalf of, the\r
+ Licensor for the purpose of discussing and improving the Work, but\r
+ excluding communication that is conspicuously marked or otherwise\r
+ designated in writing by the copyright owner as "Not a Contribution."\r
+\r
+ "Contributor" shall mean Licensor and any individual or Legal Entity\r
+ on behalf of whom a Contribution has been received by Licensor and\r
+ subsequently incorporated within the Work.\r
+\r
+ 2. Grant of Copyright License. Subject to the terms and conditions of\r
+ this License, each Contributor hereby grants to You a perpetual,\r
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable\r
+ copyright license to reproduce, prepare Derivative Works of,\r
+ publicly display, publicly perform, sublicense, and distribute the\r
+ Work and such Derivative Works in Source or Object form.\r
+\r
+ 3. Grant of Patent License. Subject to the terms and conditions of\r
+ this License, each Contributor hereby grants to You a perpetual,\r
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable\r
+ (except as stated in this section) patent license to make, have made,\r
+ use, offer to sell, sell, import, and otherwise transfer the Work,\r
+ where such license applies only to those patent claims licensable\r
+ by such Contributor that are necessarily infringed by their\r
+ Contribution(s) alone or by combination of their Contribution(s)\r
+ with the Work to which such Contribution(s) was submitted. If You\r
+ institute patent litigation against any entity (including a\r
+ cross-claim or counterclaim in a lawsuit) alleging that the Work\r
+ or a Contribution incorporated within the Work constitutes direct\r
+ or contributory patent infringement, then any patent licenses\r
+ granted to You under this License for that Work shall terminate\r
+ as of the date such litigation is filed.\r
+\r
+ 4. Redistribution. You may reproduce and distribute copies of the\r
+ Work or Derivative Works thereof in any medium, with or without\r
+ modifications, and in Source or Object form, provided that You\r
+ meet the following conditions:\r
+\r
+ (a) You must give any other recipients of the Work or\r
+ Derivative Works a copy of this License; and\r
+\r
+ (b) You must cause any modified files to carry prominent notices\r
+ stating that You changed the files; and\r
+\r
+ (c) You must retain, in the Source form of any Derivative Works\r
+ that You distribute, all copyright, patent, trademark, and\r
+ attribution notices from the Source form of the Work,\r
+ excluding those notices that do not pertain to any part of\r
+ the Derivative Works; and\r
+\r
+ (d) If the Work includes a "NOTICE" text file as part of its\r
+ distribution, then any Derivative Works that You distribute must\r
+ include a readable copy of the attribution notices contained\r
+ within such NOTICE file, excluding those notices that do not\r
+ pertain to any part of the Derivative Works, in at least one\r
+ of the following places: within a NOTICE text file distributed\r
+ as part of the Derivative Works; within the Source form or\r
+ documentation, if provided along with the Derivative Works; or,\r
+ within a display generated by the Derivative Works, if and\r
+ wherever such third-party notices normally appear. The contents\r
+ of the NOTICE file are for informational purposes only and\r
+ do not modify the License. You may add Your own attribution\r
+ notices within Derivative Works that You distribute, alongside\r
+ or as an addendum to the NOTICE text from the Work, provided\r
+ that such additional attribution notices cannot be construed\r
+ as modifying the License.\r
+\r
+ You may add Your own copyright statement to Your modifications and\r
+ may provide additional or different license terms and conditions\r
+ for use, reproduction, or distribution of Your modifications, or\r
+ for any such Derivative Works as a whole, provided Your use,\r
+ reproduction, and distribution of the Work otherwise complies with\r
+ the conditions stated in this License.\r
+\r
+ 5. Submission of Contributions. Unless You explicitly state otherwise,\r
+ any Contribution intentionally submitted for inclusion in the Work\r
+ by You to the Licensor shall be under the terms and conditions of\r
+ this License, without any additional terms or conditions.\r
+ Notwithstanding the above, nothing herein shall supersede or modify\r
+ the terms of any separate license agreement you may have executed\r
+ with Licensor regarding such Contributions.\r
+\r
+ 6. Trademarks. This License does not grant permission to use the trade\r
+ names, trademarks, service marks, or product names of the Licensor,\r
+ except as required for reasonable and customary use in describing the\r
+ origin of the Work and reproducing the content of the NOTICE file.\r
+\r
+ 7. Disclaimer of Warranty. Unless required by applicable law or\r
+ agreed to in writing, Licensor provides the Work (and each\r
+ Contributor provides its Contributions) on an "AS IS" BASIS,\r
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\r
+ implied, including, without limitation, any warranties or conditions\r
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\r
+ PARTICULAR PURPOSE. You are solely responsible for determining the\r
+ appropriateness of using or redistributing the Work and assume any\r
+ risks associated with Your exercise of permissions under this License.\r
+\r
+ 8. Limitation of Liability. In no event and under no legal theory,\r
+ whether in tort (including negligence), contract, or otherwise,\r
+ unless required by applicable law (such as deliberate and grossly\r
+ negligent acts) or agreed to in writing, shall any Contributor be\r
+ liable to You for damages, including any direct, indirect, special,\r
+ incidental, or consequential damages of any character arising as a\r
+ result of this License or out of the use or inability to use the\r
+ Work (including but not limited to damages for loss of goodwill,\r
+ work stoppage, computer failure or malfunction, or any and all\r
+ other commercial damages or losses), even if such Contributor\r
+ has been advised of the possibility of such damages.\r
+\r
+ 9. Accepting Warranty or Additional Liability. While redistributing\r
+ the Work or Derivative Works thereof, You may choose to offer,\r
+ and charge a fee for, acceptance of support, warranty, indemnity,\r
+ or other liability obligations and/or rights consistent with this\r
+ License. However, in accepting such obligations, You may act only\r
+ on Your own behalf and on Your sole responsibility, not on behalf\r
+ of any other Contributor, and only if You agree to indemnify,\r
+ defend, and hold each Contributor harmless for any liability\r
+ incurred by, or claims asserted against, such Contributor by reason\r
+ of your accepting any such warranty or additional liability.\r
+\r
+ END OF TERMS AND CONDITIONS\r
+\r
+ APPENDIX: How to apply the Apache License to your work.\r
+\r
+ To apply the Apache License to your work, attach the following\r
+ boilerplate notice, with the fields enclosed by brackets "[]"\r
+ replaced with your own identifying information. (Don't include\r
+ the brackets!) The text should be enclosed in the appropriate\r
+ comment syntax for the file format. We also recommend that a\r
+ file or class name and description of purpose be included on the\r
+ same "printed page" as the copyright notice for easier\r
+ identification within third-party archives.\r
+\r
+ Copyright [yyyy] [name of copyright owner]\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://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
+ 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
* 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://floralicense.org/license/\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
#include <bundle.h>\r
#include <ui-gadget-module.h>\r
#include <package-manager.h>\r
+#include <account-types.h>\r
#include "Eina.h"\r
\r
#ifndef LOG_TAG\r
Evas_Object *ly;\r
Evas_Object *add_genlist;\r
bool item_selected_state;\r
+ GList* sp_info_list;\r
+ GList* sorted_sp_list;\r
\r
/* to hold info about key lock*/\r
int lock_priv_state;\r
/* extra data from ug caller */\r
char *capability_filter;\r
char *caller_userdata;\r
+ account_subscribe_h account_subscribe;\r
}myaccount_appdata;\r
\r
int myaccount_account_info_update(struct appdata *ad);\r
void myaccount_account_list_quit_cb( void *data,\r
Evas_Object *obj, void *event_info );\r
\r
+#ifdef ACCOUNT_SYNC_ALL\r
void myaccount_check_syncall_finish(myaccount_appdata *ad);\r
+#endif\r
\r
\r
\r
#include "myaccount_ug_common.h"\r
\r
typedef struct __addaccount_list_priv {\r
- int service_id;\r
char service_name[256];\r
+ char service_sname[256];\r
char package_name[256];\r
- char library_name[256];\r
char icon_path[1024];\r
MyAccountProviderType sp_type;\r
bool b_tizen_email;\r
+ bool multiple_account_support;\r
}addaccount_list_priv;\r
\r
void *myaccount_addaccount_create(ui_gadget_h ug,\r
\r
void myaccount_addaccount_create_view(myaccount_appdata *ad);\r
\r
+void myaccount_addaccount_free_priv_data(myaccount_appdata *appdata);\r
+\r
void *myaccount_init_appdata();\r
\r
void *myaccount_get_appdata();\r
\r
typedef enum {\r
MYACCOUNT_TYPE_ANONYMOUS,\r
+ MYACCOUNT_TYPE_CSC,\r
+ MYACCOUNT_TYPE_TIZEN,\r
MYACCOUNT_TYPE_OTHER\r
}MyAccountProviderType;\r
\r
\r
void myaccount_common_handle_notification();\r
\r
-void myaccount_common_vconf_notification_cb(keynode_t *key, void *user_data);\r
-\r
void myaccount_common_listen_pkgmgr_for_pkg_uninstall();\r
\r
#define MA_UG_NAME "ug-setting-myaccount-efl"\r
\r
#include <Elementary.h>\r
\r
-typedef struct {\r
- Evas_Object *base;\r
- ui_gadget_h ug;\r
-}myaccount_ug_data;\r
-\r
#endif /* _MYACCOUNT_UG_MAIN_H_ */\r
\r
#sbs-git:slp/apps/m/my-account my-account 1.5.38 c12e7805519b99951f91c33cc96745c7f36166af
Name: my-account
Summary: My account application
-Version: 1.7.17
+Version: 1.8.24
Release: 1
Group: main/devel
License: TO_BE_FILL
BuildRequires: pkgconfig(accounts-svc)
BuildRequires: pkgconfig(vconf)
BuildRequires: pkgconfig(pkgmgr)
+BuildRequires: pkgconfig(iniparser)
+BuildRequires: pkgconfig(csc-feature)
BuildRequires: pkgconfig(capi-system-system-settings)
BuildRequires: cmake
BuildRequires: gettext-devel
%setup -q
%build
+export CFLAGS="${CFLAGS} -fPIC -fvisibility=hidden"
%define PREFIX "/usr"
cmake . -DCMAKE_INSTALL_PREFIX=%{PREFIX}
/usr/ug/lib/*
/usr/ug/res/*
/usr/share/packages/*.xml
+/etc/smack/accesses2.d/*
%post
/sbin/ldconfig
-vconftool set -t int db/account/auto_sync 0 -g 6514
+vconftool set -f -t int db/account/auto_sync 1 -g 6514
vconftool set -t int db/account/sync_all 0 -g 6514
mkdir -p /usr/ug/bin/
ln -sf /usr/bin/ug-client /usr/ug/bin/setting-myaccount-efl
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "كل البيانات"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "خادم المزامنة"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "بريد إلكتروني"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "الفيديو"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "رسائل البريد الإلكتروني الأخرى"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "الحسابات والمزامنة"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "Bütün verilənlər"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "Sinxronlaşdırma serveri"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "Elektron poçtlar"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "Video"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Digər epoçtlar"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "Hesablar və sinxronlaşdırma"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "Всички данни"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "Сървър за синхр."
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "Email"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "Видеоклипове"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Други email-и"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "Акаунти и синхронизиране"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "Totes les dades"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "Servidor de sincronització"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "Correu electrònic"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "Vídeos"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Altres correus electrònics"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "Comptes i sincronització"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "Všechna data"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "Synchronizační server"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "E-mail"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "Videa"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Další e-maily"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "Účty a synchronizace"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "Alle data"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "Synkserver"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "E-mail"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "Videoklip"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Andre e-mails"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "Konti og synkronisering"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "Alle Daten"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "Sync.-Server"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "E-Mail"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "Videos"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Andere E-Mails"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "Konten und Synchronisierung"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "Όλα τα δεδομένα"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "Διακομιστής συγχρονισμού"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "Email"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "Βίντεο"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Άλλα email"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "Λογαριασμοί και συγχρονισμός"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "All data"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "Sync server"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "Email"
msgstr "Windows Live Hotmail"
msgid "IDS_COM_BODY_CALENDAR_T_MAINMENU_ABB2"
-msgstr "Calendar"
+msgstr "docomo phonebook, Schedule & Memo"
msgid "IDS_COM_BODY_SAMSUNG_APPS_T_MAINMENU"
msgstr "Samsung Apps"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "Videos"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Other emails"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "Accounts and sync"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "All data"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "Sync server"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "Email"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "Videos"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Other emails"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "Accounts and sync"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "All data"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "Sync server"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "Email"
msgstr "Windows Live Hotmail"
msgid "IDS_COM_BODY_CALENDAR_T_MAINMENU_ABB2"
-msgstr "Calendar"
+msgstr "docomo phonebook, Schedule & Memo"
msgid "IDS_COM_BODY_SAMSUNG_APPS_T_MAINMENU"
msgstr "Samsung Apps"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "Videos"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Other emails"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "Accounts and sync"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "Todos los datos"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "Servidor de sincronización"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "Correo electrónico"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "Vídeos"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Otros correos electrónicos"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "Cuentas y sincronización"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "Todo"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "Servidor de sincronización"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "Correo"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "Videos"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Otros correos"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "Cuentas y sincronización"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "Kõik andmed"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "Sünkrooni server"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "E-post"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "Videod"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Teised e-posti aadressid"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "Kontod ja sünkroonimine"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "Datu guztiak"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "Sinkronizazio zerbitzaria"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "Posta elektroniko mezuak"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "Bideoak"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Beste helbide elektroniko batzuk"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "Kontuak eta sinkronizazioa"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "Kaikki tiedot"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "Synkronointipalvelin"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "Sähköposti"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "Videot"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Muut sähköpostiviestit"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "Tilit ja synkronointi"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "Toutes les données"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "Serveur de synchro."
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "Courriel"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "Vidéos"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Autres courriels"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "Comptes et synchronisation"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "Toutes les données"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "Serveur de synchro."
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "Email"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "Vidéos"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Autres e-mails"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "Comptes et synchro."
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "Gach sonra"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "Freastalaí sioncronaithe"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "R-phost"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "Físeáin"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "R-phoist eile"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "Cuntais agus sioncronú"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "Todos os datos"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "Servidor de sincronización"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "Correo electrónico"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "Vídeos"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Outros correos electrónicos"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "Contas e sincronización"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "सभी डाटा"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "सर्वर सिंक करें"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "ईमेल"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "विडियो"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "अन्य ईमेल्स"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "खाते और सिंक्र"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "Svi podaci"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "Poslužitelj sinkronizacije"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "Email"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "Video"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Drugi email"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "Računi i sinkronizacija"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "Összes adat"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "Szinkronizációs szerver"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "E-mail"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "Videók"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Egyéb e-mailek"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "Fiókok és szinkronizálás"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "Բոլոր տվյալները"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "Համաժամացման սերվեր"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "Էլ.փոստ"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "Տեսահոլովակներ"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Այլ էլփոստեր"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "Հաշիվներ և հմժմ"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "Öll gögn"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "Netþjónn samstillingar"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "Tölvupóstur"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "Myndskeið"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Annar tölvupóstur"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "Reikningar og samstilling"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "Tutti i dati"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "Server sincronizzazione"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "E-mail"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "Video"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Altre e-mail"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "Account e sincronizzazione"
+
msgstr "Google"
msgid "IDS_MA_BODY_CONTACT_SYNC"
-msgstr "é\9b»è©±å¸³同期"
+msgstr "é\80£çµ¡å\85\88ã\82\92同期"
msgid "IDS_MA_BODY_PEAK_DAYS"
msgstr "ピーク日"
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "全てのデータ"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "同期サーバー"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "Eメール"
msgstr "Windows Live Hotmail"
msgid "IDS_COM_BODY_CALENDAR_T_MAINMENU_ABB2"
-msgstr "ã\82«ã\83¬ã\83³ã\83\80ã\83¼"
+msgstr "ã\83\89ã\82³ã\83¢é\9b»è©±å¸³, ã\82¹ã\82±ã\82¸ã\83¥ã\83¼ã\83«ï¼\86ã\83¡ã\83¢"
msgid "IDS_COM_BODY_SAMSUNG_APPS_T_MAINMENU"
msgstr "Samsung Apps"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "動画"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "その他のEメール"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "アカウントと同期"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "ყველა მონაცემი"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "სინქრონიზაციის სერვერი"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "ელ-ფოსტა"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "ვიდეოები"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "სხვა ელ.წერილები"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "ანგარიშები და სინქრონიზაცია"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "Барлық деректер"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "Синхрондау сервері"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "Эл. пошта"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "Бейнежазбалар"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Басқа электрондық пошталар"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "Есептік жазбалар және синхрондау"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "모든 데이터"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "동기화 서버"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "이메일"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "동영상"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "다른 이메일"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "계정 및 동기화"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "Visi duomenys"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "Sinchr. serveris"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "El. paštas"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "Vaizdo įrašai"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Kiti el. laiškai"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "Paskyros ir sinchr."
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "Visi dati"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "Sinhronizēšanas serveris"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "E-pasts"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "Video"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Citas e-pasta adreses"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "Konti un sinhronizācija"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "Сите податоци"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "Сервер за синхронизација"
+
msgid "IDS_COM_BODY_EMAIL"
-msgstr "E-mail"
+msgstr "Е-пошта"
msgid "IDS_MA_BODY_EXCHANGE"
msgstr "Exchange"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "Видео-записи"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Други email-пораки"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "Сметки и синхронизација"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "Alle data"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "Synk-server"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "E-post"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "Videoklipp"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Annen e-post"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "Kontoer og synkronisering"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "Alle gegevens"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "Synchronisatieserver"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "E-mail"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "Video's"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Overige e-mails"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "Account- en synchronisatie-instellingen"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "Wszystkie dane"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "Serwer synch."
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "E-mail"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "Filmy"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Inne adresy e-mail"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "Konta i synchronizacja"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "Todos os dados"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "Servidor de sincronização"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "E-mail"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "Vídeos"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Outros e-mails"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "Contas e sincronização"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "Todos os dados"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "Servidor de sincronização"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "E-mail"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "Vídeos"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Outros e-mails"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "Contas e sincronização"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "Toate datele"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "Sincronizare server"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "Email"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "Videoclipuri"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Alte e-mailuri"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "Conturi şi sincronizare"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "Все данные"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "Сервер синхронизации"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "E-mail"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "Видео"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Другие сообщения электронной почты"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "Учетные записи и синхронизация"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "Všetky údaje"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "Synchronizačný server"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "E-mail"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "Videá"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Ďalšie e-maily"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "Kontá a synchronizácia"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "Vsi podatki"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "Strežnik za sinhronizacijo"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "E-pošta"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "Videoposnetki"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Druge e-pošte"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "Računi in sinhronizacija"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "Svi podaci"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "Server za sinhronizaciju"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "E-pošta"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "Video zapisi"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Druge adrese e-pošte"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "Nalozi i sinhronizacija"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "Alla data"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "Synkroniseringsserver"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "E-post"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "Videoklipp"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Övrig e-post"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "Konton och synkning"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "Tüm veriler"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "Senkr. sunucusu"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "E-posta"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "Videolar"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Diğer e-postalar"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "Hesaplar ve senkr"
+
msgstr "OK"
msgid "IDS_MA_HEADER_ADD_ACCOUNT"
-msgstr "Дод. обл. запис"
+msgstr "Додати облiковий запис"
msgid "IDS_FB_HEADER_FACEBOOK"
msgstr "Facebook"
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "Всі дані"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "Сервер синхронізації"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "Email"
msgstr "Контакт"
msgid "IDS_MA_HEADER_ACCOUNTS"
-msgstr "Обл. записи"
+msgstr "Облікові записи"
msgid "IDS_PB_BODY_PHOTO"
msgstr "Фото"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "Відео"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Інші адреси Email"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "Облікові записи та синхронізація"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "Barcha ma’lumot"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "Sinx. serveri"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "E-pochta"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "Videolar"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "Boshqa e-pochtalar"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "Hisob qaydnomalari va sinxronlash"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "所有数据"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "同步服务器"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "电子邮件"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "视频"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "其他电子邮件"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "账户和同步"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "全部數據"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "同步伺服器"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "電子郵件"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "影片"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "其他電子郵件"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "帳戶與同步"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "全部数据"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "同步化服务器"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "电邮"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "录像"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "其他电子邮件"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "帐户和同步"
+
msgid "IDS_MA_OPT_ALL_DATA"
msgstr "所有資料"
+msgid "IDS_SYNCML_BODY_SYNC_SERVER"
+msgstr "同步伺服器"
+
msgid "IDS_COM_BODY_EMAIL"
msgstr "電子郵件"
msgid "IDS_ST_BODY_VIDEOS"
msgstr "影片"
+msgid "IDS_PB_BODY_OTHER_EMAILS"
+msgstr "其他電子郵件"
+
+msgid "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"
+msgstr "帳號與同步處理"
+
<?xml version="1.0" encoding="utf-8"?>\r
-<manifest xmlns="http://tizen.org/ns/packages" package="setting-myaccount-efl" version="1.7.17" install-location="internal-only">\r
+<manifest xmlns="http://tizen.org/ns/packages" package="setting-myaccount-efl" version="1.8.24" install-location="internal-only">\r
<label>my-account</label>\r
<author email="wy1115.lee@samsung.com" href="www.samsung.com">Wonyoung Lee</author>\r
<description>My Account Application</description>\r
#include "myaccount_ug_account_list.h"
#include "myaccount_ug_addaccount.h"
#include "myaccount_ug_common.h"
+#include <csc-feature.h>
typedef struct __capability_data {
char* type;
static Elm_Genlist_Item_Class account_list_itc;
static Elm_Genlist_Item_Class account_list_title_itc;
+#ifdef ACCOUNT_SYNC_ALL
static Elm_Genlist_Item_Class account_auto_sync_itc;
+#endif
static Elm_Genlist_Item_Class account_list_itc_sep;
static Elm_Genlist_Item_Class account_list_itc_sep_end;
static myaccount_list_priv *account_info;
if (!strcmp(capability_type, ACCOUNT_SUPPORTS_CAPABILITY_CONTACT))
return dgettext(MA_UG_NAME, "IDS_MA_BODY_CONTACT");
else if (!strcmp(capability_type, ACCOUNT_SUPPORTS_CAPABILITY_CALENDAR))
- return dgettext(MA_UG_NAME, "IDS_COM_BODY_CALENDAR_T_MAINMENU_ABB2");
+ return dgettext("sys_string", "IDS_COM_BODY_S_PLANNER");
else if (!strcmp(capability_type ,ACCOUNT_SUPPORTS_CAPABILITY_PHOTO))
return dgettext(MA_UG_NAME, "IDS_PB_BODY_PHOTO");
else if (!strcmp(capability_type ,ACCOUNT_SUPPORTS_CAPABILITY_VIDEO))
return dgettext(MA_UG_NAME, "IDS_ST_BODY_MOBILE_TRACKER");
else if (!strcmp(capability_type ,ACCOUNT_SUPPORTS_CAPABILITY_TASK))
return dgettext(MA_UG_NAME, "IDS_COM_BODY_TASK");
+ else if (!strcmp(capability_type ,ACCOUNT_SUPPORTS_CAPABILITY_MEMO))
+ return dgettext("sys_string", "IDS_COM_BODY_S_NOTE");
else
return dgettext(MA_UG_NAME, "IDS_COM_POP_UNKNOWN");
}
myaccount_addaccount_create_view(priv);
}
+#ifdef ACCOUNT_SYNC_ALL
static void __myaccount_check_sync_support_active_count(int *active_count)
{
int index = 0;
MYACCOUNT_INFO("Unkown sync all status(%d) \n", sync_all_status);
}
}
+#endif
static char *__myaccount_account_list_gl_label_get(void *data,
Evas_Object *obj, const char *part)
return NULL;
}
+#ifdef ACCOUNT_SYNC_ALL
static char *__myaccount_account_auto_sync_gl_label_get(void *data,
Evas_Object *obj, const char *part)
{
}
return NULL;
}
+#endif
+
static Evas_Object *__myaccount_account_list_gl_icon_get(void *data,
Evas_Object *obj, const char *part)
"66_myaccount_icon_push_press.png");
}
}
+
+ MYACCOUNT_DBUG("## icon path (%s)\n", tempbuf);
+
+ if(strlen(tempbuf) > 0) {
icon = elm_icon_add(obj);
if (strstr(tempbuf, "/"))
elm_image_file_set(icon, tempbuf, NULL);
evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_NONE, 1, 1);
}
+ }
MYACCOUNT_VERBOSE("__myaccount_account_list_gl_icon_get :: END :: icon = %p\n",
icon);
return icon;
&account_list_itc_sep, NULL, NULL,
ELM_GENLIST_ITEM_NONE, NULL, NULL);
elm_genlist_item_select_mode_set(it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+#ifdef ACCOUNT_SYNC_ALL
elm_genlist_item_append(ad->account_genlist,
&account_auto_sync_itc, (void *)ad, NULL,
ELM_GENLIST_ITEM_NONE,
__myaccount_account_auto_sync_gl_sel,
(void *)ad);
+#endif
it = elm_genlist_item_append(ad->account_genlist,
&account_list_title_itc, NULL, NULL,
ELM_GENLIST_ITEM_NONE, NULL, NULL);
ELM_GENLIST_ITEM_NONE,
__myaccount_account_list_gl_sel,
(void *)&account_info[index]);
- elm_genlist_item_select_mode_set(it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
}
} else {
it = elm_genlist_item_append(ad->account_genlist,
ELM_GENLIST_ITEM_NONE,
__myaccount_account_list_gl_sel,
(void *)&account_info[index]);
- elm_genlist_item_select_mode_set(it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
}
}
}
return;
}
+
+static void _myaccount_ug_account_gl_realized(void *data, Evas_Object *obj, void *ei)
+{
+ Elm_Object_Item *it = NULL;
+ int total_count = 0;
+ int index = 0;
+ Evas_Object *ao;
+ char buf[2048]={0,};
+ char bufdomain[2048]={0,};
+
+ if(!ei) {
+ MYACCOUNT_ERROR("Realized event info is NULL!!! \n");
+ return;
+ }
+
+ it = (Elm_Object_Item *)ei;
+
+ total_count = elm_genlist_items_count(obj);
+ index = elm_genlist_item_index_get(it);
+
+ MYACCOUNT_VERBOSE("Total genlist item count(%d)!!! \n", total_count);
+#ifdef ACCOUNT_SYNC_ALL
+ if(index > 3 && index < total_count)
+#else
+ if(index > 2 && index < total_count)
+#endif
+ {
+ /*Add account items. index 1 and last are the seperators*/
+ myaccount_list_priv *account_info_item = (myaccount_list_priv*)elm_object_item_data_get(it);
+ memset(buf, 0, 2048);
+ memset(bufdomain, 0, 2048);
+
+ if (strlen(account_info_item->domain_name) > 0)
+ g_snprintf(bufdomain, 1024, "Logged into %s with user id ", account_info_item->domain_name);
+ else
+ g_snprintf(bufdomain, 1024, "Service unknown user id ");
+
+ if (strlen(account_info_item->display_name) > 0)
+ g_snprintf(buf, 1024, "%s%s", bufdomain, account_info_item->display_name);
+ else if (strlen(account_info_item->email_address) > 0)
+ g_snprintf(buf, 1024, "%s%s", bufdomain, account_info_item->email_address);
+ else if (strlen(account_info_item->username) > 0)
+ g_snprintf(buf, 1024, "%s%s", bufdomain, account_info_item->username);
+ else
+ g_snprintf(buf, 1024, "%sUnknown", account_info_item->domain_name);
+
+ ao = elm_object_item_access_object_get(it);
+ elm_access_info_set(ao, ELM_ACCESS_INFO, buf);
+ } else if (index == 2) {
+ ao = elm_object_item_access_object_get(it);
+ elm_access_info_set(ao, ELM_ACCESS_CONTEXT_INFO, "Turn Auto Sync on or off");
+ } else if (index == 3) {
+ ao = elm_object_item_access_object_get(it);
+ elm_access_info_set(ao, ELM_ACCESS_CONTEXT_INFO, "Below is the list of all logged in accounts");
+ } else {
+ /*Remove access for seperators*/
+ elm_object_item_access_unregister(ei);
+ }
+
+#ifdef ACCOUNT_SYNC_ALL
+ if(total_count <= 5)
+#else
+ if(total_count <= 4)
+#endif
+ {
+ MYACCOUNT_INFO("DO NOTHING only one account exist, total_count(%d) index(%d) !!! \n", total_count, index);
+ } else {
+ if (index == 2) {
+ MYACCOUNT_VERBOSE("DO NOTHING realized (%d) !!! \n", index);
+#ifdef ACCOUNT_SYNC_ALL
+ } else if (index == 4) {
+#else
+ } else if (index == 3) {
+#endif
+ MYACCOUNT_VERBOSE("TOP realized (%d) !!! \n", index);
+ elm_object_item_signal_emit(ei, "elm,state,top", "");
+ } else if (index == (total_count-1)) {
+ MYACCOUNT_VERBOSE("BOTTOM realized (%d) item count (%d) !!! \n", index, total_count);
+ elm_object_item_signal_emit(ei, "elm,state,bottom", "");
+ } else {
+ MYACCOUNT_VERBOSE("CENTER realized (%d) !!! \n", index);
+ elm_object_item_signal_emit(ei, "elm,state,center", "");
+ }
+ }
+}
+
static Evas_Object *__myaccount_account_list_create_genlist(
myaccount_appdata *ad)
{
account_list_title_itc.func.content_get = __myaccount_account_list_title_progress_get;
account_list_title_itc.func.state_get = NULL;
account_list_title_itc.func.del = NULL;
-
+#ifdef ACCOUNT_SYNC_ALL
account_auto_sync_itc.item_style = "dialogue/1text.1icon";
account_auto_sync_itc.func.text_get = __myaccount_account_auto_sync_gl_label_get;
account_auto_sync_itc.func.content_get = __myaccount_account_auto_sync_gl_icon_get;
account_auto_sync_itc.func.state_get = NULL;
account_auto_sync_itc.func.del = NULL;
+#endif
/*to add 40 pixel separator*/
account_list_itc_sep.item_style = "dialogue/separator";
account_list_itc_sep_end.func.del = NULL;
ad->account_genlist = genlist = elm_genlist_add(ad->navi_bar);
-
- elm_object_style_set (genlist, "dialogue");
+ evas_object_smart_callback_add(genlist, "realized", _myaccount_ug_account_gl_realized, NULL);
evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
elm_genlist_mode_set(genlist, EINA_TRUE);
Evas_Object *layout;
Evas_Object *l_button;
Evas_Object *btn;
+#ifdef ACCOUNT_SYNC_ALL
int sync_all_status;
int active_count = 0;
- int index;
+ int index = 0;
int ret =-1;
char buf[BUFSIZE]={0,};
+#endif
if (ad == NULL) {
MYACCOUNT_ERROR("myaccount_ug_account_list_create myaccount_appdata is null\n");
evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set( layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
edje_object_signal_emit(_EDJ(layout), "elm,state,show,content", "elm");
- edje_object_signal_emit(_EDJ(layout), "elm,bg,show,group_list", "elm");
+ //edje_object_signal_emit(_EDJ(layout), "elm,bg,show,group_list", "elm");
+ elm_object_style_set(ad->bg, "group_list");
evas_object_show(layout);
+#ifdef ACCOUNT_SYNC_ALL
ad->refresh_btn = elm_button_add(ad->navi_bar);
elm_object_style_set(ad->refresh_btn, "naviframe/title_icon");
else
elm_image_file_set(ad->cancel_sync_icon, MA_IMAGE_EDJ_NAME, buf);
elm_image_no_scale_set(ad->cancel_sync_icon, EINA_FALSE);
+#endif
genlist = __myaccount_account_list_create_genlist(ad);
+#ifdef ACCOUNT_SYNC_ALL
+
if (vconf_get_int(VCONFKEY_ACCOUNT_SYNC_ALL_STATUS_INT, &sync_all_status) < 0) {
MYACCOUNT_ERROR("Fail to get VCONFKEY_ACCOUNT_SYNC_ALL_STATUS_INT\n");
return;
}
evas_object_smart_callback_add(ad->refresh_btn,
"clicked", __myaccount_account_list_refresh_btn_clicked_cb, ad);
+#endif
elm_object_part_content_set (layout, "accountlist.genlist", genlist);
ad->l_title_sk = l_button = elm_button_add(ad->navi_bar);
elm_object_style_set(l_button , "naviframe/back_btn/default");
ad->navi_it = elm_naviframe_item_push(ad->navi_bar,
dgettext(MA_UG_NAME,
- "IDS_MA_HEADER_ACCOUNTS"),
+ "IDS_ST_HEADER_ACCOUNTS_AND_SYNC"),
l_button, NULL, layout, NULL);
-
+#ifdef ACCOUNT_SYNC_ALL
elm_object_item_part_content_set(ad->navi_it,
"title_right_btn", ad->refresh_btn);
+#endif
btn = elm_button_add(ad->navi_bar);
if (!btn) {
MYACCOUNT_ERROR("myaccount_ug_account_list_create elm_button_add FAIL\n");
void myaccount_list_view_create(myaccount_appdata *priv)
{
- struct ug_cbs cbs = {0,};
+ /*struct ug_cbs cbs = {0,};*/
+ __attribute__((__unused__)) struct ug_cbs cbs = {0,};
cbs.layout_cb = _myaccount_ug_account_list_layout_cb;
cbs.result_cb = _myaccount_ug_account_list_result_cb;
cbs.destroy_cb = _myaccount_ug_account_list_destroy_cb;
void myaccount_list_refresh_item_list(myaccount_appdata *ad)
{
int count = 0;
- Elm_Object_Item *p_it;
-
- p_it = elm_genlist_last_item_get(ad->account_genlist);
- MYACCOUNT_VERBOSE("myaccount_list_refresh_item_list : p_it=%p\n", p_it);
+ MYACCOUNT_DBUG("START\n");
- while (p_it) {
- MYACCOUNT_VERBOSE("myaccount_list_refresh_item_list : in loop p_it=%p\n", p_it);
- if (p_it) {
- elm_object_item_del(p_it);
- p_it = elm_genlist_last_item_get(ad->account_genlist);
- }
+ if(!ad) {
+ MYACCOUNT_FATAL("no appdata!\n");
+ return;
}
+ elm_genlist_clear(ad->account_genlist);
+
MYACCOUNT_DBUG("Account list removed completely!\n");
if(account_info) {
if (account_info->capablity_list) {
return;
}
+#ifdef ACCOUNT_SYNC_ALL
void myaccount_check_syncall_finish(myaccount_appdata *ad)
{
int ret = -1;
}
}
}
+#endif
/*
- * Copyright 2012 Samsung Electronics Co., Ltd
+ * my-account
*
- * Licensed under the Flora License, Version 1.0 (the License);
+ * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * Contact: Wonyoung Lee <wy1115.lee@samsung.com>, Tarun Kumar <tarun.kr@samsung.com>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
- * http://floralicense.org/license/
+ * http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an AS IS BASIS,
+ * distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
+ *
*/
#ifndef UG_MODULE_API
#define UG_MODULE_API __attribute__ ((visibility("default")))
#endif
-
#include <Ecore_X.h>
#include "myaccount_ug_common.h"
#include "myaccount_ug_addaccount.h"
#include <vconf.h>
#include <app_manager.h>
#include <system_settings.h>
+#include <iniparser.h>
+
+#define SORT_PRIOR_1 "1_"
+#define SORT_PRIOR_2 "2_"
+#define SORT_PRIOR_3 "3_"
+#define TIZEN_EMAIL_APPID "email-setting-efl"
-#define PREDEFINED_ACCOUNT_CNT 1
-#define ACCOUNT_APP_TYPE_UI_GADGET "ui-gadget"
+#define TIZEN_EMAIL_CSC_FILE_PATH "/opt/system/csc-default/data/csc-default-data-email-account.ini"
+#define TIZEN_EMAIL_CSC_SP_COUNT_KEY "email_account:count"
+#define TIZEN_EMAIL_CSC_SP_NAME_PREFIX "email_account:name_"
static Elm_Genlist_Item_Class addacc_list_itc;
#ifndef ENABLE_HELP
#endif
static Elm_Genlist_Item_Class addacc_list_itc_sep_end;
-addaccount_list_priv* service_info;
+static bool _myaccount_addaccount_get_account_type_info_cb(account_type_h account_type, void *user_data);
+
#ifdef ENABLE_HELP
static char *__myaccount_add_account_help_label_get(void *data,
Evas_Object *obj, const char *part)
{
addaccount_list_priv *service = (addaccount_list_priv*)data;
+ char buf[2048]={0,};
if (!strcmp(part, "elm.text") || !strcmp(part, "elm.text.2")) {
- return strdup(service->service_name);
+
+ int value = -1;
+ system_settings_get_value_int(SYSTEM_SETTINGS_KEY_FONT_SIZE, &value);
+
+ if(!strcmp(service->service_name, dgettext(MA_UG_NAME, "IDS_EMAIL_BODY_MICROSOFT_EXCHANGE_ACTIVESYNC"))
+ && value == SYSTEM_SETTINGS_FONT_SIZE_NORMAL) {
+
+ sprintf(buf, "<font_size=%d>%s</font_size>", 39, service->service_name);
+ return strdup(buf);
+
+ } else {
+ return strdup(service->service_name);
+ }
}
return NULL;
return false;
}
-static gboolean __myaccount_ug_addaccount_able_to_add(char *pkg_name)
-{
- char package_name[256] = {0,};
- int error_code = ACCOUNT_ERROR_NONE;
- bool supported = false;
-
- error_code = account_connect();
- if (error_code != ACCOUNT_ERROR_NONE) {
- MYACCOUNT_ERROR("__myaccount_ug_addaccount_able_to_add account db connect fail (%x)\n", error_code);
- error_code = account_disconnect();
- MYACCOUNT_INFO("account db disconnect error_code(%x)\n", error_code);
- return FALSE;
- }
-
- if(!pkg_name) {
- MYACCOUNT_ERROR("__myaccount_ug_addaccount_able_to_add: No package name\n");
- return FALSE;
- }
-
- MA_STRNCPY(package_name, pkg_name, sizeof(package_name));
-
- error_code = account_query_account_by_package_name(
- myaccount_add_account_by_package_name_cb,
- package_name, NULL);
-
- if (error_code == ACCOUNT_ERROR_NONE) {
- account_get_application_multiple_account_support(package_name, &supported);
- if (supported) {
- error_code = account_disconnect();
- MYACCOUNT_INFO("account db disconnect error_code(%x)\n", error_code);
- return TRUE;
- } else {
- error_code = account_disconnect();
- MYACCOUNT_INFO("account db disconnect error_code(%x)\n", error_code);
- return FALSE;
- }
- } else {
- error_code = account_disconnect();
- MYACCOUNT_INFO("account db disconnect error_code(%x)\n", error_code);
- return TRUE;
- }
-
- return FALSE;
-}
-
static void __myaccount_addaccount_gl_sel(void *data,
Evas_Object *obj, void *event_info)
{
return;
}
+#if 0
if(ad->item_selected_state) {
elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
return;
}
+#endif
ad->item_selected_state = true;
MYACCOUNT_VERBOSE("__myaccount_account_list_gl_sel START\n");
if (item != NULL) {
elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
- MYACCOUNT_VERBOSE("service->package_name = %s \n ", service->package_name);
+ MYACCOUNT_VERBOSE("service->package_name = %s \n ",
+ service->package_name);
switch(service->sp_type) {
case MYACCOUNT_TYPE_OTHER:
-1,
ad);
break;
- case MYACCOUNT_TYPE_ANONYMOUS:
+ case MYACCOUNT_TYPE_CSC:
+ MA_SNPRINTF(email_sp, sizeof(email_sp), "%s", service->service_name);
+ MYACCOUNT_ERROR("CSC sp name (%s)\n", email_sp);
+ myaccount_common_launch_application(
+ MYACCOUNT_REQUEST_SIGNIN,
+ strdup(service->package_name),
+ NULL,
+ email_sp,
+ -1,
+ ad);
+ break;
default:
if(myaccount_common_launch_application(
MYACCOUNT_REQUEST_SIGNIN,
return icon;
}
- static bool __account_iter_func(service_h service, const char* pkg_name,
- void *data)
- {
- GSList **pkg_list = (GSList **)data;
- char *pkgname = NULL;
+void myaccount_addaccount_free_priv_data(myaccount_appdata *appdata)
+{
+ GList* it = NULL;
+ myaccount_appdata *ad = (myaccount_appdata *)appdata;
- MYACCOUNT_DBUG("##### AUL iter func called pkgname=%s(%d)\n",
- pkg_name, __LINE__);
+ MYACCOUNT_INFO("addaccount priv data free START\n");
- if (!strcmp(pkg_name, "email-setting-efl")) {
- MYACCOUNT_DBUG("Exception Tizen email pkgname=%s(%d)\n", pkg_name, __LINE__);
- return TRUE;
+ if(!ad) {
+ MYACCOUNT_ERROR("No appdata!!\n");
+ return;
}
- if (__myaccount_ug_addaccount_able_to_add((char *)pkg_name) == TRUE) {
- pkgname = strdup(pkg_name);
- *pkg_list = g_slist_append(*pkg_list, pkgname);
+ MYACCOUNT_INFO("ad->sorted_sp_list(%p)\n", ad->sorted_sp_list);
+ MYACCOUNT_INFO("ad->sp_info_list(%p)\n", ad->sp_info_list);
+
+ for(it=ad->sorted_sp_list;it!=NULL;it=g_list_next(it)) {
+ addaccount_list_priv* tmp = (addaccount_list_priv*)it->data;
+ MA_MEMFREE(tmp);
+ }
+
+ if(ad->sp_info_list) {
+ g_list_free(ad->sp_info_list);
+ ad->sp_info_list = NULL;
}
- //END temporary check
- return TRUE;
- }
-static int myaccount_get_appinfo(char* pkgname, int appinfo_idx)
+ ad->sorted_sp_list = NULL;
+
+ MYACCOUNT_INFO("addaccount priv data free END\n");
+
+}
+
+static addaccount_list_priv*
+_myaccount_addaccount_create_priv_item()
{
- int index = appinfo_idx;
- MYACCOUNT_VERBOSE("myaccount_get_appinfo index = %d\n", index);
- char *icon = NULL;
- char *name = NULL;
-
- account_get_application_icon_path(pkgname, &icon);
- if (!icon)
- app_manager_get_app_icon_path(pkgname, &icon);
-
- app_manager_get_app_name(pkgname, &name);
-
- MA_STRNCPY(service_info[index].icon_path, icon,
- sizeof(service_info[index].icon_path));
- MA_STRNCPY(service_info[index].service_name, name,
- sizeof(service_info[index].service_name));
- MA_STRNCPY(service_info[index].package_name, pkgname,
- sizeof(service_info[index].package_name));
- service_info[index].sp_type = MYACCOUNT_TYPE_ANONYMOUS;
-
- service_info[index].b_tizen_email = FALSE;
-
- MA_MEMFREE(icon);
- MA_MEMFREE(name);
- return 1;
+ addaccount_list_priv* sp_info = NULL;
+ sp_info = (addaccount_list_priv*)calloc(1,sizeof(addaccount_list_priv));
+ if(!sp_info) {
+ MYACCOUNT_FATAL("memory allocation fail\n");
+ }
+ return sp_info;
}
-static int __myaccount_addaccount_populate_service_info()
+static bool _myaccount_addaccount_get_service_label_cb(char* app_id, char* label, char* locale, void *user_data)
{
- int pkg_count = 0;
- int ret = SERVICE_ERROR_NONE;
- GSList *pkg_list = NULL;
- GSList *iter = NULL;
- char* list_item = NULL;
- service_h service;
-
- ret = service_create(&service);
- if (ret != SERVICE_ERROR_NONE) {
- MYACCOUNT_ERROR("myaccount add : service_create fail ret=%d\n", ret);
+ addaccount_list_priv** sp_info = (addaccount_list_priv**)user_data;
+
+ if(!app_id) {
+ MYACCOUNT_ERROR(" account type label app_id is null app_id=%p\n", app_id);
+ return FALSE;
+ }
+
+ if(!label) {
+ MYACCOUNT_ERROR(" account type label label is null label=%p\n", label);
+ return FALSE;
+ }
+
+ //TODO. consider system laungage setting considering between slp and osp
+
+ if(*sp_info) {
+ MA_STRNCPY((*sp_info)->service_name, label,
+ sizeof((*sp_info)->service_name));
+ MA_SNPRINTF((*sp_info)->service_sname,
+ sizeof((*sp_info)->service_sname), "%s%s", SORT_PRIOR_3, (*sp_info)->service_name);
+ } else {
+ MYACCOUNT_INFO("(*sp_info) is null (%p)\n", (*sp_info));
+ }
+
+ MYACCOUNT_INFO("account type label:: appid(%s), label(%s), name(%s)\n", app_id, label, (*sp_info)->service_name);
+
+ return TRUE;
+}
+
+static bool _myaccount_addaccount_get_account_type_info_cb(account_type_h account_type, void *user_data)
+{
+ GList **service_info_list = (GList **)user_data;
+ char* type_buf = NULL;
+ int type_int = -1, ret = -1;
+ addaccount_list_priv* sp_info = NULL;
+
+ if(account_type == NULL) {
+ MYACCOUNT_ERROR(" account type handle is NULL \n");
+ return FALSE;
+ }
+
+ sp_info = _myaccount_addaccount_create_priv_item();
+
+ ret = account_type_get_app_id(account_type, &type_buf);
+ if(ret == ACCOUNT_ERROR_NONE ) {
+ if(type_buf) {
+ MA_STRNCPY(sp_info->package_name, type_buf,
+ sizeof(sp_info->package_name));
+ } else {
+ MYACCOUNT_ERROR("No appid available\n");
+ }
} else {
- MYACCOUNT_VERBOSE("myaccount add : service_create SUCCESS!!!!!! ret=%d\n",
- ret);
- }
- ret = service_set_operation(service, ACCOUNT_OPERATION_SIGNIN);
- if (ret != SERVICE_ERROR_NONE) {
- MYACCOUNT_ERROR("myaccount add : service_set_operation fail ret=%d\n", ret);
- } else {
- MYACCOUNT_VERBOSE("myaccount add : service_set_operation SUCCESS!!!!!! ret=%d\n",
- ret);
- }
- ret = service_foreach_app_matched(service, __account_iter_func, &pkg_list);
- if (ret != SERVICE_ERROR_NONE) {
- MYACCOUNT_ERROR("myaccount add : service_foreach_app_matched fail ret=%d\n",
- ret);
+ MYACCOUNT_ERROR("account_type_get_app_id return(%x)\n", ret);
+ }
+ MA_MEMFREE(type_buf);
+
+ if(!strcmp(sp_info->package_name, "email-setting-efl")) {
+ //MYACCOUNT_INFO("Samsung account exception\n");
+ MA_MEMFREE(sp_info);
+ /* Other email */
+ sp_info = _myaccount_addaccount_create_priv_item();
+ MA_STRNCPY(sp_info->service_name,
+ dgettext(MA_UG_NAME, "IDS_PB_BODY_OTHER_EMAILS"),
+ sizeof(sp_info->service_name));
+ MA_SNPRINTF(sp_info->service_sname, sizeof(sp_info->service_sname), "%s%s", SORT_PRIOR_3, sp_info->service_name);
+ MA_STRNCPY(sp_info->package_name,
+ "email-setting-efl",
+ sizeof(sp_info->package_name));
+ myaccount_common_get_icon_by_name("others",
+ sp_info->icon_path);
+ sp_info->sp_type = MYACCOUNT_TYPE_OTHER;
+ sp_info->b_tizen_email = TRUE;
+ *service_info_list = g_list_append(*service_info_list, (void*)sp_info);
+ return TRUE;
+ }
+
+ ret = account_type_get_icon_path(account_type, &type_buf);
+ if(ret == ACCOUNT_ERROR_NONE ) {
+ if(type_buf) {
+ MA_STRNCPY(sp_info->icon_path, type_buf,
+ sizeof(sp_info->icon_path));
+ } else {
+ MYACCOUNT_ERROR("No icon path available\n");
+ }
} else {
- MYACCOUNT_VERBOSE("myaccount add : service_foreach_app_matched SUCCESS!!!!!! ret=%d\n",
- ret);
+ MYACCOUNT_ERROR("account_type_get_app_id return(%x)\n", ret);
+ }
+ MA_MEMFREE(type_buf);
+
+ account_type_get_label(account_type,_myaccount_addaccount_get_service_label_cb, &sp_info);
+
+ account_type_get_multiple_account_support(account_type, &type_int);
+ sp_info->multiple_account_support = type_int;
+ MYACCOUNT_INFO(" account type multiple account support (%d) \n", type_int);
+
+ if(type_int == FALSE
+ && account_query_account_by_package_name(myaccount_add_account_by_package_name_cb, sp_info->package_name, NULL) == ACCOUNT_ERROR_NONE) {
+ MYACCOUNT_ERROR("Multiple account not support (%s)\n", sp_info->package_name);
+ MA_MEMFREE(sp_info);
+ return TRUE;
+ }
+
+ *service_info_list = g_list_append(*service_info_list, (void*)sp_info);
+
+ return TRUE;
+}
+
+static void _myaccount_addaccount_get_account_type_info(const char* capability_filter, GList** sp_info_list)
+{
+ if(!sp_info_list) {
+ MYACCOUNT_ERROR("sp_info_list is null\n");
+ return;
+ }
+
+ account_connect();
+ if(capability_filter) {
+ MYACCOUNT_DBUG("capability filter requested (%s)\n", capability_filter);
+ if(!strcmp(capability_filter, ACCOUNT_SUPPORTS_CAPABILITY_TIZEN_EMAIL)){
+ account_type_query_by_provider_feature(_myaccount_addaccount_get_account_type_info_cb, ACCOUNT_SUPPORTS_CAPABILITY_EMAIL, (void*)sp_info_list);
+ }else {
+ account_type_query_by_provider_feature(_myaccount_addaccount_get_account_type_info_cb, capability_filter, (void*)sp_info_list);
+ }
+ }
+ else {
+ MYACCOUNT_DBUG("get all account type requested \n");
+ account_type_foreach_account_type_from_db(_myaccount_addaccount_get_account_type_info_cb, (void*)sp_info_list);
+ }
+ account_disconnect();
+}
+
+static bool _myaccount_addaccount_get_csc_sp_list(GList** sp_info_list)
+{
+ addaccount_list_priv* sp_info = NULL;
+ dictionary* dic = NULL;
+ int i = 0;
+ int sp_count = -1;
+ char* sp_name = NULL;
+
+ MYACCOUNT_DBUG("START csc splist\n");
+ // check ini file /opt/system/csc-default/data/csc-default-data-email-account.ini
+ dic = iniparser_load(TIZEN_EMAIL_CSC_FILE_PATH);
+ if(!dic){
+ MYACCOUNT_ERROR("email csc file is not exist\n");
+ return FALSE;
}
- pkg_count = g_slist_length(pkg_list);
- pkg_count += PREDEFINED_ACCOUNT_CNT;
- service_info = calloc(pkg_count, sizeof(addaccount_list_priv));
+ sp_count = iniparser_getint(dic, TIZEN_EMAIL_CSC_SP_COUNT_KEY, 0);
+ MYACCOUNT_DBUG("key (%s), sp count (%d)\n", TIZEN_EMAIL_CSC_SP_COUNT_KEY, sp_count);
+
+ if(sp_count <= 0) {
+ iniparser_freedict(dic);
+ MYACCOUNT_ERROR("email sp count 0\n");
+ return FALSE;
+ }
+
+ //email ini key index is started from 1
+ for(i=1;i<=sp_count;i++) {
+ char buf[256] = {0,};
+ sp_info = _myaccount_addaccount_create_priv_item();
+ MA_SNPRINTF(buf,sizeof(buf),"%s%d", TIZEN_EMAIL_CSC_SP_NAME_PREFIX, i);
+ sp_name = iniparser_getstr(dic, buf);
+ MYACCOUNT_DBUG("key (%s), sp_name (%s)\n", buf, sp_name);
+ MA_STRNCPY(sp_info->service_name, sp_name,
+ sizeof(sp_info->service_name));
+ MA_SNPRINTF(sp_info->service_sname, sizeof(sp_info->service_sname), "%s%s", SORT_PRIOR_3, sp_info->service_name);
+ MA_STRNCPY(sp_info->package_name, "email-setting-efl",
+ sizeof(sp_info->package_name));
+
+ sp_info->sp_type = MYACCOUNT_TYPE_CSC;
+
+ sp_info->b_tizen_email = TRUE;
+ sp_info->multiple_account_support = TRUE;
+
+ *sp_info_list = g_list_append(*sp_info_list, (void*)sp_info);
+ }
+
+ iniparser_freedict(dic);
+
+ MYACCOUNT_DBUG("END csc splist\n");
+
+ return TRUE;
+}
+
+static int _myaccount_ug_addaccount_compare(gconstpointer a, gconstpointer b)
+{
+ addaccount_list_priv* sp_info_a = (addaccount_list_priv*)a;
+ addaccount_list_priv* sp_info_b = (addaccount_list_priv*)b;
+
+ MYACCOUNT_DBUG("sp_info_a->service_sname a(%s) b(%s)\n", sp_info_a->service_sname, sp_info_b->service_sname);
+
+ return g_ascii_strcasecmp(sp_info_a->service_sname, sp_info_b->service_sname);
+}
+
+static int __myaccount_addaccount_populate_service_info(myaccount_appdata *ad)
+{
+ int pkg_count = 0;
+
+ _myaccount_addaccount_get_csc_sp_list(&ad->sp_info_list);
+ _myaccount_addaccount_get_account_type_info(ad->capability_filter, &ad->sp_info_list);
+ ad->sorted_sp_list = g_list_sort(ad->sp_info_list, (GCompareFunc)_myaccount_ug_addaccount_compare);
+ pkg_count = g_list_length(ad->sorted_sp_list);
+
+ return pkg_count;
+}
+
+static void _myaccount_ug_addaccount_gl_realized(void *data, Evas_Object *obj, void *ei)
+{
+ Elm_Object_Item *it = NULL;
+ int total_count = 0;
int index = 0;
+ Evas_Object *ao;
+ char buf[2048]={0,};
+
+ if(!ei) {
+ MYACCOUNT_ERROR("Realized event info is NULL!!! \n");
+ return;
+ }
+
+ it = (Elm_Object_Item *)ei;
- MA_STRNCPY(service_info[index].service_name,
- dgettext(MA_UG_NAME, "IDS_MA_BODY_OTHERS"),
- sizeof(service_info[index].service_name));
- MA_STRNCPY(service_info[index].package_name,
- "email-setting-efl",
- sizeof(service_info[index].package_name));
- myaccount_common_get_icon_by_name("others",
- service_info[index].icon_path);
- service_info[index].sp_type = MYACCOUNT_TYPE_OTHER;
- service_info[index].b_tizen_email = TRUE;
- index++;
-
- for (iter = pkg_list; iter != NULL; iter = g_slist_next(iter)) {
- list_item = (char *)iter->data;
- myaccount_get_appinfo(list_item, index++);
- MYACCOUNT_VERBOSE("############### pkg name = %s \n", list_item);
- g_free(list_item);
- }
-
- g_slist_free(pkg_list);
- ret = service_destroy(service);
- if (ret != SERVICE_ERROR_NONE) {
- MYACCOUNT_ERROR("myaccount add : service_destroy fail ret=%d\n", ret);
+ total_count = elm_genlist_items_count(obj);
+ index = elm_genlist_item_index_get(it);
+
+ if(index != 1 && index != total_count) {
+ /*Add account items. index 1 and last are the seperators*/
+ addaccount_list_priv *service = (addaccount_list_priv*)elm_object_item_data_get(it);
+ memset(buf, 0, 2048);
+ g_snprintf(buf, 100, "Allows you to add your %s Account", service->service_name);
+ ao = elm_object_item_access_object_get(it);
+ elm_access_info_set(ao, ELM_ACCESS_CONTEXT_INFO, buf);
} else {
- MYACCOUNT_VERBOSE("myaccount add : service_destroy SUCCESS!!!!!! ret=%d\n",
- ret);
+ /*Remove access for seperators*/
+ elm_object_item_access_unregister(ei);
}
- MYACCOUNT_VERBOSE("populate service list END\n");
- return pkg_count;
+ MYACCOUNT_VERBOSE("Total add account item (%d) !!! \n", total_count);
+
+ if(total_count <= 3) {
+ MYACCOUNT_VERBOSE("DO NOTHING only one add account item, total_count(%d) index(%d) !!! \n", total_count, index);
+ } else {
+ if (index == 2) {
+ MYACCOUNT_VERBOSE("TOP realized (%d) !!! \n", index);
+ elm_object_item_signal_emit(ei, "elm,state,top", "");
+ } else if (index == (total_count-1)) {
+ MYACCOUNT_VERBOSE("BOTTOM realized (%d) item count (%d) !!! \n", index, total_count);
+ elm_object_item_signal_emit(ei, "elm,state,bottom", "");
+ } else {
+ MYACCOUNT_VERBOSE("CENTER realized (%d) !!! \n", index);
+ elm_object_item_signal_emit(ei, "elm,state,center", "");
+ }
+ }
}
+
static Evas_Object *__myaccount_addaccount_create_genlist(
myaccount_appdata *ad, int count)
{
MYACCOUNT_VERBOSE("\n __myaccount_addaccount_create_genlist called !!! \n");
Evas_Object *genlist;
Elm_Object_Item *it;
- bool supported = false;
#ifdef ENABLE_HELP
Elm_Object_Item *help;
#endif
- int index;
if (ad == NULL) {
MYACCOUNT_FATAL("__myaccount_addaccount_create_genlist returns NULL\n");
addacc_list_itc_sep_end.func.del = NULL;
genlist = elm_genlist_add(ad->navi_bar);
- elm_object_style_set (genlist, "dialogue");
- MYACCOUNT_DBUG("############################# ADD SERVICE COUNT = %d\n",
+ evas_object_smart_callback_add(genlist, "realized", _myaccount_ug_addaccount_gl_realized, NULL);
+
+ MYACCOUNT_VERBOSE("############################# ADD SERVICE COUNT = %d\n",
count);
#ifdef ENABLE_HELP
help = elm_genlist_item_append(genlist, &help_itc, (void*)ad, NULL,
ELM_GENLIST_ITEM_NONE, NULL, NULL);
elm_genlist_item_select_mode_set(it, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
#endif
- for (index = 0; index < count; index++) {
+
+ GList* iter;
+
+ MYACCOUNT_INFO("Append genlist START \n");
+
+ for(iter=ad->sorted_sp_list;iter!=NULL;iter=g_list_next(iter)) {
+ addaccount_list_priv* tmp = (addaccount_list_priv*)iter->data;
+
if(ad->capability_filter) {
- /* Tizen email exception */
- if( !strcmp(ad->capability_filter, ACCOUNT_SUPPORTS_CAPABILITY_TIZEN_EMAIL)) {
- if(service_info[index].b_tizen_email) {
+ if( !strcmp(ad->capability_filter, ACCOUNT_SUPPORTS_CAPABILITY_TIZEN_EMAIL)) { /* Tizen email exception */
+ if(tmp->b_tizen_email) {
elm_genlist_item_append(genlist, &addacc_list_itc,
- (void *)&service_info[index], NULL,
+ (void *)tmp, NULL,
ELM_GENLIST_ITEM_NONE,
__myaccount_addaccount_gl_sel,
- (void *)&service_info[index]);
+ (void *)tmp);
}
} else {
- account_get_application_capability_support(
- service_info[index].package_name,
- ad->capability_filter,
- &supported);
- if (supported) {
elm_genlist_item_append(genlist, &addacc_list_itc,
- (void *)&service_info[index], NULL,
+ (void *)tmp, NULL,
ELM_GENLIST_ITEM_NONE,
__myaccount_addaccount_gl_sel,
- (void *)&service_info[index]);
+ (void *)tmp);
}
- }
} else {
elm_genlist_item_append(genlist, &addacc_list_itc,
- (void *)&service_info[index], NULL,
+ (void *)tmp, NULL,
ELM_GENLIST_ITEM_NONE,
__myaccount_addaccount_gl_sel,
- (void *)&service_info[index]);
+ (void *)tmp);
}
+
}
+
+ MYACCOUNT_INFO("Append genlist COMPLETE \n");
+
it = elm_genlist_item_append(genlist,
&addacc_list_itc_sep_end, NULL, NULL,
ELM_GENLIST_ITEM_NONE, NULL, NULL);
myaccount_appdata *priv = (myaccount_appdata*)data;
int count = -1;
+ MYACCOUNT_INFO("myaccount_account_list_quit_cb START\n");
+
error_code = myaccount_common_get_all_account_cnt(&count);
if (error_code != ACCOUNT_ERROR_NONE) {
MYACCOUNT_ERROR("__myaccount_addaccount_quit_cb: myaccount_common_get_all_account_cnt fail(%d) \n",
error_code);
}
- MYACCOUNT_VERBOSE("myaccount_account_list_quit_cb START\n");
+
if (!priv) {
MYACCOUNT_ERROR("myaccount_account_list_quit_cb callback user data is null!!!\n");
return;
}
- MA_MEMFREE(service_info);
+
if ((count > 0) && (priv->eMode == eMYACCOUNT_ACCOUNT_LIST)) {
if (priv->add_genlist) {
evas_object_del(priv->add_genlist);
priv->add_genlist = NULL;
}
+ myaccount_addaccount_free_priv_data(priv);
elm_naviframe_item_pop(priv->navi_bar);
+ MYACCOUNT_INFO("eMYACCOUNT_ACCOUNT_LIST mode END\n");
return;
}
+
if (priv->ug) {
error_code = ug_destroy_me(priv->ug);
MYACCOUNT_DBUG("myaccount_account_list_quit_cb callback : return = %d!!!\n",
error_code);
}
- MYACCOUNT_VERBOSE("myaccount_account_list_quit_cb END\n");
+
+ MYACCOUNT_INFO("myaccount_account_list_quit_cb END\n");
}
void myaccount_addaccount_genlist_create(void *data)
MYACCOUNT_FATAL("myaccount_addaccount_genlist_create myaccount_appdata is null\n");
return;
}
- service_cnt = __myaccount_addaccount_populate_service_info();
+
+ service_cnt = __myaccount_addaccount_populate_service_info(ad);
ad->add_genlist = genlist = __myaccount_addaccount_create_genlist(ad, service_cnt);
l_button = elm_button_add(ad->navi_bar);
evas_object_smart_callback_add(l_button,
void myaccount_addaccount_create_view(myaccount_appdata *ad)
{
MYACCOUNT_VERBOSE("\n myaccount_addaccount_create_view called !!! \n");
+ myaccount_addaccount_free_priv_data(ad);
myaccount_addaccount_genlist_create(ad);
}
/*\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);\r
\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 {\r
+ MYACCOUNT_VERBOSE("Default icon\n");\r
+ MA_SNPRINTF(icon_path, BUFSIZE, "%s", "99_email.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
+\r
void myaccount_common_handle_notification()\r
{\r
myaccount_appdata *appdata = (myaccount_appdata*)myaccount_get_appdata();\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
+#ifdef ACCOUNT_SYNC_ALL\r
myaccount_check_syncall_finish(appdata);\r
+#endif\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
+ 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_DBUG("myaccount_common_handle_notification callback : return = %d!!!\n",\r
+ MYACCOUNT_VERBOSE("myaccount_common_handle_notification callback : return = %d!!!\n",\r
error_code);\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
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
+#ifdef ACCOUNT_SYNC_ALL\r
myaccount_check_syncall_finish(appdata);\r
+#endif\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
/*\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_account_list.h"\r
return ugd->base;\r
}\r
\r
-#ifdef ENABLE_NOTI\r
+bool myaccount_subscribe_callback(const char* event_type, int account_id, void* user_data)\r
+{\r
+ MYACCOUNT_DBUG("event_type (%s)\n", event_type);\r
+ MYACCOUNT_DBUG("account id (%d)\n", account_id);\r
+\r
+ myaccount_common_handle_notification();\r
+\r
+ return TRUE;\r
+}\r
+\r
int myaccount_subscribe_to_account_notification_vconfkey()\r
{\r
MYACCOUNT_DBUG("myaccount_subscribe_to_account_notification_vconfkey\n");\r
\r
- if (vconf_notify_key_changed(VCONFKEY_ACCOUNT_MSG_STR,\r
- (vconf_callback_fn)myaccount_common_vconf_notification_cb,\r
- NULL) == 0) {\r
- MYACCOUNT_DBUG("Vconf Subscription Success!!!!\n");\r
- return 1;\r
- } else {\r
- MYACCOUNT_DBUG("Vconf Subscription Failed !!!!!\n");\r
- return -1;\r
- }\r
+ myaccount_appdata* ad = (myaccount_appdata*)myaccount_get_appdata();\r
+\r
+ account_subscribe_create(&ad->account_subscribe);\r
+ account_subscribe_notification(ad->account_subscribe, myaccount_subscribe_callback, NULL);\r
+ return 1;\r
}\r
-#endif\r
\r
static void myaccount_account_list_start(ui_gadget_h ug,\r
service_h data, void *priv)\r
static void myaccount_account_list_pause(ui_gadget_h ug,\r
service_h data, void *priv)\r
{\r
- myaccount_appdata *ugd;\r
+ __attribute__((__unused__)) myaccount_appdata *ugd;\r
ugd = (myaccount_appdata*)priv;\r
\r
MYACCOUNT_DBUG("My account ug goes to pause state\n");\r
}\r
-extern addaccount_list_priv* service_info;\r
\r
static void myaccount_account_list_resume(ui_gadget_h ug,\r
service_h data, void *priv)\r
\r
static void myaccount_account_list_destroy(ui_gadget_h ug,\r
service_h data, void *priv)\r
- {\r
- MYACCOUNT_DBUG("myaccount_ug_destroy START[%s]", __func__);\r
+{\r
+ MYACCOUNT_DBUG("myaccount_ug_destroy START[%s]", __func__);\r
\r
- if (!ug || !priv) {\r
- MYACCOUNT_DBUG("myaccount_account_ug_destroy ### ug=%p, priv=%p\n",\r
- ug, priv);\r
+ if (!ug || !priv) {\r
+ MYACCOUNT_DBUG("myaccount_account_ug_destroy ### ug=%p, priv=%p\n",\r
+ ug, priv);\r
return;\r
- }\r
+ }\r
\r
- myaccount_destroy_appdata();\r
+ myaccount_appdata *ugd;\r
+ ugd = (myaccount_appdata*)priv;\r
\r
- if (g_handle_noti > 0) {\r
+ account_unsubscribe_notification(ugd->account_subscribe);\r
+\r
+ myaccount_destroy_appdata();\r
+\r
+ if (g_handle_noti > 0) {\r
g_source_remove(g_handle_noti);\r
g_handle_noti = 0;\r
- }\r
- if (vconf_ignore_key_changed(VCONFKEY_ACCOUNT_MSG_STR,\r
- (vconf_callback_fn)myaccount_common_vconf_notification_cb) == 0) {\r
- MYACCOUNT_DBUG("Vconf Ignore Key change success \n");\r
- } else {\r
- MYACCOUNT_DBUG("Vconf Ignore Key change Failed \n");\r
- }\r
+ }\r
\r
- MYACCOUNT_DBUG("Terminate Myaccount_ug_main[%s]", __func__);\r
- }\r
+ MYACCOUNT_DBUG("Terminate Myaccount_ug_main[%s]", __func__);\r
+}\r
\r
static void myaccount_account_list_message(ui_gadget_h ug,\r
service_h msg,\r
MYACCOUNT_DBUG("myaccount UG_MODULE_EXIT!\n");\r
}\r
\r
+typedef enum {\r
+ MYACCOUNT_RESET_FAILED = -1,\r
+ MYACCOUNT_UNDEFINED_LIB_SYMBOL = -2,\r
+ MYACCOUNT_OPERATE_LIB_SUCCESS = 0\r
+}MyAccountResetErrorCode_e;\r
+\r
+static MyAccountResetErrorCode_e\r
+__myaccount_account_exchange_reset(service_h data, void *priv)\r
+{\r
+ int (*reset) (service_h pair, void *ptr);\r
+ MyAccountResetErrorCode_e ret = MYACCOUNT_OPERATE_LIB_SUCCESS;\r
+\r
+ void *handle = dlopen("/usr/ug/lib/libug-activesync-efl.so", RTLD_LAZY);\r
+ if (!handle) {\r
+ MYACCOUNT_DBUG("Exchange library dlopen failed %s", dlerror());\r
+ return MYACCOUNT_RESET_FAILED;\r
+ }\r
+ char *error = NULL;\r
+ reset = dlsym(handle, "setting_plugin_reset");\r
+ if ((error = dlerror()) != NULL){\r
+ MYACCOUNT_DBUG(" >>>>>>>>>>> %s", error);\r
+ dlclose(handle);\r
+ return MYACCOUNT_UNDEFINED_LIB_SYMBOL;\r
+ }\r
+ if (reset)\r
+ ret = (*reset) (data, priv);\r
+\r
+ if (ret < 0) ret = MYACCOUNT_RESET_FAILED;\r
+\r
+ dlclose(handle);\r
+ return ret;\r
+}\r
+\r
+UG_MODULE_API int setting_plugin_reset(service_h data, void *priv)\r
+{\r
+ /*reset exchange account information first*/\r
+ int error_code = -1;\r
+ MyAccountResetErrorCode_e ret = MYACCOUNT_OPERATE_LIB_SUCCESS;\r
+\r
+ ret = __myaccount_account_exchange_reset(data, priv);\r
+ if(ret != MYACCOUNT_OPERATE_LIB_SUCCESS) {\r
+ MYACCOUNT_DBUG("__myaccount_account_exchange_reset returns %d\n",\r
+ error_code);\r
+ return (int)ret;\r
+ }\r
+ return (int)MYACCOUNT_OPERATE_LIB_SUCCESS;\r
+}\r
--- /dev/null
+$1 system::homedir x
+$1 com.samsung.indicator w
+$1 system::vconf rwx
+$1 device::app_logging w
+$1 device::sys_logging w
+$1 system::use_internet r
+$1 com.samsung.dropbox r
+$1 com.samsung.facebook rx
+$1 pkgmgr::db rw
+$1 libaccounts-svc::db r
+$1 ug.setting-synchronise-efl include
+$1 samsung-account-front rx