tizen 2.4 release accepted/tizen_2.4_mobile tizen_2.4 accepted/tizen/2.4/mobile/20151029.041551 submit/tizen_2.4/20151028.062616 tizen_2.4_mobile_release
authorjk7744.park <jk7744.park@samsung.com>
Sat, 24 Oct 2015 06:39:42 +0000 (15:39 +0900)
committerjk7744.park <jk7744.park@samsung.com>
Sat, 24 Oct 2015 06:39:42 +0000 (15:39 +0900)
53 files changed:
CMakeLists.txt [changed mode: 0755->0644]
LICENSE [changed mode: 0755->0644]
data/edje/all_apps_portrait.edc
data/edje/button_edit.edc
data/edje/group_4x4_portrait.edc
data/edje/index.edc
data/edje/item_4x4.edc
data/edje/layout_portrait.edc
data/icons/org.tizen.menu-screen.png [changed mode: 0755->0644]
data/org.tizen.menu-screen.xml.in [changed mode: 0755->0644]
include/all_apps/db.h
include/all_apps/layout.h
include/all_apps/list.h
include/all_apps/shortcut.h
include/conf.h
include/db.h
include/index.h
include/item.h
include/item_badge.h
include/item_event.h
include/key.h
include/layout.h
include/list.h
include/mapbuf.h
include/menu_screen.h
include/mouse.h
include/page.h
include/page_scroller.h
include/pkgmgr.h
include/popup.h
include/util.h
org.tizen.menu-screen.efl [changed mode: 0755->0644]
packaging/org.tizen.menu-screen.spec [changed mode: 0755->0644]
src/all_apps/db.c
src/all_apps/layout.c
src/all_apps/list.c
src/all_apps/shortcut.c
src/db.c
src/index.c
src/item.c
src/item_badge.c
src/item_event.c
src/key.c
src/layout.c
src/list.c
src/mapbuf.c
src/menu_screen.c
src/mouse.c
src/page.c
src/page_scroller.c
src/pkgmgr.c
src/popup.c
src/util.c

old mode 100755 (executable)
new mode 100644 (file)
index bf11187..eed6b55
@@ -32,6 +32,9 @@ pkg_check_modules(MENU_PKGS REQUIRED
        bundle
        capi-appfw-application
        capi-system-info
+       capi-appfw-preference
+       capi-system-system-settings
+       capi-system-info
        dlog
        ecore
        ecore-evas
@@ -48,7 +51,6 @@ pkg_check_modules(MENU_PKGS REQUIRED
        pkgmgr-info
        shortcut
        syspopup-caller
-       utilX
 )
 
 IF(USE_ARM)
diff --git a/LICENSE b/LICENSE
old mode 100755 (executable)
new mode 100644 (file)
index 3d4a47d..54b213e
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+Copyright (c) 2000 - 2015 Samsung Electronics Co., Ltd. All rights reserved.
 
                                  Apache License
                            Version 2.0, January 2004
index 4b2c759b14c1b43969504f843ed09abfe2f3049b..e2406cb1775fbb297beae1eedd8f17523342d5e1 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
@@ -25,7 +25,7 @@
 #define _BASE_HEIGHT 1280
 
 collections {
-       base_scale: 1.8;
+       base_scale: 2.4;
        group {
                name: "all_apps";
                parts {
index fefa59fcbfae6064f488bd0326daf03711a6862a..d979d784dabbe8fc26b2be13344dbf5fdf1c2d35 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
@@ -41,7 +41,7 @@ images {
 
 
 collections {
-       base_scale: 1.8;
+       base_scale: 2.4;
        group {
                name: "button_edit";
                parts {
index ff7a34a2889632e634425d379a01c6ff154b7823..00af231b8d657f6f3b6c2f5cb452d84e3d1d4109 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
 #define ITEM_15_Y ITEM_12_Y
 
 collections {
-       base_scale: 1.8;
+       base_scale: 2.4;
        group {
                name: "menu_bg";
                parts {
index 713e38240a8c6817dcfb98154c81a3ccaa586110..27af80a78d39ea4af041d536bf734af8b29c3a1c 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
@@ -26,7 +26,7 @@
 #define INDEX_PAGECONTROL_FONT_SIZE_INC 18
 
 collections {
-   base_scale: 1.8;
+   base_scale: 2.4;
    group {
       name: "elm/index/base/vertical/menuscreen/index";
       alias: "elm/index/base/horizontal/menuscreen/index";
index 541e59c56a54a9f993a5ad1e58ffc746eba3b139..f3b0ecb400d32c290167d9960f8448951cf21fc7 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
@@ -43,7 +43,7 @@ images {
 
 
 collections {
-       base_scale: 1.8;
+       base_scale: 2.4;
        group {
                name: "icon";
 
@@ -57,7 +57,6 @@ collections {
                                        state: "default" 0.0;
                                        rel1 { relative: 0.0 0.0; }
                                        rel2 { relative: 1.0 1.0; }
-                                       fixed: 1 1;
                                        visible: 0;
                                }
                        }
@@ -71,7 +70,6 @@ collections {
                                        rel1 { relative: 31/_ITEM_WIDTH 0.0; to: "bg"; }
                                        rel2 { relative: 148/_ITEM_WIDTH 117/_ITEM_HEIGHT; to: "bg"; }
                                        align: 0.5 0.5;
-                                       //min: 117 117;
                                        fixed: 1 1;
                                }
                        }
@@ -169,7 +167,6 @@ collections {
                                        image {
                                                normal: "../images/RM06_App tray_Btn_Uninstall.png";
                                        }
-                                       //min: 54 54;
                                        fixed: 1 1;
                                        visible: 0;
                                }
index dc95b87b08b3d2e7df608beb85796889fe182510..799cbd9707e36f67498ef52dc1714d869025a1bc 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
@@ -47,7 +47,7 @@ styles {
 
 
 collections {
-       base_scale: 1.8;
+       base_scale: 2.4;
        group {
                name: "layout";
                parts {
old mode 100755 (executable)
new mode 100644 (file)
old mode 100755 (executable)
new mode 100644 (file)
index 08997d5440b788670f774042cb5520964f5f29db..23745e81542083cec920aed0e4acdad5bd57b63a 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
index f3d615196ed786500e24b1a85e9614ab32a894c4..9f0087dd516c22a6555520b233c1d2407aec04df 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
index 126aed85b79dc09b6a1e652294fc8db3e42a02c3..6f253038b922f9b7e79b01ea77b92997d9f866e5 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
index 2421671dbf3ea359f7460b2f8f739613e689a890..7c6d5f6f162af6df0860367b43401418cc1fb86e 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
index 47cb96c21fbccd563b0f41046d1a66746bba53cc..bfe45a31fd21ae29150e8a94737b48832f9882bb 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
index 5ec5bd910d94fb42d87f6b6d821e0d0190844b48..98f36360f9e72869ae3874c39276770e98bf2b36 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
index 27ef1c0c893a23531aefb0c94e2d8949f8c963dd..68a1447198b0d6f9282c1e11ec49ab9767a55cf1 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
index a42d3c82fc60e7ff450777ee3b2615f5646143ea..105943979202188702e363deaa674ccd554e139e 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
index 659b32301c7fbfce2102969cdded43625f7a00a7..b510761907ec223c5e0c111736ff5fca3407a6e1 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
index d140130f15dcb5d79b82f2b55588972e54d9f195..605dc3309553b52dc3975615b6f96fac59853c07 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
index b3bb91c88f50bffccb9e89f41b03f8f531e5a4fe..3c5f04d779dbf7ae87f2902672503c8bec658c6e 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
 
 #include "util.h"
 
+#define HOME_KEY_SELECT "XF86Home"
+#define KEY_BACK "XF86Back"
+#define KEY_ESC "Escape"
+
 HAPI void key_register(void);
 HAPI void key_unregister(void);
 HAPI void key_grab_home(void);
index 4edc6b011331a6c4d479fc4777ea10df792dbf87..44d76b4f6667a156b455c33cfa229c766d976883 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
index 9c6c1b9c642db52fa4b262fbf6b8bff9ea22cd77..b8a0af916cb339dfec4c3175c5e0a2768eff77c4 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
@@ -38,7 +38,7 @@ typedef struct
        char *desktop;
        bool nodisplay;
        bool enabled;
-       bool x_slp_removable;
+       bool removable;
        bool x_slp_taskmanage;
        pid_t pid;
        Evas_Object *image;
index db209041ffe3440f120ed9707b0d7838a97d2152..ae607df4a7c95d0ed9a1a9dc377d653012962d3b 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
index 06d8fc3041c427b56d7f7b0a2519e2d2975131b2..b13382148923baba852841fe2e9dc7b886d5ec2e 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
index 85d0a29c30570fe35934ee785975998dc7b81d3c..b46d295df455bbd08e86c229cdd2d53690a09108 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
index 4c4ad3aeb7432ea28c703e07ab2c7efa71a0508a..ef81e3ee5f566a3ce5870f141b4c0de71beaf3e9 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
index da9e4f25ad971d40f6a6846baf2f9ffebbac5e79..b700d99afb77b0f66ea8da112feb3683e18ac677 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
index bd2aa06732252dbdf6b726219acc8d493ffd1733..934299100dd787ce3b34e73d23282b78b39457fd 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
index d871b919713dc04f2032406a907eefd049773d23..85502a6e8b42147c7b2ca3d05df06c60d5cf54b3 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
index 4ddc2b71bb2e296993f39553119880e4b07d51e3..0dd632680594954c9b362933d3542f606260cde2 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
old mode 100755 (executable)
new mode 100644 (file)
index ee4a59f..f51ba58
@@ -1,6 +1,5 @@
 org.tizen.menu-screen app-svc rwx--- ------
 org.tizen.menu-screen pkgmgr::db rw---l ------
-org.tizen.menu-screen ail::db rw---- ------
 org.tizen.menu-screen system::use_internet r----- ------
 org.tizen.menu-screen device::app_logging -w---- ------
 org.tizen.menu-screen net-config r-x--- ------
@@ -61,8 +60,6 @@ org.tizen.menu-screen stest-service -w---- ------
 org.tizen.menu-screen org.tizen.setting::default-resources r-x--- ------
 org.tizen.menu-screen pkgmgr::svc r-x--- ------
 org.tizen.menu-screen pkgmgr::info r----- ------
-org.tizen.menu-screen system::vconf_system rw---- ------
-org.tizen.menu-screen system::vconf_inhouse rw---- ------
 org.tizen.menu-screen aul::launch --x--- ------
 org.tizen.menu-screen data-provider-master::shortcut rw---- ------
 org.tizen.menu-screen data-provider-master::shortcut.shortcut -w---- ------
@@ -71,28 +68,24 @@ org.tizen.menu-screen data-provider-master::notification.client -w---- ------
 org.tizen.menu-screen data-provider-master::badge rw---- ------
 org.tizen.menu-screen data-provider-master::badge.client -w---- ------
 org.tizen.menu-screen tts-server rwx--- ------
-org.tizen.menu-screen idlescreen::vconf rwx--- ------
 org.tizen.app-tray org.tizen.menu-screen r-x--- ------
 org.tizen.menu-screen factory-15 r-x--- ------
 org.tizen.menu-screen telephony_framework::api_manager r----- ------
 org.tizen.menu-screen telephony_framework::api_modem r-x--- ------
 org.tizen.menu-screen telephony_framework::api_network r-x--- ------
 org.tizen.menu-screen atd-server r----- ------
-org.tizen.menu-screen factory::vconf rw---- ------
 org.tizen.menu-screen dfms-kernel r----- ------
 org.tizen.menu-screen system::homedir rwxat- ------
-org.tizen.menu-screen system::vconf rwxat- ------
 org.tizen.menu-screen system::media rwxat- ------
 org.tizen.menu-screen system::share rwxat- ------
 org.tizen.menu-screen pulseaudio rwxat- ------
 e17 org.tizen.menu-screen -w---- ------
 org.tizen.menu-screen sys-assert::core rwxat- ------
 org.tizen.menu-screen privacy-manager::db r----l ------
-org.tizen.menu-screen system::vconf_setting rw---- ------
-org.tizen.menu-screen system::vconf_privacy rw---- ------
-org.tizen.menu-screen system::vconf_multimedia rw---- ------
-org.tizen.menu-screen system::vconf_network rw---- ------
-org.tizen.menu-screen system::vconf_misc rw---- ------
 org.tizen.menu-screen ecore::lock rwxat- ------
 org.tizen.menu-screen org.tizen.wallpaper-ui-service rwxat- ------
-org.tizen.menu-screen system::storage rwxat- ------
+org.tizen.menu-screen tizen::vconf::setting r----l ------
+org.tizen.menu-screen tizen::vconf::setting::admin r----l ------
+org.tizen.menu-screen device::sys_logging --x--- ------
+org.tizen.menu-screen tizen::vconf::public::admin r----l ------
+org.tizen.menu-screen notification r-x--l ------
old mode 100755 (executable)
new mode 100644 (file)
index cde2b6f..4fbc75e
 
 %define _localedir %{_resdir}/locale
 
+%if "%{?tizen_profile_name}" == "wearable"
+ExcludeArch: %{arm} %ix86 x86_64
+%endif
+
+%if "%{?tizen_profile_name}" == "tv"
+ExcludeArch: %{arm} %ix86 x86_64
+%endif
+
 Name:       org.tizen.menu-screen
 Summary:    An utility library of the menu screen
 Version:    1.2.5
@@ -44,11 +52,12 @@ BuildRequires:  pkgconfig(pkgmgr)
 BuildRequires:  pkgconfig(pkgmgr-info)
 BuildRequires:  pkgconfig(shortcut)
 BuildRequires:  pkgconfig(syspopup-caller)
-BuildRequires:  pkgconfig(utilX)
+BuildRequires:  pkgconfig(capi-system-info)
+BuildRequires:  pkgconfig(capi-appfw-preference)
+BuildRequires:  pkgconfig(capi-system-system-settings)
 BuildRequires:  cmake
 BuildRequires:  edje-tools
 BuildRequires:  gettext-tools
-BuildRequires:  hash-signer
 # %ifarch %{arm}
 # %define ARCH arm
 # BuildRequires:  pkgconfig(bincfg)
@@ -106,18 +115,8 @@ mkdir -p %{buildroot}%{_datadir}
 mkdir -p %{buildroot}/usr/share/license
 
 %post
-/usr/bin/signing-client/hash-signer-client.sh -a -d -p platform %{_packagedir}
 
-VCONF_OPTION="-f -u 5000"
 PRIVATE_OPTION="-s org.tizen.menu-screen"
-INHOUSE_OPTION="-s idlescreen::vconf"
-
-init_vconf()
-{
-       vconftool set -t int memory/idle-screen/top 0 -i $VCONF_OPTION $INHOUSE_OPTION
-       vconftool set -t string file/private/org.tizen.menu-screen/engine "gl" $VCONF_OPTION $PRIVATE_OPTION
-}
-init_vconf
 
 if [ ! -d %{_datadir}/dbspace ]
 then
@@ -170,5 +169,5 @@ fi
 %{_localedir}/*/*/*.mo
 %{_usr_datadir}/icons/default/small/org.tizen.menu-screen.png
 %{_usr_datadir}/packages/org.tizen.menu-screen.xml
-%{_packagedir}/*.xml
+#%{_packagedir}/*.xml
 /etc/smack/accesses.d/%{_package_name}.efl
index eb5485d55b91896d93bbf85b5474ba07a8f2bd9b..104d13c638b38d3646fbed5984cab546137ad5b2 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
index 3842193c6df44e2d0346efbb7b42aae4c7eb294c..8b5d769e6af01fd431d745f711fc9625063b244a 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
@@ -333,9 +333,8 @@ HAPI Evas_Object *all_apps_layout_create(Evas_Object *controlbar, int rotate)
 
        evas = menu_screen_get_evas();
        bg = evas_object_rectangle_add(evas);
-       evas_object_size_hint_min_set(bg, width, height);
-       evas_object_size_hint_max_set(bg, width, height);
-       evas_object_resize(bg, width, height);
+       evas_object_size_hint_min_set(bg, width, height-INDICATOR_PORT_HEIGHT);
+       evas_object_resize(bg, width, height-INDICATOR_PORT_HEIGHT);
        elm_object_part_content_set(all_apps, "bg", bg);
        evas_object_show(bg);
 
@@ -355,7 +354,7 @@ HAPI Evas_Object *all_apps_layout_create(Evas_Object *controlbar, int rotate)
        evas_object_data_set(all_apps, "is_edited", (void *) true);
        evas_object_size_hint_min_set(all_apps, width, height);
        evas_object_size_hint_max_set(all_apps, width, height);
-       evas_object_resize(all_apps, width, height);
+       evas_object_resize(all_apps, width, height-52);
 
        index = index_create(all_apps, 0, 0);
        if (NULL == index) {
index 2144455a58572f857ec5b1bc6a3caefe6658a062..06c2cb48c294417fe224524ad4b624c10d866ca2 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
@@ -62,33 +62,34 @@ ERROR:
 
 
 
-static ail_cb_ret_e _all_apps_cb(ail_appinfo_h ai, void *data)
+static int _all_apps_cb(pkgmgrinfo_appinfo_h handle, void *data)
 {
        app_list *list = data;
        app_list_item *item;
        app_info_t *item_info;
        int installed_time = 0;
-       char *value;
+       char *appid = NULL;
 
-       retv_if(ail_appinfo_get_str(ai, AIL_PROP_PACKAGE_STR, &value) == AIL_ERROR_FAIL, AIL_CB_RET_CANCEL);
-       retv_if(NULL == (item = calloc(1, sizeof(struct _app_list_item))), AIL_CB_RET_CANCEL);
+       pkgmgrinfo_appinfo_get_appid(handle, &appid);
+       retv_if(NULL == appid, 0);
+       retv_if(NULL == (item = calloc(1, sizeof(struct _app_list_item))), 0);
 
-       if (NULL == (item->package = strdup(value))) {
+       if (NULL == (item->package = strdup(appid))) {
                free(item);
-               return AIL_CB_RET_CANCEL;
+               return 0;
        }
 
        if (NULL == (item->data = calloc(1, sizeof(app_info_t)))) {
                free(item->package);
                free(item);
-               return AIL_CB_RET_CANCEL;
+               return 0;
        }
 
        if (MENU_SCREEN_ERROR_OK != list_get_values(item->package, item->data)) {
                free(item->data);
                free(item->package);
                free(item);
-               return AIL_CB_RET_CANCEL;
+               return 0;
        }
 
        item_info = item->data;
@@ -96,14 +97,14 @@ static ail_cb_ret_e _all_apps_cb(ail_appinfo_h ai, void *data)
                free(item->data);
                free(item->package);
                free(item);
-               return AIL_CB_RET_CANCEL;
+               return 0;
        }
 
        if (item_info->nodisplay || !item_info->enabled) {
                free(item->data);
                free(item->package);
                free(item);
-               return AIL_CB_RET_CONTINUE;
+               return 0;
        }
 
        installed_time = all_apps_list_find_installed_time(item->package);
@@ -113,19 +114,19 @@ static ail_cb_ret_e _all_apps_cb(ail_appinfo_h ai, void *data)
                free(item->data);
                free(item->package);
                free(item);
-               return AIL_CB_RET_CANCEL;
+               return 0;
        }
 
        if (list_append_item(list, item) != MENU_SCREEN_ERROR_OK) {
                free(item->data);
                free(item->package);
                free(item);
-               return AIL_CB_RET_CANCEL;
+               return 0;
        }
 
        _D("[ALL Apps] package=%s", item->package);
 
-       return AIL_CB_RET_CONTINUE;
+       return 1;
 }
 
 
@@ -194,25 +195,20 @@ HAPI app_list *all_apps_list_create(void)
 {
        int count = 0;
        app_list *list;
-       ail_filter_h f;
+       pkgmgrinfo_appinfo_filter_h handle = NULL;
 
        list = calloc(1, sizeof(app_list));
        retv_if(NULL == list, NULL);
 
-       if (ail_filter_new(&f) != AIL_ERROR_OK) {
+       if (PMINFO_R_OK != pkgmgrinfo_appinfo_filter_create(&handle))
+       {
                free(list);
                return NULL;
        }
+       goto_if(PMINFO_R_OK != pkgmgrinfo_appinfo_filter_add_bool(handle, PMINFO_APPINFO_PROP_APP_NODISPLAY, 0), ERROR);
+       goto_if(PMINFO_R_OK != pkgmgrinfo_appinfo_filter_foreach_appinfo(handle, _all_apps_cb, list), ERROR);
 
-       if (ail_filter_add_bool(f, AIL_PROP_NODISPLAY_BOOL, false) != AIL_ERROR_OK){
-               _E("Failed to add filter");
-               ail_filter_destroy(f);
-               free(list);
-               return NULL;
-       }
-
-       ail_filter_list_appinfo_foreach(f, _all_apps_cb, list);
-       ail_filter_destroy(f);
+       pkgmgrinfo_appinfo_filter_destroy(handle);
 
        if (MENU_SCREEN_ERROR_FAIL == list_count(list, &count)) {
                _D("Cannot count apps.");
@@ -231,9 +227,9 @@ HAPI app_list *all_apps_list_create(void)
                for(i = (MAX_PAGE_NO * PAGE_MAX_APP); i<count; i++) {
                        app_list_item *item = list_nth(list, (MAX_PAGE_NO * PAGE_MAX_APP));
                        if(!item)
-                               continue;
+                       _E("Cannot remove an item(%s)", item->package);
 
-                       _D("%d: %s will be removed", i, item->package);
+                       _D("%d: %s is removed", i, item->package);
 
                        retv_if(MENU_SCREEN_ERROR_FAIL == list_remove_item(list, item), NULL);
                }
@@ -243,6 +239,11 @@ HAPI app_list *all_apps_list_create(void)
                _D("Cannot sort apps.");
        }
 
+       return list;
+
+ERROR:
+       if (handle) pkgmgrinfo_appinfo_filter_destroy(handle);
+
        return list;
 }
 
index 0554491ec3cae5ef35396f994636393375dc74f7..999eb85d6448230f4d87c8f690b38640582ab85a 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
@@ -50,7 +50,7 @@ HAPI Evas_Object *all_apps_shortcut_add(
        ai.icon = (char *) icon;
        ai.nodisplay = 0;
        ai.enabled = 1;
-       ai.x_slp_removable = 1;
+       ai.removable = 1;
        ai.x_slp_taskmanage = 0;
 
        if (ADD_TO_HOME_IS_DYNAMICBOX(type)) {
index 9efce2d498a95348da7c81ee98821611c35afc9a..19473dd7afec1175fd22acbfa128dbd2ae94a21b 100644 (file)
--- a/src/db.c
+++ b/src/db.c
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
index 82a71d098b2d5ddda335d16edda2d8be8bbba177..4c30289b4c33ef2c9e9bf822bedf3de8d9f40eda 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
@@ -64,7 +64,7 @@ HAPI Evas_Object *index_create(Evas_Object *tab, unsigned int count, unsigned in
        Evas_Object *scroller;
        register int i;
        char number_pre[256] = { 0, };
-       char *number = NULL;
+       char *number;
 
        retv_if(NULL == tab, NULL);
        index = elm_index_add(tab);
@@ -127,7 +127,7 @@ HAPI Evas_Object *index_update(Evas_Object *layout, Evas_Object *index, unsigned
 
        _D("Current index %d, Current count: %d", idx,count);
        index_destroy(index);
-       return index_create(layout, count, idx);
+       return index_create(layout, count,idx);
 }
 
 
index e91448938eef40ab355659667dcfae39be24a595..84a140dabf7ccd6dc61f42bd412068084668e0ca 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
 #include <stdio.h>
 #include <string.h>
 #include <Elementary.h>
-#include <ail.h>
 #include <appsvc.h>
 #include <app_control.h>
 #include <aul.h>
+#include <bundle.h>
+#include <bundle_internal.h>
 
 #include "menu_screen.h"
 #include "item_badge.h"
@@ -339,7 +340,7 @@ HAPI void item_show_badge(Evas_Object *obj, int value)
        ret_if(NULL == obj);
        ret_if(value <= 0);
 
-       snprintf(str, sizeof(str), "%d", value);
+       sprintf(str, "%d", value);
        if (edje_object_part_text_set(_EDJ(obj), "badge,txt", str) == EINA_FALSE) {
                _E("Failed to set text on the part, edje:%p, part:%s, text:%s", _EDJ(obj), "badge,txt", str);
        }
@@ -576,6 +577,16 @@ HAPI void item_update(Evas_Object *item, app_info_t *ai)
        ret_if(NULL == ai);
 
        if (!ai->image) {
+               if (ai->icon && 0 == access(ai->icon, R_OK)) {
+                       ;
+               } else {
+                       _E("Failed to access to [%s]", ai->icon);
+                       if (ai->icon) free(ai->icon);
+
+                       ai->icon = strdup(DEFAULT_ICON);
+                       if (!ai->icon) _E("Critical! strdup error");
+               }
+
                if (ai->icon) {
                        FILE *fp;
                        fp = fopen(ai->icon, "rb");
@@ -590,7 +601,6 @@ HAPI void item_update(Evas_Object *item, app_info_t *ai)
                                evas_object_data_set(item, "icon_image_type", STR_ICON_IMAGE_TYPE_EDJE);
                        } else {
                                icon = _add_icon_image(item, ai->icon);
-                               ret_if(!icon);
                                evas_object_data_set(item, "icon_image_type", STR_ICON_IMAGE_TYPE_OBJECT);
                        }
                }
@@ -615,7 +625,7 @@ HAPI void item_update(Evas_Object *item, app_info_t *ai)
        item_set_desktop(item, ai->desktop, 0);
        item_set_name(item, ai->name, 0);
        item_set_icon(item, ai->icon, 0);
-       evas_object_data_set(item, STR_ATTRIBUTE_REMOVABLE, (void*) ai->x_slp_removable);
+       evas_object_data_set(item, STR_ATTRIBUTE_REMOVABLE, (void*)ai->removable);
        evas_object_data_set(item, "pid", (void *) ai->pid);
 
        item_badge_register(item);
@@ -716,7 +726,6 @@ HAPI Evas_Object *item_create(Evas_Object *scroller, app_info_t* ai)
        int item_height;
 
        item_edje = evas_object_data_get(scroller, "item_edje");
-       retv_if(!item_edje, NULL);
        item = layout_load_edj(scroller, item_edje, ITEM_GROUP_NAME);
        if (!item) {
                _E("Failed to load an item object");
@@ -928,75 +937,39 @@ HAPI void item_launch(Evas_Object *obj)
 
        bool is_shortcut = (bool) evas_object_data_get(item, "is_shortcut");
        bool shortcut_launch_package = (bool) evas_object_data_get(item, "shortcut_launch_package");
+       app_control_h service;
+       app_control_create(&service);
        if (is_shortcut && !shortcut_launch_package) {
-               b = bundle_create();
-               ret_if(NULL == b);
-
-               appsvc_set_operation(b, APPSVC_OPERATION_VIEW);
-               appsvc_set_uri(b, evas_object_data_get(item, "content_info"));
-
-               int ret = -1;
-               ret = appsvc_run_service(b, 0, _run_cb, NULL);
-               if (0 > ret) {
-                       _E("cannot run service. ret [%d]", ret);
+               _D("Is shortcut && !shortcut launch package");
+               app_control_set_operation(service, APP_CONTROL_OPERATION_VIEW);
+               app_control_set_uri(service, evas_object_data_get(item, "content_info"));
+               app_control_set_app_id(service, item_get_pkgid(item));
+
+               int ret = app_control_send_launch_request(service, NULL, NULL);
+               if (ret != APP_CONTROL_ERROR_NONE) {
+                       _E("Cannot run service. ret [%d]", ret);
                        layout_disable_block(layout);
                } else {
                        _D("Launch app's ret : [%d]", ret);
                        ecore_timer_add(LAYOUT_BLOCK_INTERVAL, _unblock_cb, NULL);
                }
 
-               bundle_free(b);
        } else {
-               int ret_aul = AUL_R_OK;
-               if (evas_object_data_get(item, DATA_KEY_ITEM_LAUNCH_MAIN_OPERATION)) {
-                       b = bundle_create();
-                       ret_if(NULL == b);
-
-                       if (0 != bundle_add(b, BUNDLE_KEY_OPERATION, APP_CONTROL_OPERATION_MAIN)) {
-                               _E("Cannot add to a bundle");
-                               bundle_free(b);
-                               return;
-                       }
+               _D("This app is not shortcut");
+               app_control_set_operation(service, APP_CONTROL_OPERATION_MAIN);
+               app_control_set_app_id(service, item_get_pkgid(item));
 
-                       if (b) {
-                               ret_aul = aul_launch_app(package, b);
-                               if (AUL_R_EINVAL == ret_aul) {
-                                       _E("cannot launch app");
-                               }
-                               bundle_free(b);
-                       }
+               int ret = app_control_send_launch_request(service, NULL, NULL);
+               if (ret != APP_CONTROL_ERROR_NONE) {
+                       _E("Cannot launch app : [%s] [%d]", name, ret);
                } else {
-                       ret_aul = aul_open_app(package);
-                       if (AUL_R_EINVAL == ret_aul) {
-                               char* sinform;
-                               int len;
-
-                               if (!name) {
-                                       name = package;
-                               }
-
-                               // IDS_IDLE_POP_UNABLE_TO_LAUNCH_PS : "Unable to launch %s"
-                               len = strlen(D_("IDS_IDLE_POP_UNABLE_TO_LAUNCH_PS")) + strlen(name) + 1;
-
-                               sinform = calloc(len, sizeof(char));
-                               if (!sinform) {
-                                       _E("cannot calloc for popup.");
-                                       return;
-                               }
-
-                               snprintf(sinform, len, D_("IDS_IDLE_POP_UNABLE_TO_LAUNCH_PS"), name);
-                               popup_create_confirm(layout, sinform);
-
-                               free(sinform);
-                               layout_disable_block(layout);
-                       }
+                       _D("Success to luanch : [%s] [%d]", name, ret);
                }
 
-               _D("Launch app's ret : [%d]", ret_aul);
-
                _T(package);
                ecore_timer_add(LAYOUT_BLOCK_INTERVAL, _unblock_cb, NULL);
        }
+       app_control_destroy(service);
 }
 
 
index aa520324147dc1c407bc8d905d8408e8df32f45e..0a6e1902a2e1cee356c049c9cf21c4f4788d767e 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
@@ -67,7 +67,6 @@ static Eina_Bool _idler_cb(void *data)
        }
 
        count = item_badge_count(package);
-       _D("Register badge to Item, count: %d", count);
        if (count) item_show_badge(item, count);
        else item_hide_badge(item);
 
@@ -81,14 +80,15 @@ static Eina_Bool _idler_cb(void *data)
 HAPI bool item_badge_is_registered(Evas_Object *item)
 {
        const char *pkgname;
-       badge_error_e err;
+       unsigned int count = 0;
        bool existing = false;
 
        pkgname = item_get_package(item);
        retv_if(NULL == pkgname, false);
 
-       err = badge_is_existing(pkgname, &existing);
-       if (BADGE_ERROR_NONE != err) _E("cannot know whether the badge for %s is or not.", pkgname);
+       count = badge_get_count(pkgname, &count);
+       if (count > 0)
+               existing = true;
 
        return existing? true : false;
 }
@@ -148,13 +148,14 @@ static void _badge_change_cb(unsigned int action, const char *pkgname, unsigned
                count = 0;
                is_display = false;
        } else {
-               count = item_badge_count(pkgname);
+               err = badge_get_display(pkgname, &is_display);
+               if (BADGE_ERROR_NONE != err) _D("cannot get badge display");
+               if (0 == is_display) count = 0;
        }
 
        item = page_scroller_find_item_by_package(scroller, pkgname, NULL);
        if (NULL == item) return;
 
-       _D("Badge change cb, count: %d", count);
        if (count) item_show_badge(item, count);
        else item_hide_badge(item);
 }
index 01aa4f1cd4ae2e9395ffd3f8ab84ee64e372ae06..1210e25c2ba997109c0f5ccfe99c1db2a4d61611 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
index 682deb43a18ebc50ee0e07cc6f6435a58b3db8dc..8866405cbb09caef266c1fa28f0b0b8267dca1c9 100644 (file)
--- a/src/key.c
+++ b/src/key.c
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
@@ -22,7 +22,6 @@
 
 #include <stdlib.h>
 #include <Elementary.h>
-#include <utilX.h>
 #include <Ecore_X.h>
 
 #include "conf.h"
@@ -32,6 +31,7 @@
 #include "popup.h"
 #include "util.h"
 #include "all_apps/layout.h"
+#include "key.h"
 
 
 
@@ -57,7 +57,6 @@ static struct {
 #define KEY_RIGHT "Right"
 #define KEY_UP "Up"
 #define KEY_DOWN "Down"
-#define KEY_ESC "Escape"
 static Eina_Bool _key_release_cb(void *data, int type, void *event)
 {
        Evas_Event_Key_Up *ev = event;
@@ -85,7 +84,7 @@ static Eina_Bool _key_release_cb(void *data, int type, void *event)
                Evas_Object *scroller = evas_object_data_get(all_apps, "scroller");
                break_if(NULL == scroller);
 
-               if (!strcmp(ev->keyname, KEY_SELECT) || !strcmp(ev->keyname, KEY_BACK)) {
+               if (!strcmp(ev->keyname, HOME_KEY_SELECT) || !strcmp(ev->keyname, KEY_BACK)) {
                        if (popup_exist()) {
                                popup_destroy_all();
                                break;
@@ -111,10 +110,7 @@ static Eina_Bool _key_release_cb(void *data, int type, void *event)
 
                        /* If there are no items to be focused after pressing keys,
                           Menu-screen forces to focus the first item of the other page */
-                       int rest = 0;
-                       if (w) {
-                               rest = x % w;
-                       }
+                       int rest = x % w;
                        if (rest) {
                                page_scroller_focus_into_vector(scroller, rest > w / 2 ? -1 : 1);
                        }
@@ -198,18 +194,18 @@ HAPI void key_unregister(void)
 
 
 
+#define KEY_HOME "XF86Home"
+#define KEY_BACK "XF86Back"
 HAPI void key_grab_home(void)
 {
-       if (EINA_TRUE == key_info.home_grabbed) return;
-
-       Ecore_X_Window win = elm_win_xwindow_get(menu_screen_get_win());
-       Display* dpy = ecore_x_display_get();
+       int ret = 0;
 
-       int ret = utilx_grab_key(dpy, win, KEY_SELECT, TOP_POSITION_GRAB);
-       ret_if(0 != ret);
+       if (EINA_TRUE == key_info.home_grabbed) return;
 
-       ret = utilx_grab_key(dpy, win, KEY_BACK, TOP_POSITION_GRAB);
-       ret_if(0 != ret);
+       ret = elm_win_keygrab_set(menu_screen_get_win(), KEY_HOME, 0, 0, 0, ELM_WIN_KEYGRAB_TOPMOST);
+       ret_if(ret == 0);
+       ret = elm_win_keygrab_set(menu_screen_get_win(), KEY_BACK, 0, 0, 0, ELM_WIN_KEYGRAB_TOPMOST);
+       ret_if(ret == 0);
 
        key_info.home_grabbed = EINA_TRUE;
 }
@@ -218,16 +214,14 @@ HAPI void key_grab_home(void)
 
 HAPI void key_ungrab_home(void)
 {
-       if (key_info.home_grabbed == EINA_FALSE) return;
+       int ret = 0;
 
-       Ecore_X_Window win = elm_win_xwindow_get(menu_screen_get_win());
-       Display* dpy = ecore_x_display_get();
-
-       int ret = utilx_ungrab_key(dpy, win, KEY_SELECT);
-       ret_if(0 != ret);
+       if (key_info.home_grabbed == EINA_FALSE) return;
 
-       ret = utilx_ungrab_key(dpy, win, KEY_BACK);
-       ret_if(0 != ret);
+       ret = elm_win_keygrab_unset(menu_screen_get_win(), KEY_HOME, 0, 0);
+       ret_if(ret == 0);
+       ret = elm_win_keygrab_unset(menu_screen_get_win(), KEY_BACK, 0, 0);
+       ret_if(ret == 0);
 
        key_info.home_grabbed = EINA_FALSE;
 }
index 6eef4b3b4bec151511eb4e12ea9a5a1249eec788..94c55a31bbc24b75b8cf2c0e6ba0f3fcd61c4a39 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
@@ -22,7 +22,6 @@
 
 #include <Elementary.h>
 #include <Ecore_X.h>
-#include <utilX.h>
 #include <vconf.h>
 
 #include "menu_screen.h"
@@ -55,16 +54,14 @@ HAPI Evas_Object *layout_create(Evas_Object *conformant, const char *file, const
                height = menu_screen_get_root_height();
 
                evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-               evas_object_size_hint_min_set(layout, width, height);
-               evas_object_size_hint_max_set(layout, width, height);
-               evas_object_resize(layout, width, height);
+               evas_object_size_hint_min_set(layout, width, height-INDICATOR_PORT_HEIGHT);
+               evas_object_size_hint_max_set(layout, width, height-INDICATOR_PORT_HEIGHT);
+               evas_object_resize(layout, width, height-INDICATOR_PORT_HEIGHT);
                evas_object_show(layout);
 
                evas = evas_object_evas_get(layout);
                bg = evas_object_rectangle_add(evas);
-               evas_object_size_hint_min_set(bg, width, height);
-               evas_object_size_hint_max_set(bg, width, height);
-               evas_object_resize(bg, width, height);
+               evas_object_resize(bg, width, height-INDICATOR_PORT_HEIGHT);
                elm_object_part_content_set(layout, "bg", bg);
                evas_object_show(bg);
 
index 35328879a6fed544c963983f5b68da3c883b9903..32659c491f8862c44a2acf3fb5bbed7ff62adb63 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
@@ -24,6 +24,7 @@
 #include <stdlib.h>
 #include <Elementary.h>
 #include <ail.h>
+#include <pkgmgr-info.h>
 
 #include "list.h"
 #include "util.h"
@@ -102,49 +103,41 @@ HAPI menu_screen_error_e list_get_item(app_list *list, app_list_item **item)
 /* FIXME : package -> appid */
 HAPI menu_screen_error_e list_get_values(const char *package, app_info_t *ai)
 {
-       ail_appinfo_h appinfo_h;
+       pkgmgrinfo_appinfo_h appinfo_h = NULL;
+       pkgmgrinfo_pkginfo_h pkghandle = NULL;
        char *pkgid;
-       char *exec;
        char *name;
        char *icon;
-       ail_error_e ret;
 
        retv_if(NULL == package, MENU_SCREEN_ERROR_FAIL);
        retv_if(NULL == ai, MENU_SCREEN_ERROR_FAIL);
        retv_if(NULL == (ai->package = strdup(package)), MENU_SCREEN_ERROR_FAIL);
 
-       ret = ail_get_appinfo(ai->package, &appinfo_h);
-       if (AIL_ERROR_OK == ret) {
-               do {
-                       /* FIXME : Please check this */
-                       break_if(ail_appinfo_get_str(appinfo_h, AIL_PROP_X_SLP_PKGID_STR, &pkgid) < 0);
-                       break_if(ail_appinfo_get_str(appinfo_h, AIL_PROP_EXEC_STR, &exec) < 0);
-                       break_if(ail_appinfo_get_str(appinfo_h, AIL_PROP_NAME_STR, &name) < 0);
-                       break_if(ail_appinfo_get_str(appinfo_h, AIL_PROP_ICON_STR, &icon) < 0);
-                       break_if(ail_appinfo_get_bool(appinfo_h, AIL_PROP_NODISPLAY_BOOL, &ai->nodisplay) < 0);
-                       break_if(ail_appinfo_get_bool(appinfo_h, AIL_PROP_X_SLP_ENABLED_BOOL, &ai->enabled) < 0);
-                       break_if(ail_appinfo_get_bool(appinfo_h, AIL_PROP_X_SLP_REMOVABLE_BOOL, &ai->x_slp_removable) < 0);
-                       break_if(ail_appinfo_get_bool(appinfo_h, AIL_PROP_X_SLP_TASKMANAGE_BOOL, &ai->x_slp_taskmanage) < 0);
-
-                       break_if(NULL == pkgid || NULL == (ai->pkgid = strdup(pkgid)));
-                       break_if(NULL == exec || NULL == (ai->exec = strdup(exec)));
-                       break_if(NULL == name || NULL == (ai->name = strdup(name)));
-                       break_if(NULL == icon || NULL == (ai->icon = strdup(icon)));
-
-                       ail_destroy_appinfo(appinfo_h);
-
-                       return MENU_SCREEN_ERROR_OK;
-               } while(0);
-
-               ail_destroy_appinfo(appinfo_h);
-               list_free_values(ai);
-               return MENU_SCREEN_ERROR_FAIL;
-       } else if (AIL_ERROR_NO_DATA == ret) {
-               return MENU_SCREEN_ERROR_OK;
-       }
+       goto_if(0 > pkgmgrinfo_appinfo_get_appinfo(ai->package, &appinfo_h), ERROR);
+
+       goto_if(PMINFO_R_OK != pkgmgrinfo_appinfo_get_pkgid(appinfo_h, &pkgid), ERROR);
+       goto_if(PMINFO_R_OK != pkgmgrinfo_appinfo_get_label(appinfo_h, &name), ERROR);
+       goto_if(PMINFO_R_OK != pkgmgrinfo_appinfo_get_icon(appinfo_h, &icon), ERROR);
+       goto_if(PMINFO_R_OK != pkgmgrinfo_appinfo_is_enabled(appinfo_h, &ai->enabled), ERROR);
+
+       do {
+               goto_if(NULL == pkgid || NULL == (ai->pkgid = strdup(pkgid)), ERROR);
+               goto_if(NULL == name || NULL == (ai->name = strdup(name)), ERROR);
+               goto_if(NULL == icon || NULL == (ai->icon = strdup(icon)), ERROR);
+               goto_if(0 > pkgmgrinfo_pkginfo_get_pkginfo(pkgid, &pkghandle) || !pkghandle, ERROR);
+       } while (0);
 
-       if (appinfo_h) ail_destroy_appinfo(appinfo_h);
+       goto_if(PMINFO_R_OK != pkgmgrinfo_pkginfo_is_removable(pkghandle, &ai->removable), ERROR);
+       goto_if(PMINFO_R_OK != pkgmgrinfo_appinfo_is_nodisplay(appinfo_h, &ai->nodisplay), ERROR);
+       if (ai->nodisplay) goto ERROR;
+
+       pkgmgrinfo_appinfo_destroy_appinfo(appinfo_h);
+
+       return MENU_SCREEN_ERROR_OK;
 
+ERROR:
+       if (appinfo_h) pkgmgrinfo_appinfo_destroy_appinfo(appinfo_h);
+       list_free_values(ai);
        return MENU_SCREEN_ERROR_FAIL;
 }
 
index a9fb5bb3fca07dd4d387326ab979e92493a090b0..f6561a52730197c57b1e95c7842ea7ab35eab7a4 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
index ee36cc3c832e93e14189a2d03d120b048664d3d7..2d90eaf358d3a26e578a887f44ee2c101113f9d9 100755 (executable)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
@@ -29,6 +29,9 @@
 #include <stdbool.h>
 #include <system_info.h>
 #include <vconf.h>
+#include <app_preference.h>
+#include <system_settings.h>
+#include <pkgmgr-info.h>
 
 #include "conf.h"
 #include "item.h"
@@ -185,7 +188,7 @@ HAPI int menu_screen_get_booting_state(void)
 static bool _is_emulator_on(void)
 {
        int ret;
-       char *model;
+       char *model = NULL;
 
        ret = system_info_get_platform_string("tizen.org/system/model_name", &model);
        if (SYSTEM_INFO_ERROR_NONE != ret) {
@@ -207,6 +210,7 @@ static bool _is_emulator_on(void)
 }
 
 
+
 static menu_screen_error_e _create_canvas(char *name, char *title)
 {
        Ecore_X_Atom ATOM_WM_WINDOW_ROLE;
@@ -234,6 +238,7 @@ static menu_screen_error_e _create_canvas(char *name, char *title)
                elm_win_title_set(menu_screen_info.win, title);
        }
        elm_win_borderless_set(menu_screen_info.win, EINA_TRUE);
+       elm_win_screen_size_get(menu_screen_info.win, NULL, NULL, &menu_screen_info.root_width, &menu_screen_info.root_height);
 
        ecore_x_icccm_name_class_set(elm_win_xwindow_get(menu_screen_info.win), "MENU_SCREEN", "MENU_SCREEN");
        ATOM_WM_WINDOW_ROLE = ecore_x_atom_get("WM_WINDOW_ROLE");
@@ -277,34 +282,16 @@ static int _dead_cb(int pid, void *data)
 
 
 
-static void _get_window_size(void)
-{
-       Ecore_X_Window focus_win;
-       Ecore_X_Window root_win;
-
-       focus_win = ecore_x_window_focus_get();
-       root_win = ecore_x_window_root_get(focus_win);
-       ecore_x_window_size_get(root_win, &menu_screen_info.root_width, &menu_screen_info.root_height);
-
-       _D("width:%d, height:%d", menu_screen_info.root_width, menu_screen_info.root_height);
-}
-
-
-
 static void _create_bg(void)
 {
-       char *buf;
-       Evas_Coord w;
-       Evas_Coord h;
+       char *buf = NULL;
        Evas_Object *bg;
-       double f, wf, hf;
-       static int trigger = 0;
-       const char *key;
        int width;
        int height;
 
-       buf = vconf_get_str(VCONFKEY_BGSET);
-       ret_if(NULL == buf);
+       if (system_settings_get_value_string(SYSTEM_SETTINGS_KEY_WALLPAPER_HOME_SCREEN, &buf) < 0) {
+               _E("Failed to get a wallpaper: %d\n", SYSTEM_SETTINGS_KEY_WALLPAPER_HOME_SCREEN);
+       }
 
        width = menu_screen_get_root_width();
        height = menu_screen_get_root_height();
@@ -319,42 +306,28 @@ static void _create_bg(void)
                evas_object_color_set(rect, 0, 0, 0, 255);
                evas_object_size_hint_min_set(rect, width, height);
                evas_object_size_hint_max_set(rect, width, height);
-               evas_object_resize(rect, width, height);
+               elm_win_resize_object_add(menu_screen_get_win(), rect);
                evas_object_show(rect);
 
-               bg = evas_object_image_add(menu_screen_get_evas());
+               bg = elm_image_add(menu_screen_get_win());
                if (NULL == bg) {
                        free(buf);
                        return;
                }
-               evas_object_image_load_orientation_set(bg, EINA_TRUE);
                evas_object_data_set(menu_screen_get_win(), "bg", bg);
        }
 
-       if (trigger == 0) {
-               key = "/";
-               trigger = 1;
-       } else {
-               key = NULL;
-               trigger = 0;
-       }
-
-       evas_object_image_file_set(bg, buf, key);
-       evas_object_image_size_get(bg, &w, &h);
-       evas_object_image_filled_set(bg, 1);
-
-       wf = (double) width / (double) w;
-       hf = (double) height / (double) h;
-
-       f = wf < hf ? hf : wf;
+       elm_image_aspect_fixed_set(bg, EINA_TRUE);
+       elm_image_fill_outside_set(bg, EINA_TRUE);
+       elm_image_preload_disabled_set(bg, EINA_FALSE);
 
-       w = (int) ((double) f * (double) w);
-       h = (int) ((double) f * (double) h);
+       evas_object_size_hint_min_set(bg, width, height);
+       evas_object_size_hint_max_set(bg, width, height);
+       if (!elm_image_file_set(bg, buf, NULL)) {
+               _E("Failed to set image file : %s", buf);
+       }
 
-       evas_object_image_load_size_set(bg, w, h);
-       evas_object_image_fill_set(bg, 0, 0, w, h);
-       evas_object_move(bg, (width - w) / 2, (height - h) / 2);
-       evas_object_resize(bg, w, h);
+       elm_win_resize_object_add(menu_screen_get_win(), bg);
        evas_object_show(bg);
 
        free(buf);
@@ -377,7 +350,8 @@ static void _destroy_bg()
 
 
 
-static void _change_bg_cb(keynode_t *node, void *data)
+//static void _change_bg_cb(keynode_t *node, void *data)
+static void _change_bg_cb(system_settings_key_e key, void *data)
 {
        _D("Background image is changed.");
        _create_bg();
@@ -411,14 +385,15 @@ static Evas_Object *_create_conformant(Evas_Object *win)
        conformant = elm_conformant_add(win);
        retv_if(NULL == conformant, NULL);
 
-       elm_win_indicator_opacity_set(win, ELM_WIN_INDICATOR_TRANSLUCENT);
        evas_object_size_hint_weight_set(conformant, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       elm_object_signal_emit(conformant, "elm,state,indicator,overlap", "elm");
+       elm_win_resize_object_add(win, conformant);
+
        elm_win_indicator_mode_set(menu_screen_info.win, ELM_WIN_INDICATOR_SHOW);
+       elm_object_signal_emit(conformant, "elm,state,indicator,overlap", "elm");
+
        evas_object_data_set(conformant, "win", win);
        evas_object_show(conformant);
 
-       elm_win_resize_object_add(win, conformant);
        elm_win_conformant_set(win, EINA_TRUE);
 
        return conformant;
@@ -433,75 +408,16 @@ static void _destroy_conformant(Evas_Object *conformant)
 }
 
 
-static char *_replace_str(char *str, const char *before, const char *after)
-{
-       retv_if(NULL == str, NULL);
-       retv_if(NULL == before, NULL);
-       retv_if(NULL == after, NULL);
-
-       size_t before_len = strlen(before);
-       retv_if(before_len < 1, str);
-
-       size_t after_len = strlen(after);
-       size_t i, count = 0;
-       if (after_len != before_len) {
-               for (i = 0; str[i] != '\0';) {
-                       if (0 == memcmp(&str[i], before, before_len)) {
-                               count++;
-                               i += before_len;
-                       } else {
-                               i++;
-                       }
-               }
-       } else {
-               i = strlen(str);
-       }
-
-       char *result;
-       result = malloc(i + 1 + count * (after_len - before_len));
-       retv_if(result == NULL, NULL);
-
-       char *sr;
-       sr = result;
-       while (*str) {
-               if (0 == memcmp(str, before, before_len)) {
-                       memcpy(sr, after, after_len);
-                       sr += after_len;
-                       str += before_len;
-               } else {
-                       *sr++ = *str++;
-               }
-       }
-       *sr = '\0';
-
-       return result;
-}
-
-
-static void _tts_cb(keynode_t *node, void *data)
-{
-       _D("change tts");
-
-       int val = -1;
-       if (0 == vconf_get_bool(VCONFKEY_SETAPPL_ACCESSIBILITY_TTS, &val) &&
-                       menu_screen_info.is_tts != val)
-       {
-               menu_screen_info.is_tts = val;
-       }
-}
-
-
 
 static bool _create_cb(void *data)
 {
        Evas_Object *conformant;
 
-       _get_window_size();
        _init_theme();
        retv_if(MENU_SCREEN_ERROR_FAIL == _create_canvas(PACKAGE, PACKAGE), false);
 
-       if (vconf_notify_key_changed(VCONFKEY_BGSET, _change_bg_cb, NULL) < 0) {
-               _E("Failed to register a vconf cb for %s\n", VCONFKEY_BGSET);
+       if (system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_WALLPAPER_HOME_SCREEN, _change_bg_cb, NULL) < 0) {
+               _E("Failed to register a settings change cb for %d\n", SYSTEM_SETTINGS_KEY_WALLPAPER_HOME_SCREEN);
        }
        _create_bg();
 
@@ -519,12 +435,8 @@ static bool _create_cb(void *data)
        }
        evas_object_data_set(menu_screen_info.win, "layout", layout);
 
-       if (vconf_notify_key_changed(VCONFKEY_SETAPPL_ACCESSIBILITY_TTS, _tts_cb, NULL) < 0) {
-               _E("Failed to register the tts callback");
-       }
-       retv_if(vconf_get_bool(VCONFKEY_SETAPPL_ACCESSIBILITY_TTS, &menu_screen_info.is_tts) < 0, MENU_SCREEN_ERROR_FAIL);
-
        elm_object_content_set(conformant, layout);
+
        mouse_register();
        aul_listen_app_dead_signal(_dead_cb, NULL);
        key_register();
@@ -545,12 +457,8 @@ static void _terminate_cb(void *data)
        // FIXME : This will be enabled after rebuilding the routine for appid <-> pkgid.
        pkgmgr_fini();
 
-       if (vconf_ignore_key_changed(VCONFKEY_BGSET, _change_bg_cb) < 0) {
-               _E("Failed to remove bgset [%s]\n", VCONFKEY_BGSET);
-       }
-
-       if (vconf_ignore_key_changed(VCONFKEY_SETAPPL_ACCESSIBILITY_TTS, _tts_cb) < 0) {
-               _E("Failed to ignore the alpha callback");
+       if (system_settings_unset_changed_cb(SYSTEM_SETTINGS_KEY_WALLPAPER_HOME_SCREEN) < 0) {
+               _E("Failed to remove bgset [%s]\n", SYSTEM_SETTINGS_KEY_WALLPAPER_HOME_SCREEN);
        }
 
        evas_object_hide(menu_screen_info.win);
@@ -623,7 +531,7 @@ static void _app_control_cb(app_control_h service, void *data)
 
 
 
-static void _language_changed_cb(void *data)
+static void _language_changed_cb(app_event_info_h event_info, void *data)
 {
        register unsigned int i;
        register unsigned int j;
@@ -658,29 +566,29 @@ static void _language_changed_cb(void *data)
                }
 
                for (j = 0; j < page_max_app; j ++) {
-                       ail_appinfo_h ai;
+                       pkgmgrinfo_appinfo_h appinfo_h = NULL;
                        char *name;
 
                        item = page_get_item_at(page, j);
                        if (!item) continue;
 
-                       if (ail_get_appinfo(item_get_package(item), &ai) < 0) {
-                               ail_destroy_appinfo(ai);
+                       if (pkgmgrinfo_appinfo_get_appinfo(item_get_package(item), &appinfo_h) < 0) {
+                               pkgmgrinfo_appinfo_destroy_appinfo(appinfo_h);
                                continue;
                        }
-                       if (ail_appinfo_get_str(ai, AIL_PROP_NAME_STR, &name) < 0) {
-                               ail_destroy_appinfo(ai);
+                       if (pkgmgrinfo_appinfo_get_label(appinfo_h, &name) < 0) {
+                               pkgmgrinfo_appinfo_destroy_appinfo(appinfo_h);
                                continue;
                        }
 
                        if (!name) {
                                _D("Failed to get name for %s", item_get_package(item));
-                               ail_destroy_appinfo(ai);
+                               pkgmgrinfo_appinfo_destroy_appinfo(appinfo_h);
                                continue;
                        }
 
                        item_set_name(item, name, 0);
-                       ail_destroy_appinfo(ai);
+                       pkgmgrinfo_appinfo_destroy_appinfo(appinfo_h);
                }
 
                mapbuf_enable(page, 1);
@@ -689,41 +597,56 @@ static void _language_changed_cb(void *data)
 
 
 
-static void _init(app_event_callback_s *event_callback)
+static void _init(ui_app_lifecycle_callback_s *lifecycle_callback, app_event_handler_h *event_handlers)
 {
-       event_callback->create = _create_cb;
-       event_callback->terminate = _terminate_cb;
-       event_callback->pause = _pause_cb;
-       event_callback->resume = _resume_cb;
-       event_callback->app_control = _app_control_cb;
-       event_callback->low_memory = NULL;
-       event_callback->low_battery = NULL;
-       event_callback->device_orientation = NULL;
-       event_callback->language_changed = _language_changed_cb;
-       event_callback->region_format_changed = NULL;
+       lifecycle_callback->create = _create_cb;
+       lifecycle_callback->terminate = _terminate_cb;
+       lifecycle_callback->pause = _pause_cb;
+       lifecycle_callback->resume = _resume_cb;
+       lifecycle_callback->app_control = _app_control_cb;
+
+       ui_app_add_event_handler(&event_handlers[APP_EVENT_LOW_BATTERY], APP_EVENT_LOW_BATTERY, NULL, NULL);
+       ui_app_add_event_handler(&event_handlers[APP_EVENT_LOW_MEMORY], APP_EVENT_LOW_MEMORY, NULL, NULL);
+       ui_app_add_event_handler(&event_handlers[APP_EVENT_DEVICE_ORIENTATION_CHANGED], APP_EVENT_DEVICE_ORIENTATION_CHANGED, NULL, NULL);
+       ui_app_add_event_handler(&event_handlers[APP_EVENT_LANGUAGE_CHANGED], APP_EVENT_LANGUAGE_CHANGED, _language_changed_cb, NULL);
+       ui_app_add_event_handler(&event_handlers[APP_EVENT_REGION_FORMAT_CHANGED], APP_EVENT_REGION_FORMAT_CHANGED, NULL, NULL);
+
 }
 
 
 
-static void _fini(void)
+static void _fini(app_event_handler_h *event_handlers)
 {
+       ui_app_remove_event_handler(event_handlers[APP_EVENT_LOW_BATTERY]);
+       ui_app_remove_event_handler(event_handlers[APP_EVENT_LOW_MEMORY]);
+       ui_app_remove_event_handler(event_handlers[APP_EVENT_DEVICE_ORIENTATION_CHANGED]);
+       ui_app_remove_event_handler(event_handlers[APP_EVENT_LANGUAGE_CHANGED]);
+       ui_app_remove_event_handler(event_handlers[APP_EVENT_REGION_FORMAT_CHANGED]);
+
 }
 
 
 
+static void _init_reference_value(void)
+{
+       preference_set_string(MENU_SCREEN_ENGINE, "gl");
+}
+
+
 int main(int argc, char *argv[])
 {
-       app_event_callback_s event_callback;
+       ui_app_lifecycle_callback_s lifecycle_callback = {0, };
+       app_event_handler_h event_handlers[5] = {NULL, };
 
-       _init(&event_callback);
-       app_efl_main(&argc, &argv, &event_callback, NULL);
-       _fini();
+       _init_reference_value();
+
+       _init(&lifecycle_callback, event_handlers);
+       ui_app_main(argc, argv, &lifecycle_callback, NULL);
+       _fini(event_handlers);
 
        return EXIT_SUCCESS;
 }
 
 
 
-
-
 // End of a file
index 1dec1dbf5d0c223261e54643144032194c8dcd45..0348f3a39b77cec9b158cbaee018468a23b500d9 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
index edb31e1c00dbb78a4d308a4b81c2e2a8cabc3645..1791481586e7ce92e0fa3abc5f7022bdc93e90d6 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
@@ -158,7 +158,6 @@ HAPI Evas_Object *page_create(Evas_Object *scroller, int idx, int rotate)
        _D("Create a new page[%d]", idx);
 
        page_edje = evas_object_data_get(scroller, "page_edje");
-       retv_if(!page_edje, NULL);
 
        page = layout_load_edj(scroller, page_edje, PAGE_GROUP_NAME);
        retv_if(!page, NULL);
@@ -338,7 +337,7 @@ HAPI menu_screen_error_e page_unpack_item(Evas_Object *page, Evas_Object *item)
        }
 
        retv_if(pending_idx == -1, MENU_SCREEN_ERROR_FAIL);
-       snprintf(tmp, sizeof(tmp), "menu_swallow_%d", pending_idx);
+       sprintf(tmp, "menu_swallow_%d", pending_idx);
 
        check_item = edje_object_part_swallow_get(_EDJ(page), tmp);
        retv_if(check_item != item, MENU_SCREEN_ERROR_FAIL);
@@ -381,7 +380,7 @@ HAPI Evas_Object *page_unpack_item_at(Evas_Object *page, int idx)
        object = page_get_item_at(page, idx);
        if (object) {
                Evas_Object *check_object;
-               snprintf(tmp, sizeof(tmp), "menu_swallow_%d", idx);
+               sprintf(tmp, "menu_swallow_%d", idx);
 
                check_object = elm_object_part_content_unset(page, tmp);
                if (check_object != object) {
index 178fd8ec9fdb0609e1e2ceaf1495e6a8280d662a..f7c14132b2774421473e2e6fa47c59ecea98af9d 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
@@ -501,44 +501,6 @@ HAPI Evas_Object *page_scroller_push_item_by_order(Evas_Object *scroller, app_in
 
 
 
-static void _mapbuf_cb(keynode_t *node, void *data)
-{
-       int value;
-       int nr_of_pages;
-       register int i;
-       Evas_Object *page;
-
-       if (vconf_get_int("memory/menuscreen/mapbuf", &value) < 0) {
-               _D("Failed to get mapbuf status");
-               return;
-       }
-
-       nr_of_pages = page_scroller_count_page(data);
-       if (value) {
-               for (i = 0; i < nr_of_pages; i ++) {
-                       page = page_scroller_get_page_at(data, i);
-                       if (!page) continue;
-
-                       if (!mapbuf_is_enabled(page)) {
-                               _D("Enable mapbuf %d", i);
-                               mapbuf_enable(page, 1);
-                       }
-               }
-       } else {
-               for (i = 0; i < nr_of_pages; i ++) {
-                       page = page_scroller_get_page_at(data, i);
-                       if (!page) continue;
-
-                       if (mapbuf_is_enabled(page)) {
-                               _D("Disable mapbuf %d", i);
-                               mapbuf_disable(page, 1);
-                       }
-               }
-       }
-}
-
-
-
 static void _mouse_wheel_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
 {
        Evas_Event_Mouse_Wheel *ei = event_info;
@@ -722,10 +684,6 @@ HAPI Evas_Object *page_scroller_create(Evas_Object *tab, Evas_Object *index, pag
        evas_object_show(box);
        evas_object_show(scroller);
 
-       if (vconf_notify_key_changed("memory/menuscreen/mapbuf", _mapbuf_cb, scroller) < 0) {
-               _E("Failed to register a vconf cb for %s", "memory/menuscreen/mapbuf");
-       }
-
        item_badge_register_changed_cb(scroller);
        if (!_create_main_operation_list(scroller)) {
                _E("Cannot create the main operation list");
@@ -807,9 +765,6 @@ HAPI void page_scroller_destroy(Evas_Object *scroller)
 
        evas_object_del(scroller);
 
-       if (vconf_ignore_key_changed("memory/menuscreen/mapbuf", _mapbuf_cb) < 0) {
-               _E("Failed to remove vconf %s", "memory/menuscreen/mapbuf");
-       }
 }
 
 
index 8ffe7ede78a644f202e4455cb9dfc63b8720ed0a..aaafe4981ccf4555fbc920efe95a3153c8f02d14 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
index 8e3c3dc6bac1c199150be1fe59d695a0016fe4f7..6a3b3c269ef523037fc35b37707d18a9da28de4f 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>
@@ -142,7 +142,6 @@ static void _uninstall_yes_cb(void *data, Evas_Object *obj, void *event_info)
 
        Evas_Object *item;
        item = evas_object_data_del(popup, "item");
-       ret_if(!item);
 
        evas_object_del(evas_object_data_del(popup, "button1"));
        evas_object_del(evas_object_data_del(popup, "button2"));
@@ -197,8 +196,6 @@ HAPI Evas_Object *popup_create_uninstall(Evas_Object *parent, Evas_Object *item)
        Evas_Object *btn2;
        char warning[BUFSZE];
 
-       retv_if(!item, NULL);
-
        popup_destroy_all();
 
        popup = elm_popup_add(parent);
index 2f518bcaa002228483c17dada85354cd2cca78af..4326c4f66f5afdac1d573eb08643201fe9ec4385 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * MENU-SCREEN
  *
- * Copyright (c) 2009-2014 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Contact: Jin Yoon <jinny.yoon@samsung.com>
  *          Junkyu Han <junkyu.han@samsung.com>