Recents (TaskManager) App for tizen wearable 3.0 57/86657/8 submit/tizen/20160908.064755 submit/tizen/20160914.065917
author“vijay.tiwari” <vijay.tiwari@samsung.com>
Fri, 2 Sep 2016 07:47:31 +0000 (13:17 +0530)
committer“vijay.tiwari” <vijay.tiwari@samsung.com>
Wed, 7 Sep 2016 12:21:28 +0000 (17:51 +0530)
Change-Id: Ibf1a7080fcbb62286b595d6c44e49b924ef01d3c

60 files changed:
.cproject [new file with mode: 0644]
.exportMap [new file with mode: 0644]
.package-stamp [new file with mode: 0644]
.project [new file with mode: 0644]
.rds_delta [new file with mode: 0644]
.sdk_delta.info [new file with mode: 0644]
.tproject [new file with mode: 0644]
AUTHORS
Build/appendix.mk [new file with mode: 0644]
Build/basedef.mk [new file with mode: 0644]
Build/flags.mk [new file with mode: 0644]
Build/makefile [new file with mode: 0644]
Build/prepost.mk [new file with mode: 0644]
Build/tooldef.mk [new file with mode: 0644]
CMakeLists.txt [deleted file]
LICENSE [deleted file]
LICENSE.Flora [new file with mode: 0644]
WORKSPACE [new file with mode: 0644]
build_def.prop [new file with mode: 0644]
data/org.tizen.task-mgr.efl [deleted file]
data/org.tizen.task-mgr.xml
inc/conf.h [moved from include/conf.h with 72% similarity]
inc/item.h [new file with mode: 0644]
inc/list.h [moved from include/list.h with 59% similarity]
inc/log.h [moved from include/log.h with 54% similarity]
inc/main.h [new file with mode: 0644]
inc/scroller.h [new file with mode: 0644]
inc/util.h [new file with mode: 0644]
include/item.h [deleted file]
include/main.h [deleted file]
include/scroller.h [deleted file]
include/util.h [deleted file]
org.tizen.task-mgr.manifest [deleted file]
packaging/org.tizen.task-mgr.spec
project_def.prop [new file with mode: 0644]
res/CMakeLists.txt [deleted file]
res/edje/conf.h [deleted symlink]
res/edje/images/b_recent_widget_del_bg.png [new file with mode: 0755]
res/edje/images/b_recent_widget_del_icon.png [new file with mode: 0755]
res/edje/images/b_recent_widget_del_shadow.png [new file with mode: 0755]
res/edje/images/fake_image.png [new file with mode: 0755]
res/edje/images/recent_btn_close_bg.png [new file with mode: 0755]
res/edje/images/recent_btn_close_icon.png [new file with mode: 0755]
res/edje/images/recent_circle_bg_mask.png [new file with mode: 0755]
res/edje/images/recent_no_recent_icon.png [new file with mode: 0755]
res/edje/images/tw_bottom_btn_bg.png [new file with mode: 0644]
res/edje/images/tw_no_item_bg.png [new file with mode: 0755]
res/edje/images/widget_circle_bg_ef1.png [new file with mode: 0755]
res/edje/images/widget_circle_bg_ef2.png [new file with mode: 0755]
res/edje/item.edc
res/edje/layout.edc
res/icon/org.tizen.task-mgr.png
shared/res/org.tizen.task-mgr.png [new file with mode: 0644]
src/item.c
src/list.c
src/main.c
src/scroller.c
src/util.c
task-mgr-spin.creator.user [deleted file]
tizen-manifest.xml [new file with mode: 0755]

diff --git a/.cproject b/.cproject
new file mode 100644 (file)
index 0000000..70f107d
--- /dev/null
+++ b/.cproject
@@ -0,0 +1,561 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+       <storageModule moduleId="org.eclipse.cdt.core.settings">
+               <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.app.debug.1309505987">
+                       <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.app.debug.1309505987" moduleId="org.eclipse.cdt.core.settings" name="Debug">
+                               <externalSettings/>
+                               <extensions>
+                                       <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+                                       <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+                                       <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+                                       <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+                                       <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+                                       <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+                                       <extension id="org.tizen.nativecore.NativeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+                                       <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+                               </extensions>
+                       </storageModule>
+                       <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+                               <configuration artifactName="task-mgr" buildArtefactType="org.tizen.nativecore.buildArtefactType.app" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.app,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.app.debug.1309505987" name="Debug" parent="org.tizen.nativecore.config.sbi.gcc45.app.debug">
+                                       <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.app.debug.1309505987." name="/" resourcePath="">
+                                               <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.app.debug.777356552" name="Tizen Native Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.app.debug">
+                                                       <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.775693905" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+                                                       <builder autoBuildTarget="all" buildPath="${workspace_loc:/timer}/Debug" enableAutoBuild="true" id="org.tizen.nativecore.target.sbi.gnu.builder.1835398685" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+                                                       <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.161308378" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+                                                       <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.2106263175" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+                                                               <option id="gnu.cpp.compiler.option.optimization.level.1599255694" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
+                                                               <option defaultValue="gnu.cpp.compiler.debugging.level.max" id="sbi.gnu.cpp.compiler.option.debugging.level.core.1398377897" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" valueType="enumerated"/>
+                                                               <option defaultValue="false" id="sbi.gnu.cpp.compiler.option.misc.pic.core.1265873312" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
+                                                               <option id="sbi.gnu.cpp.compiler.option.1572448586" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+                                                                       <listOptionValue builtIn="false" value="wearable-3.0-emulator.core.private_llvm36.i386.core.app"/>
+                                                               </option>
+                                                               <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.678059276" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-watch&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/chromium-ewk&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-service&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/csr&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dali&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dali-toolkit&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/device&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-buffer-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-con-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-evas-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-file-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-imf-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-imf-evas-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-input-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-input-evas-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-ipc-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ector-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eldbus-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/emile-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eo-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eom&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-client-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/feedback&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/harfbuzz&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/iotcon&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/maps&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/metadata-editor&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/nsd/&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/phonenumber-utils&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/rua/&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_service&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_viewer_evas&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/yaca&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+                                                               </option>
+                                                               <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.2022510975" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+                                                                       <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+                                                                       <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+                                                                       <listOptionValue builtIn="false" value=" -fPIE"/>
+                                                                       <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+                                                               </option>
+                                                               <option id="gnu.cpp.compiler.option.include.paths.2133672781" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+                                                               </option>
+                                                               <option id="sbi.gnu.cpp.compiler.option.frameworks.core.1630141478" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+                                                                       <listOptionValue builtIn="false" value="Native_API"/>
+                                                               </option>
+                                                               <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1849804143" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+                                                       </tool>
+                                                       <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1316515652" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+                                                               <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.1162407253" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+                                                               <option defaultValue="gnu.c.debugging.level.max" id="sbi.gnu.c.compiler.option.debugging.level.core.154475389" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" valueType="enumerated"/>
+                                                               <option defaultValue="false" id="sbi.gnu.c.compiler.option.misc.pic.core.1941776672" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+                                                               <option id="sbi.gnu.c.compiler.option.912947849" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+                                                                       <listOptionValue builtIn="false" value="wearable-3.0-emulator.core.private_llvm36.i386.core.app"/>
+                                                               </option>
+                                                               <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.102598672" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-watch&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/chromium-ewk&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-service&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/csr&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dali&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dali-toolkit&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/device&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-buffer-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-con-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-evas-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-file-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-imf-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-imf-evas-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-input-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-input-evas-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-ipc-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ector-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eldbus-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/emile-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eo-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eom&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-client-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/feedback&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/harfbuzz&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/iotcon&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/maps&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/metadata-editor&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/msg-service&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/nsd/&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/phonenumber-utils&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/rua/&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony-client&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ug-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_service&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_viewer_evas&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/yaca&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+                                                               </option>
+                                                               <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.2015755914" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+                                                                       <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+                                                                       <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+                                                                       <listOptionValue builtIn="false" value=" -fPIE"/>
+                                                                       <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+                                                               </option>
+                                                               <option id="gnu.c.compiler.option.include.paths.184309749" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+                                                               </option>
+                                                               <option id="sbi.gnu.c.compiler.option.frameworks.core.1807908986" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+                                                                       <listOptionValue builtIn="false" value="Native_API"/>
+                                                               </option>
+                                                               <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.155881715" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+                                                       </tool>
+                                                       <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.1804964280" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+                                                       <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.54335095" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+                                                               <option defaultValue="false" id="sbi.gnu.cpp.linker.option.shared_flag.core.993200104" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+                                                               <option defaultValue="false" id="sbi.gnu.cpp.linker.option.noundefined.core.1439544389" name="Report unresolved symbol references (-Wl,--no-undefined)" superClass="sbi.gnu.cpp.linker.option.noundefined.core" valueType="boolean"/>
+                                                               <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.1005179627" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+                                                                       <listOptionValue builtIn="false" value="${TC_LINKER_MISC}"/>
+                                                                       <listOptionValue builtIn="false" value="${RS_LINKER_MISC}"/>
+                                                                       <listOptionValue builtIn="false" value="-pie -lpthread "/>
+                                                                       <listOptionValue builtIn="false" value="-Xlinker -rpath=&quot;/home/developer/sdk_tools/lib&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="-Xlinker --version-script=&quot;${PROJ_PATH}/.exportMap&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+                                                               </option>
+                                                               <option id="gnu.cpp.link.option.paths.1803080059" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+                                                               </option>
+                                                               <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.13904589" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+                                                                       <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+                                                                       <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+                                                               </inputType>
+                                                       </tool>
+                                                       <tool command="i386-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.1439855539" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+                                                               <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1849625719" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+                                                       </tool>
+                                                       <tool id="org.tizen.nativecore.tool.fnmapgen.645211846" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+                                                       <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.1405159421" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+                                                       <tool id="org.tizen.nativecore.tool.ast.2127862350" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+                                                       <tool id="org.tizen.nativecore.tool.ast.cpp.841656285" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+                                                       <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib.199331119" name="Archive Generator" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib"/>
+                                                       <tool id="org.tizen.nativecore.tool.sbi.po.compiler.668758474" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+                                                       <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.1336985194" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler">
+                                                               <option command="-id " id="sbi.gnu.edc.compiler.option.misc.id.622015380" superClass="sbi.gnu.edc.compiler.option.misc.id" valueType="stringList">
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/res/edje/images&quot;"/>
+                                                               </option>
+                                                       </tool>
+                                               </toolChain>
+                                       </folderInfo>
+                                       <sourceEntries>
+                                               <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+                                               <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="res"/>
+                                               <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="shared"/>
+                                               <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+                                       </sourceEntries>
+                               </configuration>
+                       </storageModule>
+                       <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+               </cconfiguration>
+               <cconfiguration id="org.tizen.nativecore.config.sbi.gcc45.app.release.590416803">
+                       <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecore.config.sbi.gcc45.app.release.590416803" moduleId="org.eclipse.cdt.core.settings" name="Release">
+                               <externalSettings/>
+                               <extensions>
+                                       <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+                                       <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+                                       <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+                                       <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+                                       <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+                                       <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+                                       <extension id="org.tizen.nativecore.NativeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+                                       <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+                               </extensions>
+                       </storageModule>
+                       <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+                               <configuration artifactName="org.tizen.timer" buildArtefactType="org.tizen.nativecore.buildArtefactType.app" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecore.buildArtefactType.app,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecore.config.sbi.gcc45.app.release.590416803" name="Release" parent="org.tizen.nativecore.config.sbi.gcc45.app.release">
+                                       <folderInfo id="org.tizen.nativecore.config.sbi.gcc45.app.release.590416803." name="/" resourcePath="">
+                                               <toolChain id="org.tizen.nativecore.toolchain.sbi.gcc45.app.release.812927782" name="Tizen Native Toolchain" superClass="org.tizen.nativecore.toolchain.sbi.gcc45.app.release">
+                                                       <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.1335861332" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+                                                       <builder buildPath="${workspace_loc:/timer}/Release" id="org.tizen.nativecore.target.sbi.gnu.builder.231072114" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecore.target.sbi.gnu.builder"/>
+                                                       <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.1949939564" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
+                                                       <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.644456245" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+                                                               <option id="gnu.cpp.compiler.option.optimization.level.1738200173" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
+                                                               <option defaultValue="gnu.cpp.compiler.debugging.level.default" id="sbi.gnu.cpp.compiler.option.debugging.level.core.1008047369" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" valueType="enumerated"/>
+                                                               <option defaultValue="false" id="sbi.gnu.cpp.compiler.option.misc.pic.core.527218528" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
+                                                               <option id="sbi.gnu.cpp.compiler.option.367701614" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+                                                                       <listOptionValue builtIn="false" value="wearable-3.0-emulator.core_llvm36.i386.core.app"/>
+                                                               </option>
+                                                               <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.802349464" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-watch&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/chromium-ewk&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-service&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/csr&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dali&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dali-toolkit&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/device&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-buffer-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-con-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-evas-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-file-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-imf-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-imf-evas-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-input-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-input-evas-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-ipc-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ector-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eldbus-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/emile-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eo-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eom&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-client-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/feedback&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/harfbuzz&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/iotcon&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/maps&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/metadata-editor&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/nsd/&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/phonenumber-utils&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_service&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_viewer_evas&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+                                                               </option>
+                                                               <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.1532951874" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+                                                                       <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+                                                                       <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+                                                                       <listOptionValue builtIn="false" value=" -fPIE"/>
+                                                                       <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+                                                               </option>
+                                                               <option id="gnu.cpp.compiler.option.include.paths.1705291216" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+                                                               </option>
+                                                               <option id="sbi.gnu.cpp.compiler.option.frameworks.core.223647103" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+                                                                       <listOptionValue builtIn="false" value="Native_API"/>
+                                                               </option>
+                                                               <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.606807934" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
+                                                       </tool>
+                                                       <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.1425706840" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+                                                               <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.1428244788" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+                                                               <option defaultValue="gnu.c.debugging.level.default" id="sbi.gnu.c.compiler.option.debugging.level.core.1311205853" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" valueType="enumerated"/>
+                                                               <option defaultValue="false" id="sbi.gnu.c.compiler.option.misc.pic.core.1240071290" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
+                                                               <option id="sbi.gnu.c.compiler.option.1422985977" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+                                                                       <listOptionValue builtIn="false" value="wearable-3.0-emulator.core_llvm36.i386.core.app"/>
+                                                               </option>
+                                                               <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.1925770073" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/libxml2&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-watch&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/badge&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/base&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cairo&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/chromium-ewk&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ckm&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/contacts-svc&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/content&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/context-service&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/csr&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dali&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dali-toolkit&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dbus-1.0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/device&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/dlog&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-buffer-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-con-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-evas-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-file-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-imf-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-imf-evas-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-input-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-input-evas-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ecore-ipc-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ector-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/e_dbus-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/edje-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eet-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efl-extension&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/efreet-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eina-1/eina&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eio-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eldbus-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/elementary-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/embryo-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/emile-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eo-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/eom&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ethumb-client-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/evas-1&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/feedback&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/fontconfig&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/freetype2&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/glib-2.0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/harfbuzz&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/iotcon&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/json-glib-1.0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/location&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/maps&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/media-content&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/messaging&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/metadata-editor&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minizip&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/network&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/notification&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/nsd/&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/phonenumber-utils&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/storage&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/system&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/telephony&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/ui&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_service&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_viewer_evas&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/dbus-1.0/include&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/lib/glib-2.0/include&quot;"/>
+                                                               </option>
+                                                               <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.1788147765" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+                                                                       <listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
+                                                                       <listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
+                                                                       <listOptionValue builtIn="false" value=" -fPIE"/>
+                                                                       <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+                                                               </option>
+                                                               <option id="gnu.c.compiler.option.include.paths.958482017" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/inc}&quot;"/>
+                                                               </option>
+                                                               <option id="sbi.gnu.c.compiler.option.frameworks.core.562544544" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+                                                                       <listOptionValue builtIn="false" value="Native_API"/>
+                                                               </option>
+                                                               <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1663319438" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
+                                                       </tool>
+                                                       <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.1495945020" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+                                                       <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.833080090" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+                                                               <option defaultValue="false" id="sbi.gnu.cpp.linker.option.shared_flag.core.1320205047" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
+                                                               <option defaultValue="false" id="sbi.gnu.cpp.linker.option.noundefined.core.1839092749" name="Report unresolved symbol references (-Wl,--no-undefined)" superClass="sbi.gnu.cpp.linker.option.noundefined.core" valueType="boolean"/>
+                                                               <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.1255100665" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+                                                                       <listOptionValue builtIn="false" value="${TC_LINKER_MISC}"/>
+                                                                       <listOptionValue builtIn="false" value="${RS_LINKER_MISC}"/>
+                                                                       <listOptionValue builtIn="false" value="-pie -lpthread "/>
+                                                                       <listOptionValue builtIn="false" value="-Xlinker -rpath=&quot;/home/developer/sdk_tools/lib&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="--sysroot=&quot;${SBI_SYSROOT}&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="-Xlinker --version-script=&quot;${PROJ_PATH}/.exportMap&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="-L&quot;${SBI_SYSROOT}/usr/lib&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
+                                                               </option>
+                                                               <option id="gnu.cpp.link.option.paths.1340886692" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+                                                                       <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/lib}&quot;"/>
+                                                               </option>
+                                                               <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.516500854" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+                                                                       <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+                                                                       <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+                                                               </inputType>
+                                                       </tool>
+                                                       <tool command="i386-linux-gnueabi-as" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.324848913" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+                                                               <inputType id="cdt.managedbuild.tool.gnu.assembler.input.420016342" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+                                                       </tool>
+                                                       <tool id="org.tizen.nativecore.tool.fnmapgen.186341524" name="C FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen"/>
+                                                       <tool id="org.tizen.nativecore.tool.fnmapgen.cpp.703217599" name="C++ FN-Map Generator" superClass="org.tizen.nativecore.tool.fnmapgen.cpp"/>
+                                                       <tool id="org.tizen.nativecore.tool.ast.1952510977" name="C Static Analyzer" superClass="org.tizen.nativecore.tool.ast"/>
+                                                       <tool id="org.tizen.nativecore.tool.ast.cpp.1272503557" name="C++ Static Analyzer" superClass="org.tizen.nativecore.tool.ast.cpp"/>
+                                                       <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib.1513486035" name="Archive Generator" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib"/>
+                                                       <tool id="org.tizen.nativecore.tool.sbi.po.compiler.920136820" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
+                                                       <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.1488310140" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler"/>
+                                               </toolChain>
+                                       </folderInfo>
+                                       <sourceEntries>
+                                               <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+                                               <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="res"/>
+                                               <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="shared"/>
+                                               <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+                                       </sourceEntries>
+                               </configuration>
+                       </storageModule>
+                       <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+               </cconfiguration>
+       </storageModule>
+       <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+               <project id="timer.org.tizen.nativecore.target.sbi.gcc45.app.1413302621" name="Tizen Native Application" projectType="org.tizen.nativecore.target.sbi.gcc45.app"/>
+       </storageModule>
+       <storageModule moduleId="scannerConfiguration">
+               <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+               <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.app.debug.1309505987">
+                       <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+               </scannerConfigBuildInfo>
+               <scannerConfigBuildInfo instanceId="org.tizen.nativecore.config.sbi.gcc45.app.release.590416803">
+                       <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+               </scannerConfigBuildInfo>
+       </storageModule>
+       <storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
+       <storageModule moduleId="refreshScope"/>
+</cproject>
diff --git a/.exportMap b/.exportMap
new file mode 100644 (file)
index 0000000..43e310e
--- /dev/null
@@ -0,0 +1,4 @@
+{
+       global: main;
+       local: *;
+};
diff --git a/.package-stamp b/.package-stamp
new file mode 100644 (file)
index 0000000..40cbe59
--- /dev/null
@@ -0,0 +1 @@
+TPK
\ No newline at end of file
diff --git a/.project b/.project
new file mode 100644 (file)
index 0000000..21fd70c
--- /dev/null
+++ b/.project
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+       <name>taskmanager</name>
+       <comment></comment>
+       <projects>
+       </projects>
+       <buildSpec>
+               <buildCommand>
+                       <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+               <buildCommand>
+                       <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+                       <triggers>full,incremental,</triggers>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+       </buildSpec>
+       <natures>
+               <nature>org.eclipse.cdt.core.cnature</nature>
+               <nature>org.eclipse.cdt.core.ccnature</nature>
+               <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+               <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+       </natures>
+       <filteredResources>
+               <filter>
+                       <id>0</id>
+                       <name></name>
+                       <type>26</type>
+                       <matcher>
+                               <id>org.eclipse.ui.ide.multiFilter</id>
+                               <arguments>1.0-projectRelativePath-matches-false-false-*/.tpk</arguments>
+                       </matcher>
+               </filter>
+               <filter>
+                       <id>0</id>
+                       <name></name>
+                       <type>6</type>
+                       <matcher>
+                               <id>org.eclipse.ui.ide.multiFilter</id>
+                               <arguments>1.0-name-matches-false-false-project_def.prop</arguments>
+                       </matcher>
+               </filter>
+       </filteredResources>
+</projectDescription>
diff --git a/.rds_delta b/.rds_delta
new file mode 100644 (file)
index 0000000..7987727
--- /dev/null
@@ -0,0 +1,6 @@
+#delete
+#add
+#modify
+author-signature.xml
+signature1.xml
+bin/task-mgr
diff --git a/.sdk_delta.info b/.sdk_delta.info
new file mode 100644 (file)
index 0000000..fb0e4f2
Binary files /dev/null and b/.sdk_delta.info differ
diff --git a/.tproject b/.tproject
new file mode 100644 (file)
index 0000000..de5a150
--- /dev/null
+++ b/.tproject
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<tproject xmlns="http://www.tizen.org/tproject">
+    <platforms>
+        <platform>
+            <name>wearable-3.0</name>
+        </platform>
+    </platforms>
+    <package>
+        <blacklist/>
+        <resFallback autoGen="true"/>
+    </package>
+</tproject>
diff --git a/AUTHORS b/AUTHORS
index 566bee7..15bcfc4 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,2 +1 @@
-Hong Kwon <hhh.kwon at samsung dot com>
-Minho Kim <minho07.kim at samsung dot com>
+Vijay Tiwari <vijay.tiwari@samsung.com>
\ No newline at end of file
diff --git a/Build/appendix.mk b/Build/appendix.mk
new file mode 100644 (file)
index 0000000..2e06c34
--- /dev/null
@@ -0,0 +1 @@
+# Appendix\r
diff --git a/Build/basedef.mk b/Build/basedef.mk
new file mode 100644 (file)
index 0000000..7cacafc
--- /dev/null
@@ -0,0 +1,14 @@
+# Add inputs and outputs from these tool invocations to the build variables
+
+C_DEPS +=
+
+SYSROOT := $(SBI_SYSROOT)
+
+ROOTSTRAP_INCS := $(addprefix -I $(SYSROOT)/,$(PLATFORM_INCS_EX))
+EFL_INCS := 
+
+RS_LIBRARIES := $(addprefix -l,$(RS_LIBRARIES_EX))
+
+PLATFORM_INCS := $(ROOTSTRAP_INCS) $(EFL_INCS) \
+     -I"$(SDK_PATH)/library" 
+
diff --git a/Build/flags.mk b/Build/flags.mk
new file mode 100644 (file)
index 0000000..0ee8efb
--- /dev/null
@@ -0,0 +1,16 @@
+
+DEBUG_OP = -g3 
+CPP_DEBUG_OP = 
+
+OPTIMIZATION_OP = -O0 
+CPP_OPTIMIZATION_OP = 
+
+COMPILE_FLAGS = $(DEBUG_OP) $(OPTIMIZATION_OP) -Wall -c -fmessage-length=0 
+
+CPP_COMPILE_FLAGS = $(CPP_DEBUG_OP) $(CPP_OPTIMIZATION_OP) 
+
+LINK_FLAGS = 
+
+AR_FLAGS = 
+
+EDC_COMPILE_FLAGS = 
\ No newline at end of file
diff --git a/Build/makefile b/Build/makefile
new file mode 100644 (file)
index 0000000..4e2d6c5
--- /dev/null
@@ -0,0 +1,275 @@
+BUILD_SCRIPT_VERSION := 1.0.7
+
+all : app_build
+
+clean : app_clean
+
+version : make_version
+
+
+BSLASH := \\#
+BSLASH2SLASH = $(subst $(BSLASH),/,$(1))
+REMOVE_TAIL = $(patsubst %/,%,$(1))
+
+PROJ_ROOT := $(call BSLASH2SLASH,$(PROJPATH))
+
+-include $(PROJ_ROOT)/project_def.prop
+-include basedef.mk
+-include tooldef.mk
+-include flags.mk
+-include prepost.mk
+
+APPTYPE := $(type)
+
+OBJ_OUTPUT := $(call BSLASH2SLASH,$(OUTPUT_DIR)/objs)
+
+OS_NAME = $(shell $(UNAME))
+
+#LOWER_APPNAME := $(shell echo translit($(APPNAME),[A-Z],[a-z])|$(M4))
+LOWER_APPNAME := $(shell echo $(APPNAME)|$(TR) [A-Z] [a-z])
+
+ifeq ($(strip $(APPTYPE)),app)
+APPFILE := $(OUTPUT_DIR)/$(LOWER_APPNAME)
+endif
+ifeq ($(strip $(APPTYPE)),staticLib)
+APPFILE := $(OUTPUT_DIR)/lib$(LOWER_APPNAME).a
+endif
+ifeq ($(strip $(APPTYPE)),sharedLib)
+APPFILE := $(OUTPUT_DIR)/lib$(LOWER_APPNAME).so
+endif
+
+ifneq ($(strip $(PLATFORM_INCS)),)
+PLATFORM_INCS_FILE := $(OBJ_OUTPUT)/platform_incs_file.inc
+endif
+
+FIND_FILES = $(shell $(FIND) $(PROJ_ROOT)/$(dir $(1)) -type f -name $(notdir $(1)) -printf '$(dir $(1))%P ')
+
+NORMAL_SRCS := $(filter-out %*.c %*.cpp,$(USER_SRCS))
+WIDLCARD_SRCS := $(filter %*.c %*.cpp,$(USER_SRCS))
+ALL_SRCS := $(NORMAL_SRCS) $(foreach var,$(WIDLCARD_SRCS),$(call FIND_FILES,$(var)))
+
+C_SRCS := $(filter %.c,$(ALL_SRCS))
+CPP_SRCS := $(filter %.cpp,$(ALL_SRCS))
+
+USER_EDCS := $(subst $(BSLASH),/,$(USER_EDCS))
+NORMAL_EDCS := $(filter-out %*.edc,$(USER_EDCS))
+WIDLCARD_EDCS := $(filter %*.edc,$(USER_EDCS))
+EDCS := $(NORMAL_EDCS) $(foreach var,$(WIDLCARD_EDCS),$(call FIND_FILES,$(var)))
+
+NORMAL_POS := $(filter-out %*.po,$(USER_POS))
+WIDLCARD_POS := $(filter %*.po,$(USER_POS))
+POS := $(NORMAL_POS) $(foreach var,$(WIDLCARD_POS),$(call FIND_FILES,$(var)))
+
+LIBPATHS := $(addprefix -L$(PROJ_ROOT)/,$(USER_LIB_DIRS)) \
+                       $(addprefix -L,$(USER_LIB_DIRS_ABS))
+LIBS += $(addprefix -l,$(USER_LIBS))
+UOBJS := $(addprefix $(PROJ_ROOT)/,$(USER_OBJS)) \
+                $(USER_OBJS_ABS)
+
+M_OPT = -MMD -MP -MF"$(@:%.o=%.d)"
+
+FUNC_C2O = $(patsubst %.c,$(OBJ_OUTPUT)/%.o,$(1))
+FUNC_CPP2O = $(patsubst %.cpp,$(OBJ_OUTPUT)/%.o,$(1))
+FUNC_EDC2EDJ = $(patsubst %.edc,$(OUTPUT_DIR)/%.edj,$(1))
+FUNC_PO2MO = $(patsubst %.po,$(OUTPUT_DIR)/res/locale/%/LC_MESSAGES/$(LOWER_APPNAME).mo,$(notdir $(1)))
+
+
+C_OBJS := $(call FUNC_C2O,$(C_SRCS)) 
+CPP_OBJS := $(call FUNC_CPP2O,$(CPP_SRCS)) 
+OBJS := $(C_OBJS) $(CPP_OBJS)
+EDJ_FILES := $(call FUNC_EDC2EDJ,$(EDCS))
+MO_FILES := $(call FUNC_PO2MO,$(POS))
+DEPS := $(OBJS:.o=.d)
+
+
+ifneq ($(strip $(DEPS)),)
+-include $(DEPS)
+endif
+
+ifeq ($(strip $(APPTYPE)),app)
+$(APPFILE) : $(OBJS) $(UOBJS)
+       @echo '  Building target: $@'
+       @echo '  Invoking: C/C++ Linker'
+       @$(MKDIR) $(MKDIR_OP) $(subst $(BSLASH),/,$(@D))
+       $(CXX) -o "$(APPFILE)" $(OBJS) $(UOBJS) $(LIBPATHS) -Xlinker --as-needed $(LIBS) $(LINK_FLAGS) $(TC_LINKER_MISC) $(RS_LINKER_MISC) -pie -lpthread -Xlinker -rpath="/home/developer/sdk_tools/lib" --sysroot="$(SYSROOT)" -Xlinker --version-script="$(PROJ_PATH)/.exportMap" -L"$(SBI_SYSROOT)/usr/lib" $(RS_LIBRARIES) -Xlinker -rpath="/opt/usr/apps/$(APPID)/lib" -Werror-implicit-function-declaration
+       @echo '  Finished building target: $@'
+endif
+ifeq ($(strip $(APPTYPE)),staticLib)
+$(APPFILE) : $(OBJS) $(UOBJS)
+       @echo '  Building target: $@'
+       @echo '  Invoking: Archive utility'
+       @$(MKDIR) $(MKDIR_OP) $(subst $(BSLASH),/,$(@D))
+       $(AR) -r "$(APPFILE)" $(OBJS) $(UOBJS) $(AR_FLAGS)
+       @echo '  Finished building target: $@'
+endif
+ifeq ($(strip $(APPTYPE)),sharedLib)
+$(APPFILE) : $(OBJS) $(UOBJS)
+       @echo '  Building target: $@'
+       @echo '  Invoking: C/C++ Linker'
+       @$(MKDIR) $(MKDIR_OP) $(subst $(BSLASH),/,$(@D))
+       $(CXX) -o "$(APPFILE)" $(OBJS) $(UOBJS) $(LIBPATHS) -Xlinker --as-needed $(LIBS) $(LINK_FLAGS) $(TC_LINKER_MISC) $(RS_LINKER_MISC) -shared -lpthread --sysroot="$(SYSROOT)" -L"$(SYSROOT)/usr/lib" $(RS_LIBRARIES)
+       @echo '  Finished building target: $@'
+endif
+
+
+ifneq ($(strip $(C_SRCS)),)
+CDEFS += $(addprefix -D,$(USER_DEFS))
+CDEFS += $(addprefix -U,$(USER_UNDEFS))
+
+INCS := $(addprefix -I$(PROJ_ROOT)/,$(USER_INC_DIRS)) \
+               $(addprefix -I,$(USER_INC_DIRS_ABS)) \
+               $(addprefix -include$(PROJ_ROOT)/,$(USER_INC_FILES)) \
+               $(addprefix -include,$(USER_INC_FILES_ABS))
+
+$(C_OBJS) : $(OBJ_OUTPUT)/%.o : $(PROJ_ROOT)/%.c $(PLATFORM_INCS_FILE)  
+       @echo '  Building file: $<'
+       @echo '  Invoking: C Compiler'
+       @$(MKDIR) $(MKDIR_OP) $(subst $(BSLASH),/,$(@D))
+ifeq ($(strip $(APPTYPE)),sharedLib)
+       $(CC) -c $< -o $@ $(CDEFS) $(INCS) -I"pch" $(COMPILE_FLAGS) $(TC_COMPILER_MISC) $(RS_COMPILER_MISC) -fPIC --sysroot="$(SYSROOT)" -Werror-implicit-function-declaration $(M_OPT) @$(PLATFORM_INCS_FILE)
+else
+       $(CC) -c $< -o $@ $(CDEFS) $(INCS) -I"pch" $(COMPILE_FLAGS) $(TC_COMPILER_MISC) $(RS_COMPILER_MISC) -fPIE --sysroot="$(SYSROOT)" -Werror-implicit-function-declaration $(M_OPT) @$(PLATFORM_INCS_FILE)
+endif
+       @echo '  Finished building: $<'
+endif
+
+ifneq ($(strip $(CPP_SRCS)),)
+CPPDEFS += $(addprefix -D,$(USER_CPP_DEFS))
+CPPDEFS += $(addprefix -U,$(USER_CPP_UNDEFS))
+
+CPP_INCS := $(addprefix -I$(PROJ_ROOT)/,$(USER_CPP_INC_DIRS)) \
+               $(addprefix -I,$(USER_CPP_INC_DIRS_ABS)) \
+               $(addprefix -include$(PROJ_ROOT)/,$(USER_CPP_INC_FILES)) \
+               $(addprefix -include,$(USER_CPP_INC_FILES_ABS))
+               
+$(CPP_OBJS) : $(OBJ_OUTPUT)/%.o : $(PROJ_ROOT)/%.cpp $(PLATFORM_INCS_FILE)  
+       @echo '  Building file: $<'
+       @echo '  Invoking: C++ Compiler'
+       @$(MKDIR) $(MKDIR_OP) $(subst $(BSLASH),/,$(@D))
+ifeq ($(strip $(APPTYPE)),sharedLib)
+       $(CXX) -c $< -o $@ $(CPPDEFS) $(CPP_INCS) -I"pch" $(CPP_COMPILE_FLAGS) $(TC_COMPILER_MISC) $(RS_COMPILER_MISC) -fPIC --sysroot="$(SYSROOT)" -Werror-implicit-function-declaration $(M_OPT) @$(PLATFORM_INCS_FILE)
+else
+       $(CXX) -c $< -o $@ $(CPPDEFS) $(CPP_INCS) -I"pch" $(CPP_COMPILE_FLAGS) $(TC_COMPILER_MISC) $(RS_COMPILER_MISC) -fPIE --sysroot="$(SYSROOT)" -Werror-implicit-function-declaration $(M_OPT) @$(PLATFORM_INCS_FILE)
+endif
+       @echo '  Finished building: $<'
+endif
+
+
+$(OBJ_OUTPUT) :
+       @echo '  Building directory: $@'
+       @$(MKDIR) $(MKDIR_OP) $(OBJ_OUTPUT)
+
+preproc : $(OBJ_OUTPUT)
+ifneq ($(strip $(PREBUILD_COMMAND)),)
+ifneq ($(strip $(PREBUILD_DESC)),)
+       @echo $(PREBUILD_DESC)
+endif  
+       @echo $(shell $(PREBUILD_COMMAND))
+endif  
+
+
+postproc :
+ifneq ($(strip $(POSTBUILD_COMMAND)),)
+ifneq ($(strip $(POSTBUILD_DESC)),)
+       @echo $(POSTBUILD_DESC)
+endif  
+       @echo $(shell $(POSTBUILD_COMMAND))
+endif  
+
+ifneq ($(strip $(PLATFORM_INCS)),)
+$(PLATFORM_INCS_FILE) : $(OBJ_OUTPUT)
+       @echo '  Building inc file: $@'
+ifneq ($(findstring Linux,$(OS_NAME)),)
+       @echo $(PLATFORM_INCS) > $@
+else
+ifneq ($(findstring 3.82,$(MAKE_VERSION)),)
+       $(file > $@,$(PLATFORM_INCS))
+else
+       @echo $(PLATFORM_INCS) > $@
+endif   
+endif
+endif
+
+ALL_EDJ_FILES :=
+
+define EDJ_PROC
+ALL_EDCS := $$(subst $(BSLASH),/,$$($(2)))
+NORMAL_EDCS := $$(filter-out %*.edc,$$(ALL_EDCS))
+WIDLCARD_EDCS := $$(filter %*.edc,$$(ALL_EDCS))
+EDCS := $$(NORMAL_EDCS) $$(foreach var_edc,$$(WIDLCARD_EDCS),$$(call FIND_FILES,$$(var_edc)))
+
+ifneq ($$(strip $$(EDCS)),)
+EDJ_FILES := $$(call FUNC_EDC2EDJ,$$(EDCS))
+
+ALL_EDJ_FILES += $$(EDJ_FILES)
+
+EDC_$(1)_COMPILER_FLAGS := -id "$$(SDK_TOOLPATH)/enventor/share/enventor/images"
+EDC_$(1)_COMPILER_FLAGS += -sd "$$(SDK_TOOLPATH)/enventor/share/enventor/sounds"
+EDC_$(1)_COMPILER_FLAGS += -fd "$$(SDK_TOOLPATH)/enventor/share/enventor/fonts"
+
+ifneq ($$(strip $(3)),)
+EDC_$(1)_COMPILER_FLAGS += $$(addprefix -id $$(PROJ_PATH)/,$$($(3)))
+endif
+ifneq ($$(strip $(4)),)
+EDC_$(1)_COMPILER_FLAGS += $$(addprefix -id ,$$($(4)))
+endif
+ifneq ($$(strip $(5)),)
+EDC_$(1)_COMPILER_FLAGS += $$(addprefix -sd $$(PROJ_PATH)/,$$($(5)))
+endif
+ifneq ($$(strip $(6)),)
+EDC_$(1)_COMPILER_FLAGS += $$(addprefix -sd ,$$($(6)))
+endif
+ifneq ($$(strip $(7)),)
+EDC_$(1)_COMPILER_FLAGS += $$(addprefix -fd $$(PROJ_PATH)/,$$($(7)))
+endif
+ifneq ($$(strip $(8)),)
+EDC_$(1)_COMPILER_FLAGS += $$(addprefix -fd ,$$($(8)))
+endif
+
+$$(EDJ_FILES) : $$(OUTPUT_DIR)/%.edj : $$(PROJ_ROOT)/%.edc 
+       @echo '  Building file: $$<'
+       @echo '  Invoking: EDC Resource Compiler'
+       @$$(MKDIR) $$(MKDIR_OP) $$(subst $$(BSLASH),/,$$(@D))
+       $$(EDJE_CC) $$(EDC_$(1)_COMPILER_FLAGS) $$(CDEFS) "$$<" "$$@"
+       @echo '  Finished building: $$<'
+endif
+endef
+
+# Global EDCs
+ifneq ($(strip $(USER_EDCS)),)
+$(eval $(call EDJ_PROC,,USER_EDCS,USER_EDCS_IMAGE_DIRS,USER_EDCS_IMAGE_DIRS_ABS,USER_EDCS_SOUND_DIRS,USER_EDCS_SOUND_DIRS_ABS,USER_EDCS_FONT_DIRS,USER_EDCS_FONT_DIRS_ABS))
+endif
+
+# Individual EDCs
+ifneq ($(strip $(USER_EXT_EDC_KEYS)),)
+$(foreach var,$(USER_EXT_EDC_KEYS),$(eval $(call EDJ_PROC,$(var),USER_EXT_$(var)_EDCS,USER_EXT_$(var)_EDCS_IMAGE_DIRS,USER_EXT_$(var)_EDCS_IMAGE_DIRS_ABS,USER_EXT_$(var)_EDCS_SOUND_DIRS,USER_EXT_$(var)_EDCS_SOUND_DIRS_ABS,USER_EXT_$(var)_EDCS_FONT_DIRS,USER_EXT_$(var)_EDCS_FONT_DIRS_ABS)))
+endif
+
+
+ifneq ($(strip $(POS)),)
+define MO_RULE
+$(call FUNC_PO2MO,$(1)) : $(PROJ_ROOT)/$(1)
+       @echo '  Building file: $$<'
+       @echo '  Invoking: msgfmt String Formatter'
+       @$$(MKDIR) $$(MKDIR_OP) $$(subst $$(BSLASH),/,$$(@D))
+       $$(MSGFMT) -o $$@ $$<
+       @echo '  Finished building: $$<'
+endef
+
+$(foreach var,$(POS),$(eval $(call MO_RULE,$(var))))
+endif
+
+
+secondary-outputs : $(ALL_EDJ_FILES) $(MO_FILES)
+
+-include appendix.mk
+
+
+app_build : preproc $(APPFILE) secondary-outputs postproc
+
+app_clean :
+       rm -f "$(APPFILE)"
+       rm -rf "$(OUTPUT_DIR)"
+
+make_version :
+       @echo $(BUILD_SCRIPT_VERSION)
diff --git a/Build/prepost.mk b/Build/prepost.mk
new file mode 100644 (file)
index 0000000..a8a4d87
--- /dev/null
@@ -0,0 +1,7 @@
+# Add pre/post build process
+
+PREBUILD_COMMAND =
+PREBUILD_DESC =
+
+POSTBUILD_COMMAND =
+POSTBUILD_DESC =
diff --git a/Build/tooldef.mk b/Build/tooldef.mk
new file mode 100644 (file)
index 0000000..4244fb3
--- /dev/null
@@ -0,0 +1,61 @@
+# Add inputs and outputs from these tool invocations to the build variables
+
+ifeq ($(strip $(BUILD_CONFIG)),)
+BUILD_CONFIG = Debug
+endif
+
+ifeq ($(strip $(OUTPUT_DIR)),)
+OUTPUT_DIR := $(PROJPATH)/$(BUILD_CONFIG)
+endif
+
+
+ifneq ($(strip $(MKDIR_BIN)),)
+MKDIR = $(MKDIR_BIN)
+MKDIR_OP = -p
+else
+MKDIR = mkdir
+MKDIR_OP = -p
+endif
+
+ifneq ($(strip $(UNAME_BIN)),)
+UNAME = $(UNAME_BIN)
+else
+UNAME = uname
+endif
+
+ifneq ($(strip $(M4_BIN)),)
+M4 = $(M4_BIN)
+else
+M4 = m4
+endif
+
+ifneq ($(strip $(TR_BIN)),)
+TR = $(TR_BIN)
+else
+TR = tr
+endif
+
+ifneq ($(strip $(FIND_BIN)),)
+FIND = $(FIND_BIN)
+else
+FIND = find
+endif
+
+ifneq ($(strip $(GREP_BIN)),)
+GREP = $(GREP_BIN)
+else
+GREP = grep
+endif
+
+ifneq ($(strip $(EDJE_CC_BIN)),)
+EDJE_CC = $(EDJE_CC_BIN)
+else
+EDJE_CC = edje_cc
+endif
+
+ifneq ($(strip $(MSGFMT_BIN)),)
+MSGFMT = $(MSGFMT_BIN)
+else
+MSGFMT = msgfmt
+endif
+
diff --git a/CMakeLists.txt b/CMakeLists.txt
deleted file mode 100644 (file)
index 4909f53..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(task-mgr)
-# FIND ALL SOURCE IN A SOURCE DIRECTORY
-AUX_SOURCE_DIRECTORY(${CMAKE_SOURCE_DIR}/src SRCS)
-
-#INCLUDE FILE
-INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
-SET(PACKAGE "${PROJECT_NAME}")
-SET(RESOURCE_DIR "${CMAKE_SOURCE_DIR}/res")
-SET(EDJDIR "${RESOURCE_DIR}/edje/${PACKAGE}")
-SET(ICONDIR "/usr/share/icons/")
-
-INCLUDE(FindPkgConfig)
-pkg_check_modules(pkgs REQUIRED
-       appcore-efl
-       evas
-       edje
-       elementary
-       ecore
-       eina
-       capi-appfw-application
-       capi-system-info
-       capi-appfw-package-manager
-       capi-appfw-app-manager
-       dlog
-       pkgmgr-info
-       rua
-       feedback
-)
-
-SET(PREFIX ${CMAKE_INSTALL_PREFIX})
-SET(RESDIR "${PREFIX}/res")
-SET(EDJEDIR "${RESDIR}/edje")
-SET(LOCALEDIR "${RESDIR}/locale")
-
-FOREACH(flag ${pkgs_CFLAGS})
-       SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
-
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -fPIE")
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CFLAGS} -fPIE")
-
-SET(CMAKE_C_FLAGS_PROFILING    "-O0 -g -pg -fPIE")
-SET(CMAKE_CXX_FLAGS_PROFILING  "-O0 -std=c++0x -g -pg -fPIE")
-SET(CMAKE_C_FLAGS_DEBUG        "-O0 -g -fPIE")
-SET(CMAKE_CXX_FLAGS_DEBUG      "-O0 -std=c++0x -g -fPIE")
-SET(CMAKE_C_FLAGS_RELEASE      "-O2 -g -fPIE")
-SET(CMAKE_CXX_FLAGS_RELEASE    "-O2 -std=c++0x -g -fPIE")
-SET(CMAKE_C_FLAGS_CCOV         "-O2 -g --coverage -fPIE")
-SET(CMAKE_CXX_FLAGS_CCOV       "-O2 -std=c++0x -g --coverage -fPIE")
-
-SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
-
-MESSAGE(${CMAKE_C_FLAGS})
-
-ADD_DEFINITIONS("-DEDJEDIR=\"${EDJEDIR}\"")
-ADD_DEFINITIONS("-DLOCALEDIR=\"${LOCALEDIR}\"")
-
-ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
-
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS})
-
-# Install
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin)
-
-#Install images
-INSTALL(DIRECTORY res/images/ DESTINATION res/images)
-
-# install manifest file & icon
-#INSTALL(FILES ${CMAKE_BINARY_DIR}/org.tizen.task-mgr.xml DESTINATION /usr/share/packages)
-INSTALL(FILES data/org.tizen.task-mgr.xml DESTINATION /usr/share/packages)
-INSTALL(FILES data/org.tizen.task-mgr.efl DESTINATION /etc/smack/accesses.d)
-INSTALL(FILES ${RESOURCE_DIR}/icon/org.tizen.task-mgr.png DESTINATION ${ICONDIR})
-
-
-# End of a file
-ADD_SUBDIRECTORY(res)
diff --git a/LICENSE b/LICENSE
deleted file mode 100755 (executable)
index 54b213e..0000000
--- a/LICENSE
+++ /dev/null
@@ -1,204 +0,0 @@
-Copyright (c) 2000 - 2015 Samsung Electronics Co., Ltd. All rights reserved.
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   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://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,
-   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.
-
diff --git a/LICENSE.Flora b/LICENSE.Flora
new file mode 100644 (file)
index 0000000..571fe79
--- /dev/null
@@ -0,0 +1,206 @@
+Flora License
+
+Version 1.1, April, 2013
+
+http://floralicense.org/license/
+
+TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+1. Definitions.
+
+"License" shall mean the terms and conditions for use, reproduction,
+and distribution as defined by Sections 1 through 9 of this document.
+
+"Licensor" shall mean the copyright owner or entity authorized by
+the copyright owner that is granting the License.
+
+"Legal Entity" shall mean the union of the acting entity and
+all other entities that control, are controlled by, or are
+under common control with that entity. For the purposes of
+this definition, "control" means (i) the power, direct or indirect,
+to cause the direction or management of such entity,
+whether by contract or otherwise, or (ii) ownership of fifty percent (50%)
+or more of the outstanding shares, or (iii) beneficial ownership of
+such entity.
+
+"You" (or "Your") shall mean an individual or Legal Entity
+exercising permissions granted by this License.
+
+"Source" form shall mean the preferred form for making modifications,
+including but not limited to software source code, documentation source,
+and configuration files.
+
+"Object" form shall mean any form resulting from mechanical
+transformation or translation of a Source form, including but
+not limited to compiled object code, generated documentation,
+and conversions to other media types.
+
+"Work" shall mean the work of authorship, whether in Source or Object form,
+made available under the License, as indicated by a copyright notice
+that is included in or attached to the work (an example is provided
+in the Appendix below).
+
+"Derivative Works" shall mean any work, whether in Source or Object form,
+that is based on (or derived from) the Work and for which the editorial
+revisions, annotations, elaborations, or other modifications represent,
+as a whole, an original work of authorship. For the purposes of this License,
+Derivative Works shall not include works that remain separable from,
+or merely link (or bind by name) to the interfaces of, the Work and
+Derivative Works thereof.
+
+"Contribution" shall mean any work of authorship, including the original
+version of the Work and any modifications or additions to that Work or
+Derivative Works thereof, that is intentionally submitted to Licensor
+for inclusion in the Work by the copyright owner or by an individual or
+Legal Entity authorized to submit on behalf of the copyright owner.
+For the purposes of this definition, "submitted" means any form of
+electronic, verbal, or written communication sent to the Licensor or
+its representatives, including but not limited to communication on
+electronic mailing lists, source code control systems, and issue
+tracking systems that are managed by, or on behalf of, the Licensor
+for the purpose of discussing and improving the Work, but excluding
+communication that is conspicuously marked or otherwise designated
+in writing by the copyright owner as "Not a Contribution."
+
+"Contributor" shall mean Licensor and any individual or Legal Entity
+on behalf of whom a Contribution has been received by Licensor and
+subsequently incorporated within the Work.
+
+"Tizen Certified Platform" shall mean a software platform that complies
+with the standards set forth in the Tizen Compliance Specification
+and passes the Tizen Compliance Tests as defined from time to time
+by the Tizen Technical Steering Group and certified by the Tizen
+Association or its designated agent.
+
+2. Grant of Copyright License.  Subject to the terms and conditions of
+this License, each Contributor hereby grants to You a perpetual,
+worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+copyright license to reproduce, prepare Derivative Works of,
+publicly display, publicly perform, sublicense, and distribute the
+Work and such Derivative Works in Source or Object form.
+
+3. Grant of Patent License.  Subject to the terms and conditions of
+this License, each Contributor hereby grants to You a perpetual,
+worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+(except as stated in this section) patent license to make, have made,
+use, offer to sell, sell, import, and otherwise transfer the Work
+solely as incorporated into a Tizen Certified Platform, where such
+license applies only to those patent claims licensable by such
+Contributor that are necessarily infringed by their Contribution(s)
+alone or by combination of their Contribution(s) with the Work solely
+as incorporated into a Tizen Certified Platform to which such
+Contribution(s) was submitted. If You institute patent litigation
+against any entity (including a cross-claim or counterclaim
+in a lawsuit) alleging that the Work or a Contribution incorporated
+within the Work constitutes direct or contributory patent infringement,
+then any patent licenses granted to You under this License for that
+Work shall terminate as of the date such litigation is filed.
+
+4. Redistribution.  You may reproduce and distribute copies of the
+Work or Derivative Works thereof pursuant to the copyright license
+above, in any medium, with or without modifications, and in Source or
+Object form, provided that You meet the following conditions:
+
+  1. You must give any other recipients of the Work or Derivative Works
+     a copy of this License; and
+  2. You must cause any modified files to carry prominent notices stating
+     that You changed the files; and
+  3. You must retain, in the Source form of any Derivative Works that
+     You distribute, all copyright, patent, trademark, and attribution
+     notices from the Source form of the Work, excluding those notices
+     that do not pertain to any part of the Derivative Works; and
+  4. If the Work includes a "NOTICE" text file as part of its distribution,
+     then any Derivative Works that You distribute must include a readable
+     copy of the attribution notices contained within such NOTICE file,
+     excluding those notices that do not pertain to any part of
+     the Derivative Works, in at least one of the following places:
+     within a NOTICE text file distributed as part of the Derivative Works;
+     within the Source form or documentation, if provided along with the
+     Derivative Works; or, within a display generated by the Derivative Works,
+     if and wherever such third-party notices normally appear.
+     The contents of the NOTICE file are for informational purposes only
+     and do not modify the License. You may add Your own attribution notices 
+     within Derivative Works that You distribute, alongside or as an addendum 
+     to the NOTICE text from the Work, provided that such additional attribution 
+     notices cannot be construed as modifying the License. You may add Your own
+     copyright statement to Your modifications and may provide additional or
+     different license terms and conditions for use, reproduction, or
+     distribution of Your modifications, or for any such Derivative Works
+     as a whole, provided Your use, reproduction, and distribution of
+     the Work otherwise complies with the conditions stated in this License
+     and your own copyright statement or terms and conditions do not conflict
+     the conditions stated in the License including section 3.
+
+5. Submission of Contributions. Unless You explicitly state otherwise,
+any Contribution intentionally submitted for inclusion in the Work
+by You to the Licensor shall be under the terms and conditions of
+this License, without any additional terms or conditions.
+Notwithstanding the above, nothing herein shall supersede or modify
+the terms of any separate license agreement you may have executed
+with Licensor regarding such Contributions.
+
+6. Trademarks.  This License does not grant permission to use the trade
+names, trademarks, service marks, or product names of the Licensor,
+except as required for reasonable and customary use in describing the
+origin of the Work and reproducing the content of the NOTICE file.
+
+7. Disclaimer of Warranty. Unless required by applicable law or
+agreed to in writing, Licensor provides the Work (and each
+Contributor provides its Contributions) on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+implied, including, without limitation, any warranties or conditions
+of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+PARTICULAR PURPOSE. You are solely responsible for determining the
+appropriateness of using or redistributing the Work and assume any
+risks associated with Your exercise of permissions under this License.
+
+8. Limitation of Liability. In no event and under no legal theory,
+whether in tort (including negligence), contract, or otherwise,
+unless required by applicable law (such as deliberate and grossly
+negligent acts) or agreed to in writing, shall any Contributor be
+liable to You for damages, including any direct, indirect, special,
+incidental, or consequential damages of any character arising as a
+result of this License or out of the use or inability to use the
+Work (including but not limited to damages for loss of goodwill,
+work stoppage, computer failure or malfunction, or any and all
+other commercial damages or losses), even if such Contributor
+has been advised of the possibility of such damages.
+
+9. Accepting Warranty or Additional Liability. While redistributing
+the Work or Derivative Works thereof, You may choose to offer,
+and charge a fee for, acceptance of support, warranty, indemnity,
+or other liability obligations and/or rights consistent with this
+License. However, in accepting such obligations, You may act only
+on Your own behalf and on Your sole responsibility, not on behalf
+of any other Contributor, and only if You agree to indemnify,
+defend, and hold each Contributor harmless for any liability
+incurred by, or claims asserted against, such Contributor by reason
+of your accepting any such warranty or additional liability.
+
+END OF TERMS AND CONDITIONS
+
+APPENDIX: How to apply the Flora License to your work
+
+To apply the Flora License to your work, attach the following
+boilerplate notice, with the fields enclosed by brackets "[]"
+replaced with your own identifying information. (Don't include
+the brackets!) The text should be enclosed in the appropriate
+comment syntax for the file format. We also recommend that a
+file or class name and description of purpose be included on the
+same "printed page" as the copyright notice for easier
+identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Flora License, Version 1.1 (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/
+
+   Unless required by applicable law or agreed to in writing, software
+   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.
+
diff --git a/WORKSPACE b/WORKSPACE
new file mode 100644 (file)
index 0000000..80e52ce
--- /dev/null
+++ b/WORKSPACE
@@ -0,0 +1 @@
+./
diff --git a/build_def.prop b/build_def.prop
new file mode 100644 (file)
index 0000000..6bb5e2f
--- /dev/null
@@ -0,0 +1,6 @@
+
+# Add pre/post build process
+PREBUILD_DESC = 
+PREBUILD_COMMAND = 
+POSTBUILD_DESC = 
+POSTBUILD_COMMAND = 
diff --git a/data/org.tizen.task-mgr.efl b/data/org.tizen.task-mgr.efl
deleted file mode 100644 (file)
index 26ed423..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-org.tizen.task-mgr system::homedir rwxat- ------
-org.tizen.task-mgr system::media rwxat- ------
-org.tizen.task-mgr system::share rwxat- ------
-org.tizen.task-mgr system::use_internet r----- ------
-org.tizen.task-mgr system::ext_storage rwxat- ------
-org.tizen.task-mgr secure-storage-client rw---- ------
-org.tizen.task-mgr pulseaudio rwxat- ------
-org.tizen.task-mgr system r-x--- ------
-org.tizen.task-mgr xorg rw---- ------
-org.tizen.task-mgr device::bklight rw---- ------
-org.tizen.task-mgr org.tizen.indicator rwx--- ------
-org.tizen.task-mgr org.tizen.quickpanel rwx--- ------
-org.tizen.task-mgr crash-popup r-x--- ------
-org.tizen.task-mgr system-server rwx--- ------
-org.tizen.task-mgr immvibed rw---- ------
-org.tizen.task-mgr display_wd r-x--- ------
-org.tizen.task-mgr sound_server rwxa-- ------
-org.tizen.task-mgr dbus rwx--- ------
-org.tizen.task-mgr e17 rw---- ------
-org.tizen.task-mgr aul rwx--- ------
-org.tizen.task-mgr aul::launch rwx--- ------
-org.tizen.task-mgr aul::terminate --x--- ------
-org.tizen.task-mgr app-svc rwx--- ------
-org.tizen.task-mgr aul_amd rwx--- ------
-org.tizen.task-mgr pkgmgr::db rwx--- ------
-org.tizen.task-mgr trm -w---- ------
-org.tizen.task-mgr svi-data r-x--- ------
-org.tizen.task-mgr org.tizen.oma-dm r-x--- ------
-org.tizen.task-mgr sys-assert::core rwxat- ------
-org.tizen.task-mgr isf rwx--- ------
-org.tizen.task-mgr media-server r-x--- ------
-org.tizen.task-mgr deviced rwx--- ------
-org.tizen.task-mgr notification::db rw---- ------
-org.tizen.task-mgr data-provider-master rw---- ------
-org.tizen.task-mgr data-provider-master::notification rw---- ------
-org.tizen.task-mgr data-provider-master::notification.client rw---- ------
-org.tizen.task-mgr org.tizen.setting::default-resources r-x--- ------
-org.tizen.task-mgr device::app_logging -w---- ------
-org.tizen.task-mgr device::sys_logging -w---- ------
-org.tizen.task-mgr oma-ds-agent::cfg r----- ------
-org.tizen.task-mgr oma-ds-agent::svc rw---- ------
-org.tizen.task-mgr rua::db rwx--- ------
-org.tizen.indicator org.tizen.task-mgr rwx--- ------
-e17 org.tizen.task-mgr rw---- ------
-system org.tizen.task-mgr -w---- ------
-display_wd org.tizen.task-mgr -w---- ------
-dbus org.tizen.task-mgr rwx--- ------
index 311b118..967946f 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<manifest xmlns="http://tizen.org/ns/packages" api-version="2.4" package="org.tizen.task-mgr" version="1.0.0">
-    <profile name="mobile"/>
+<manifest xmlns="http://tizen.org/ns/packages" api-version="3.0" package="org.tizen.task-mgr" version="1.0.0">
+    <profile name="wearable"/>
     <ui-application appid="org.tizen.task-mgr" exec="task-mgr" multiple="false" nodisplay="false" taskmanage="true" type="capp">
         <label>Recents</label>
         <icon>org.tizen.task-mgr.png</icon>
similarity index 72%
rename from include/conf.h
rename to inc/conf.h
index f876075..736ab7e 100644 (file)
@@ -1,20 +1,18 @@
 /*
- *  Task Manager
+ * Samsung API
+ * Copyright (c) 2013 Samsung Electronics Co., Ltd.
  *
- * Copyright (c) 2000 - 2015 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed under the Flora License, Version 1.1 (the License);
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://floralicense.org/license/
  *
  * 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 __TASK_MGR_CONF_H__
@@ -43,9 +41,8 @@
 #define BG_COLOR (255*0.5)
 
 //edc
-#define LAYOUT EDJEDIR"/layout.edj"
-#define BOX_LAYOUT EDJEDIR"/box.edj"
-#define ITEM_LAYOUT EDJEDIR"/item.edj"
+#define LAYOUT "edje/layout.edj"
+#define ITEM_LAYOUT "edje/item.edj"
 
 #define BOX_GROUP_NAME "box"
 #define BG_PART_NAME "bg"
diff --git a/inc/item.h b/inc/item.h
new file mode 100644 (file)
index 0000000..f5020ed
--- /dev/null
@@ -0,0 +1,30 @@
+/*
+ * Samsung API
+ * Copyright (c) 2013 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Flora License, Version 1.1 (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/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * 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 __TASK_MGR_ITEM_H__
+#define __TASK_MGR_ITEM_H__
+
+#include "list.h"
+#include "util.h"
+
+Evas_Object *item_create(void *data, list_type_default_s *info);
+void item_destroy(Evas_Object *item);
+void item_terminate(Evas_Object *item);
+void taskmanager_remove_all_task_info(void *data);
+list_type_default_s *item_get_info(Evas_Object *item);
+
+#endif //__TASK_MGR_ITEM_H__
similarity index 59%
rename from include/list.h
rename to inc/list.h
index 2d5361e..4f32808 100644 (file)
@@ -1,20 +1,18 @@
 /*
- *  Task Manager
+ * Samsung API
+ * Copyright (c) 2013 Samsung Electronics Co., Ltd.
  *
- * Copyright (c) 2000 - 2015 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed under the Flora License, Version 1.1 (the License);
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://floralicense.org/license/
  *
  * 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 __TASK_MGR_LIST_H__
@@ -36,16 +34,13 @@ typedef struct {
        Eina_Bool unmounted;
        Eina_Bool multi_launch;
        Eina_Bool isAlreadySet;
-
        time_t launch_time;
 
 } list_type_default_s;
 
-
-
-extern task_mgr_error_e list_create(Eina_List **pkg_list);
-extern void list_destroy(Eina_List *pkg_list);
-
-extern task_mgr_error_e list_sort(Eina_List *pkg_list, int (*_sort_cb)(const void *d1, const void *d2));
+task_mgr_error_e list_create();
+void list_destroy(Eina_List *pkg_list);
+Eina_List *list_pkg_list_get(void);
+void _pkglist_unretrieve_item(list_type_default_s *default_info);
 
 #endif //__TASK_MGR_LIST_H__
similarity index 54%
rename from include/log.h
rename to inc/log.h
index 3831fad..2606768 100755 (executable)
+++ b/inc/log.h
@@ -1,20 +1,18 @@
 /*
- *  Task Manager
+ * Samsung API
+ * Copyright (c) 2013 Samsung Electronics Co., Ltd.
  *
- * Copyright (c) 2000 - 2015 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed under the Flora License, Version 1.1 (the License);
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://floralicense.org/license/
  *
  * 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 __TASK_MGR_LOG_H__
 #include <unistd.h>
 #include <dlog.h>
 
+#define FONT_COLOR_RESET    "\033[0m"
+#define FONT_COLOR_RED      "\033[31m"
+#define FONT_COLOR_GREEN    "\033[32m"
+#define FONT_COLOR_YELLOW   "\033[33m"
+#define FONT_COLOR_BLUE     "\033[34m"
+#define FONT_COLOR_PURPLE   "\033[35m"
+#define FONT_COLOR_CYAN     "\033[36m"
+#define FONT_COLOR_GRAY     "\033[37m"
+
+#define WCOLOR_RED "\033[0;31m"
+#define WCOLOR_GREEN "\033[0;32m"
+#define WCOLOR_BROWN "\033[0;33m"
+#define WCOLOR_BLUE "\033[0;34m"
+#define WCOLOR_PURPLE "\033[0;35m"
+#define WCOLOR_CYAN "\033[0;36m"
+#define WCOLOR_LIGHTBLUE "\033[0;37m"
+#define WCOLOR_END             "\033[0;m"
+#define MODULE_INFO (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__)
+
 #undef LOG_TAG
 #define LOG_TAG "TASK_MGR"
 
 #if !defined(_D)
-#define _D(fmt, arg...) LOGD(fmt"\n", ##arg)
+#define _D(fmt, arg...) dlog_print(DLOG_DEBUG, \
+        LOG_TAG, "%s: %s(%d) > " WCOLOR_GREEN fmt WCOLOR_END, MODULE_INFO, \
+        __func__, __LINE__, ##arg)
 #endif
 
 #if !defined(_W)
-#define _W(fmt, arg...) LOGW(fmt"\n", ##arg)
+#define _W(fmt, arg...) (dlog_print(DLOG_WARN, \
+        LOG_TAG, "%s: %s(%d) > " WCOLOR_GREEN fmt WCOLOR_END, MODULE_INFO, \
+        __func__, __LINE__, ##arg))
 #endif
 
 #if !defined(_E)
-#define _E(fmt, arg...) LOGE(fmt"\n", ##arg)
+#define _E(fmt, arg...) (dlog_print(DLOG_ERROR, \
+        LOG_TAG, "%s: %s(%d) > " WCOLOR_RED fmt WCOLOR_END, MODULE_INFO, \
+        __func__, __LINE__, ##arg))
 #endif
 
 #if !defined(_SD)
-#define _SD(fmt, arg...) SECURE_LOGD(fmt"\n", ##arg)
+#define _SD(fmt, arg...) _D(fmt, arg...)
 #endif
 
 #if !defined(_SW)
-#define _SW(fmt, arg...) SECURE_LOGW(fmt"\n", ##arg)
+#define _SW(fmt, arg...) _W(fmt, arg...)
 #endif
 
 #if !defined(_SE)
-#define _SE(fmt, arg...) SECURE_LOGE(fmt"\n", ##arg)
+#define _SE(fmt, arg...) _E(fmt, arg...)
 #endif
 
 #define retvm_if_timer(timer, expr, val, fmt, arg...) do { \
diff --git a/inc/main.h b/inc/main.h
new file mode 100644 (file)
index 0000000..24f3eea
--- /dev/null
@@ -0,0 +1,62 @@
+/*
+ * Samsung API
+ * Copyright (c) 2013 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Flora License, Version 1.1 (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/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * 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 __TASK_MGR_H__
+#define __TASK_MGR_H__
+
+#include <efl_extension.h>
+enum {
+       POS_DOWN = 0,
+       POS_MOVE,
+       POS_UP,
+       POS_MAX
+};
+
+typedef struct {
+       Evas            *e;
+       Evas_Object *win;
+       Evas_Object *bg;
+       Evas_Object *layout;
+       Evas_Object *scroller;
+       Evas_Object *box;
+       Eina_Bool is_scrolled;
+       Eina_List *pkg_list;
+       Eina_Bool is_widget_swipe;              // widget moved :=> block scroll
+       Eina_Bool is_widget_history;            // widget moved :=> block scroll
+       int     deleteX, deleteY;
+       Eina_Bool is_launched;
+       Eina_Bool is_ignoring_svoice;
+       Evas_Object *moving_widget;
+       Evas_Object *deleting_widget;
+       Evas_Coord posx[POS_MAX];
+       Evas_Coord posy[POS_MAX];
+       struct timeval postime[POS_MAX];
+
+       Ecore_Animator *reverse_animator;
+       Ecore_Animator *delete_animator;
+       Eext_Circle_Surface *circle_surface;
+       Evas_Object *index;
+       Eina_Bool icon_move;
+       int root_w;
+       int root_h;
+       int cur_page;
+} main_s;
+typedef main_s *main_h;
+
+main_h main_get_info(void);
+
+#endif //__TASK_MGR_H__
diff --git a/inc/scroller.h b/inc/scroller.h
new file mode 100644 (file)
index 0000000..5cc8e1b
--- /dev/null
@@ -0,0 +1,42 @@
+/*
+ * Samsung API
+ * Copyright (c) 2013 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Flora License, Version 1.1 (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/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * 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 __TASK_MGR_SCROLLER_H__
+#define __TASK_MGR_SCROLLER_H__
+
+#include "util.h"
+
+task_mgr_error_e scroller_push_all_item(void *data);
+Evas_Object *scroller_create(void *data);
+void scroller_destroy(Evas_Object *scroller);
+void _index_sync(void *data);
+void index_refresh(void *data);
+Eina_Bool __check_velocity(void *data);
+int taskmanager_get_count(void *data);
+int end_taskmanager(void *data, Eina_Bool is_direct);
+void __set_reverse_animation(void *data, Evas_Object *obj);
+void unset_freeze_scroller(void *data);
+void __set_remove_animation(void *data, Evas_Object *obj);
+void close_button_disabled_set( Eina_Bool is_disabled );
+Eina_Bool _deleting_animator_cb(void *data, double pos);
+void __set_layout_color(Evas_Object *obj, int color);
+void set_freeze_scroller();
+
+#define FACTOR_A -1.59375
+#define FACTOR_B 255
+
+#endif //__TASK_MGR_SCROLLER_H__
diff --git a/inc/util.h b/inc/util.h
new file mode 100644 (file)
index 0000000..a252319
--- /dev/null
@@ -0,0 +1,94 @@
+/*
+ * Samsung API
+ * Copyright (c) 2013 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Flora License, Version 1.1 (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/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * 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 __TASK_MGR_UTIL_H__
+ #define __TASK_MGR_UTIL_H__
+
+
+
+/* data key */
+#define DATA_KEY_ITEM_INFO "it_if"
+#define PATH_MAX        4096   /* # chars in a path name including nul */
+/* Multi-language */
+#if !defined(_)
+#define _(str) gettext(str)
+#endif
+
+#define STYLE_EVEN_MAX 20
+#define STYLE_ODD_MAX 19
+
+static char *style_even[STYLE_EVEN_MAX] = {
+       "item/even_1",
+       "item/even_2",
+       "item/even_3",
+       "item/even_4",
+       "item/even_5",
+       "item/even_6",
+       "item/even_7",
+       "item/even_8",
+       "item/even_9",
+       "item/even_10",
+       "item/even_11",
+       "item/even_12",
+       "item/even_13",
+       "item/even_14",
+       "item/even_15",
+       "item/even_16",
+       "item/even_17",
+       "item/even_18",
+       "item/even_19",
+       "item/even_20",
+};
+
+static char *style_odd[STYLE_ODD_MAX] = {
+       "item/odd_1",
+       "item/odd_2",
+       "item/odd_3",
+       "item/odd_4",
+       "item/odd_5",
+       "item/odd_6",
+       "item/odd_7",
+       "item/odd_8",
+       "item/odd_9",
+       "item/odd_10",
+       "item/odd_11",
+       "item/odd_12",
+       "item/odd_13",
+       "item/odd_14",
+       "item/odd_15",
+       "item/odd_16",
+       "item/odd_17",
+       "item/odd_18",
+       "item/odd_19",
+};
+
+/* Enum */
+typedef enum {
+       TASK_MGR_ERROR_NONE = 0,
+       TASK_MGR_ERROR_FAIL = -1,
+       TASK_MGR_ERROR_DB_FAILED = -2,
+       TASK_MGR_ERROR_OUT_OF_MEMORY = -3,
+       TASK_MGR_ERROR_INVALID_PARAMETER = -4,
+       TASK_MGR_ERROR_NO_DATA = -5,
+} task_mgr_error_e;
+
+Eina_Bool util_kill_app(const char *appid);
+Eina_Bool util_launch_app(const char *appid);
+int getEdjepath(const char *file_in, char *file_path_out, int file_path_max);
+
+
+#endif //__TASK_MGR_UTIL_H__
diff --git a/include/item.h b/include/item.h
deleted file mode 100644 (file)
index 3d1e7a8..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- *  Task Manager
- *
- * Copyright (c) 2000 - 2015 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * 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://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,
- * 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 __TASK_MGR_ITEM_H__
-#define __TASK_MGR_ITEM_H__
-
-#include "list.h"
-#include "util.h"
-
-
-
-extern list_type_default_s *item_get_info(Evas_Object *item);
-
-extern void item_clear_set_disable(Evas_Object *scroller);
-extern Evas_Object *item_clear_all_create(Evas_Object *scroller);
-extern void item_clear_all_destroy(Evas_Object *scroller);
-
-extern Evas_Object *item_create(Evas_Object *scroller, list_type_default_s *info);
-extern void item_destroy(Evas_Object *item);
-extern void item_terminate(Evas_Object *item);
-
-
-
-#endif //__TASK_MGR_ITEM_H__
diff --git a/include/main.h b/include/main.h
deleted file mode 100644 (file)
index 62c9bdd..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- *  Task Manager
- *
- * Copyright (c) 2000 - 2015 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * 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://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,
- * 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 __TASK_MGR_H__
-#define __TASK_MGR_H__
-
-typedef struct {
-       Evas            *e;
-       Evas_Object *win;
-       Evas_Object *bg;
-       Evas_Object *layout;
-       Evas_Object *scroller;
-       Evas_Object *box;
-
-       Eina_List *pkg_list;
-
-       int root_w;
-       int root_h;
-} main_s;
-typedef main_s *main_h;
-
-
-extern main_h main_get_info(void);
-
-#endif //__TASK_MGR_H__
diff --git a/include/scroller.h b/include/scroller.h
deleted file mode 100644 (file)
index bf67ac9..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- *  Task Manager
- *
- * Copyright (c) 2000 - 2015 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * 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://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,
- * 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 __TASK_MGR_SCROLLER_H__
-#define __TASK_MGR_SCROLLER_H__
-
-#include "util.h"
-
-
-
-extern task_mgr_error_e scroller_push_item(Evas_Object *scroller, Evas_Object *item);
-extern void scroller_pop_item(Evas_Object *scroller, Evas_Object *item, int terminate);
-
-extern task_mgr_error_e scroller_push_all_item(Evas_Object *scroller, Eina_List *list);
-extern void scroller_pop_all_item(Evas_Object *scroller, int terminate);
-
-extern int scroller_count(Evas_Object *scroller);
-extern Eina_Bool scroller_is_scrolling(Evas_Object *scroller);
-
-extern void scroller_freeze(Evas_Object *scroller);
-extern void scroller_unfreeze(Evas_Object *scroller);
-
-extern Evas_Object *scroller_create(Evas_Object *layout);
-extern void scroller_destroy(Evas_Object *scroller);
-
-
-
-#endif //__TASK_MGR_SCROLLER_H__
diff --git a/include/util.h b/include/util.h
deleted file mode 100644 (file)
index af2c727..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- *  Task Manager
- *
- * Copyright (c) 2000 - 2015 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * 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://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,
- * 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 __TASK_MGR_UTIL_H__
- #define __TASK_MGR_UTIL_H__
-
-
-
-/* data key */
-#define DATA_KEY_RUNNING_LIST "rn_list"
-#define DATA_KEY_IS_SCROLLING "is_scing"
-#define DATA_KEY_ITEM_INFO "it_if"
-
-/* Multi-language */
-#if !defined(_)
-#define _(str) gettext(str)
-#endif
-
-
-
-/* Enum */
-typedef enum {
-       TASK_MGR_ERROR_NONE = 0,
-       TASK_MGR_ERROR_FAIL = -1,
-       TASK_MGR_ERROR_DB_FAILED = -2,
-       TASK_MGR_ERROR_OUT_OF_MEMORY = -3,
-       TASK_MGR_ERROR_INVALID_PARAMETER = -4,
-       TASK_MGR_ERROR_NO_DATA = -5,
-} task_mgr_error_e;
-
-extern Eina_Bool util_kill_app(const char *appid);
-extern Eina_Bool util_launch_app(const char *appid);
-
-
-
-#endif //__TASK_MGR_UTIL_H__
diff --git a/org.tizen.task-mgr.manifest b/org.tizen.task-mgr.manifest
deleted file mode 100644 (file)
index 9a6888c..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<manifest>
-       <define>
-               <domain name="org.tizen.task-mgr" />
-       </define>
-       <request>
-               <domain name="org.tizen.task-mgr" />
-       </request>
-       <assign>
-               <filesystem path="/usr/apps/org.tizen.task-mgr/bin/task-mgr" label="org.tizen.task-mgr" exec_label="org.tizen.task-mgr" />
-       </assign>
-</manifest>
index 950f0c5..80300c7 100644 (file)
@@ -26,7 +26,9 @@ BuildRequires:  edje-tools
 BuildRequires:  gettext-tools
 BuildRequires:  pkgconfig(dlog)
 BuildRequires:  pkgconfig(elementary)
+BuildRequires: pkgconfig(efl-extension)
 BuildRequires:  pkgconfig(capi-system-info)
+BuildRequires:  pkgconfig(capi-system-system-settings)
 BuildRequires:  pkgconfig(capi-appfw-package-manager)
 BuildRequires:  pkgconfig(capi-appfw-app-manager)
 BuildRequires:  cmake
@@ -63,7 +65,4 @@ rm -rf %{buildroot}
 %{AppInstallPath}/bin/task-mgr
 %{AppInstallPath}/res/*
 %{_datarootdir}/packages/%{name}.xml
-/etc/smack/accesses.d/%{name}.efl
-%{AppInstallPath}/res/locale/*/LC_MESSAGES/*
-/usr/share/packages/org.tizen.task-mgr.xml
 /usr/share/icons/org.tizen.task-mgr.png
diff --git a/project_def.prop b/project_def.prop
new file mode 100644 (file)
index 0000000..75e6a34
--- /dev/null
@@ -0,0 +1,74 @@
+
+# Project Name
+APPNAME = task-mgr
+
+# Project Type
+type = app
+
+# Project Profile
+profile = wearable-3.0
+
+# C Sources
+USER_SRCS = src/main.c src/item.c src/list.c src/scroller.c src/util.c
+USER_SRCS_ABS = 
+
+# EDC Sources
+USER_EDCS =  
+
+# PO Sources
+USER_POS = 
+
+# User Defines
+USER_DEFS = 
+USER_CPP_DEFS = 
+
+# User Undefines
+USER_UNDEFS = 
+USER_CPP_UNDEFS = 
+
+# User Libraries
+USER_LIBS = 
+
+# User Objects
+USER_OBJS = 
+USER_OBJS_ABS = 
+
+# User Includes
+## C Compiler
+USER_INC_DIRS = inc 
+USER_INC_DIRS_ABS = 
+USER_INC_FILES = 
+USER_INC_FILES_ABS = 
+## C++ Compiler
+USER_CPP_INC_DIRS = 
+USER_CPP_INC_DIRS_ABS = 
+USER_CPP_INC_FILES = 
+USER_CPP_INC_FILES_ABS = 
+
+# User Library Path
+USER_LIB_DIRS = lib 
+USER_LIB_DIRS_ABS = 
+
+# EDC Resource Path
+USER_EDCS_IMAGE_DIRS = edje/images 
+USER_EDCS_IMAGE_DIRS_ABS = 
+USER_EDCS_SOUND_DIRS = edje/sounds 
+USER_EDCS_SOUND_DIRS_ABS = 
+USER_EDCS_FONT_DIRS = edje/fonts 
+USER_EDCS_FONT_DIRS_ABS = 
+
+# EDC Flags
+USER_EXT_EDC_KEYS = EDC0 
+
+USER_EXT_EDC0_EDCS = res/edje/item.edc res/edje/layout.edc
+USER_EXT_EDC0_EDCS_IMAGE_DIRS = res/edje/images 
+USER_EXT_EDC0_EDCS_IMAGE_DIRS_ABS = 
+USER_EXT_EDC0_EDCS_SOUND_DIRS = edje/sounds 
+USER_EXT_EDC0_EDCS_SOUND_DIRS_ABS = 
+USER_EXT_EDC0_EDCS_FONT_DIRS = edje/fonts 
+USER_EXT_EDC0_EDCS_FONT_DIRS_ABS = 
+
+# Resource Filter
+USER_RES_INCLUDE = 
+USER_RES_EXCLUDE = 
+
diff --git a/res/CMakeLists.txt b/res/CMakeLists.txt
deleted file mode 100644 (file)
index 5cc2056..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-ADD_SUBDIRECTORY(edje)
-#ADD_SUBDIRECTORY(images)
-ADD_SUBDIRECTORY(po)
diff --git a/res/edje/conf.h b/res/edje/conf.h
deleted file mode 120000 (symlink)
index de97229..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../../include/conf.h
\ No newline at end of file
diff --git a/res/edje/images/b_recent_widget_del_bg.png b/res/edje/images/b_recent_widget_del_bg.png
new file mode 100755 (executable)
index 0000000..27e25bc
Binary files /dev/null and b/res/edje/images/b_recent_widget_del_bg.png differ
diff --git a/res/edje/images/b_recent_widget_del_icon.png b/res/edje/images/b_recent_widget_del_icon.png
new file mode 100755 (executable)
index 0000000..0b1f72f
Binary files /dev/null and b/res/edje/images/b_recent_widget_del_icon.png differ
diff --git a/res/edje/images/b_recent_widget_del_shadow.png b/res/edje/images/b_recent_widget_del_shadow.png
new file mode 100755 (executable)
index 0000000..925e782
Binary files /dev/null and b/res/edje/images/b_recent_widget_del_shadow.png differ
diff --git a/res/edje/images/fake_image.png b/res/edje/images/fake_image.png
new file mode 100755 (executable)
index 0000000..1d16145
Binary files /dev/null and b/res/edje/images/fake_image.png differ
diff --git a/res/edje/images/recent_btn_close_bg.png b/res/edje/images/recent_btn_close_bg.png
new file mode 100755 (executable)
index 0000000..356aa43
Binary files /dev/null and b/res/edje/images/recent_btn_close_bg.png differ
diff --git a/res/edje/images/recent_btn_close_icon.png b/res/edje/images/recent_btn_close_icon.png
new file mode 100755 (executable)
index 0000000..1d36546
Binary files /dev/null and b/res/edje/images/recent_btn_close_icon.png differ
diff --git a/res/edje/images/recent_circle_bg_mask.png b/res/edje/images/recent_circle_bg_mask.png
new file mode 100755 (executable)
index 0000000..1d16145
Binary files /dev/null and b/res/edje/images/recent_circle_bg_mask.png differ
diff --git a/res/edje/images/recent_no_recent_icon.png b/res/edje/images/recent_no_recent_icon.png
new file mode 100755 (executable)
index 0000000..556a792
Binary files /dev/null and b/res/edje/images/recent_no_recent_icon.png differ
diff --git a/res/edje/images/tw_bottom_btn_bg.png b/res/edje/images/tw_bottom_btn_bg.png
new file mode 100644 (file)
index 0000000..d924082
Binary files /dev/null and b/res/edje/images/tw_bottom_btn_bg.png differ
diff --git a/res/edje/images/tw_no_item_bg.png b/res/edje/images/tw_no_item_bg.png
new file mode 100755 (executable)
index 0000000..2e06046
Binary files /dev/null and b/res/edje/images/tw_no_item_bg.png differ
diff --git a/res/edje/images/widget_circle_bg_ef1.png b/res/edje/images/widget_circle_bg_ef1.png
new file mode 100755 (executable)
index 0000000..44f3a1a
Binary files /dev/null and b/res/edje/images/widget_circle_bg_ef1.png differ
diff --git a/res/edje/images/widget_circle_bg_ef2.png b/res/edje/images/widget_circle_bg_ef2.png
new file mode 100755 (executable)
index 0000000..de5ec3f
Binary files /dev/null and b/res/edje/images/widget_circle_bg_ef2.png differ
index a8bfe85..c9373b5 100644 (file)
 /*
- *  Task Manager
+ * Task Manager
+ * Copyright (c) 2013 Samsung Electronics Co., Ltd.
  *
- * Copyright (c) 2000 - 2015 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed under the Flora License, Version 1.1 (the License);
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://floralicense.org/license/
  *
  * 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.
- *
  */
 
- #include "conf.h"
-
+collections {
+#define WIN_W 360
+#define WIN_H 360
 
+//#define WIDGET_WIDTH 360
+//#define WIDGET_HEIGHT 360
 
-styles {
-       style {
-               name: "item_style";
-               base: "font=Tizen:style=Bold font_size=32 color=#ffffff align=left style=shadow shadow_color=#000000bf wrap=mixed";
-               tag:  "br" "\n";
-               tag:  "hilight" "+ font_weight=Bold";
-               tag:  "b" "+ font_weight=Bold";
-               tag:  "tab" "\t";
+//#define DEFAULT_FONT "Tizen"
+//#define DEFULAT_FONT_CLASS "tizen"
+base_scale : 1.3;
+color_classes{
+               color_class{
+           name: "AO0121L1";
+           color: 255 255 255 0;
+          }
+               color_class{
+           name: "AO0121L2";
+           color: 0 0 0 102;
+          }
+               color_class{
+           name: "AO0121L3";
+           color: 0 0 0 0;
+          }
+          color_class{
+           name: "AO014L1";
+           color: 255 255 255 255;
+          }
+               color_class{
+           name: "AO014L1P";
+           color: 255 255 255 127.5;
+          }
+               color_class{
+           name: "AO014L2";
+           color: 183.6 45.9 45.9 255;
+          }
+           color_class{
+           name: "AO014L2P";
+           color: 183.6 45.9 45.9 127.5;
+          }
+               color_class{
+           name: "AO014L3";
+           color: 0 0 0 89.25;
+          }
+          color_class{
+          name: "AT0111";
+          color: 255 255 255 255;
+          }
+          color_class{
+          name: "AO0111";
+          color: 38.25 38.25 38.25 255;
+          }
        }
-}
-
-images {
-       image: "clear_all_button_icon.png" COMP;
-       image: "clear_all_button_icon_disable.png" COMP;
-}
 
-externals {
-       external: "feedback";
-}
+       group {
+               name : "recent";
 
-collections {
-       base_scale: 2.6;
-       plugins {
-               plugin {
-                       name: "touch_sound";
-                       source: "feedback";
-                       param: "FEEDBACK_TYPE_SOUND FEEDBACK_PATTERN_TAP";
+               images {
+                       image : "recent_circle_stroke.png" COMP;
+                       image : "recent_circle_bg_mask.png" COMP;
+                       image : "widget_circle_bg_ef1.png" COMP;
+                       image : "widget_circle_bg_ef2.png" COMP;
+                       image : "b_recent_widget_del_bg.png" COMP;
+                       image : "b_recent_widget_del_icon.png" COMP;
+                       image : "b_recent_widget_del_shadow.png" COMP;
                }
-       }
-       group {
-               name: "item";
+
                parts {
                        part {
-                               name: "bg";
-                               type: RECT;
-                               scale: 1;
+                               name : "color_clipper";
+                               type : RECT;
                                description {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.0 0.0; }
-                                       rel2 { relative: 1.0 1.0; }
-                                       color: 255 255 255 0;
-                                       min: ITEM_WIDTH ITEM_HEIGHT;
-                                       visible: 1;
+                                       state : "default" 0.0;
+                                       color : 255 255 255 255;
                                }
-                       }
-                       part{
-                               name: "line";
-                               type: RECT;
-                               scale: 1;
                                description {
-                                       state: "default" 0.0;
-                                       color: 255 255 255 255;
-                                       rel1 { relative: 0.5 0.0; to: "bg"; }
-                                       rel2 { relative: 0.5 1.0; to: "bg"; }
-                                       min: ITEM_LINE_WIDTH 0;
-                                       fixed: 1 0;
-                                       visible: 1;
-                                       align: 0.5 0.5;
+                                       state : "closeall" 0.0;
+                                       color : 255 255 255 0;
                                }
                        }
                        part {
-                               name: "inner";
-                               type: SWALLOW;
-                               scale: 1;
+                               name : "bg";
+                               type : SPACER;
                                description {
-                                       state: "default" 0.0;
-                                       rel1.relative: 0.0 0.0;
-                                       rel2.relative: 1.0 1.0;
-                                       visible: 1;
-                                       fixed: 1 1;
+                                       state : "default" 0.0;
                                }
                        }
-               }
-       }
-       group {
-               name: "item_inner";
-               parts {
                        part {
-                               name: "bg";
-                               type: RECT;
-                               scale: 1;
+                               name : "txt.app_name";
+                               type : SWALLOW;
+                               clip_to : "color_clipper";
+                               scale : 1;
+                               description {
+                                       state : "default" 0.0;
+                                       align : 0.5 0.5;
+                                       fixed : 1.0 1.0;
+                                       rel1 {
+                                               relative : 102/WIN_W 27/WIN_H;
+                                               to : "bg";
+                                       }
+                                       rel2 {
+                                               relative : (WIN_W-102)/WIN_W (27+39)/WIN_H;
+                                               to : "bg";
+                                       }
+
+                                       color_class : "AT0111";
+                               }
                                description {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.0 0.0; }
-                                       rel2 { relative: 1.0 1.0; }
-                                       color: 255 255 255 0;
-                                       min: ITEM_WIDTH ITEM_HEIGHT;
-                                       visible: 1;
+                                       state : "show" 0.0;
+                                       inherit : "default" 0.0;
+                                       visible : 1;
                                }
-                       }
-                       part {
-                               name: "icon";
-                               type: SWALLOW;
-                               scale: 1;
                                description {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.5 0.0; to: "bg"; }
-                                       rel2 { relative: 0.5 0.0; to: "bg"; }
-                                       visible: 1;
-                                       min: ITEM_ICON_WIDTH ITEM_ICON_HEIGHT;
-                                       fixed: 1 1;
-                                       align: 0.5 0.0;
+                                       state : "hide" 0.0;
+                                       inherit : "default" 0.0;
+                                       visible : 0;
                                }
                        }
                        part {
-                               name: "name";
-                               type: TEXTBLOCK;
-                               scale: 1;
+                               name : "img.clipper";
+                               type : RECT;
+                               clip_to : "color_clipper";
+                               scale : 1;
                                description {
-                                       state: "default" 0.0;
-                                       color: 255 255 255 255;
-                                       rel1 { relative: 1.0 0.0; to: "icon"; offset: 20 0; }
-                                       rel2 { relative: 1.0 1.0; to: "icon"; }
-                                       text {
-                                               text: "";
-                                               style: "item_style";
-                                               min: 1 0;
+                                       state : "default" 0.0;
+                                       fixed : 1 1;
+
+                                       rel1 {
+                                               relative : 72/360  72/360;
+                                               to : "bg";
                                        }
-                                       align: 0.0 0.5;
-                                       visible: 1;
+                                       rel2 {
+                                               relative : 288/360 288/360;
+                                               to : "bg";
+                                       }
+                               }
+                               description {
+                                       state : "closeall" 0.0;
+                                       inherit : "default" 0.0;
+                                       min : 176 176;
+                                       max : 176 176;
                                }
                        }
                        part {
-                               name: "event";
-                               type: RECT;
+                               name : "img.app_image";
+                               type : SWALLOW;
+                               scale : 1;
+                               mouse_events : 1;
+                               repeat_events : 0;
+                               clip_to : "img.clipper";
                                description {
-                                       state: "default" 0.0;
-                                       color: 0 0 0 0;
-                                       rel1 { relative: 0.0 0.0; to: "icon"; }
-                                       rel2 { relative: 1.0 1.0; to: "icon"; }
-                                       visible: 1;
+                                       state : "default" 0.0;
+                                       fixed : 1 1;
+                                       rel1 {
+                                               relative : 72/360  72/360;
+                                               to : "bg";
+                                       }
+                                       rel2 {
+                                               relative : 288/360 288/360;
+                                               to : "bg";
+                                       }
+                               }
+                               description {
+                                       state : "icon_displaying" 0.0;
+                                       inherit : "default" 0.0;
+                                       min : 245 245;
+                                       max : 245 245;
+                               }
+                               description {
+                                       state : "closeall" 0.0;
+                                       inherit : "default" 0.0;
+                                       min : 176 176;
+                                       max : 176 176;
                                }
                        }
-               } //parts
-               programs {
-                       program {
-                               name: "click,sound";
-                               signal: "clicked";
-                               source: "event";
-                               action: RUN_PLUGIN "touch_sound";
-                       }
-               } //programs
-       } //group
-
-       group {
-               name: "clear_item";
-               parts {
                        part {
-                               name: "bg";
-                               type: RECT;
-                               scale: 1;
+                               name : "img.circle_bg_mask";
+                               type : IMAGE;
+                               scale : 1;
+                               mouse_events : 1;
+                               repeat_events : 1;
                                description {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.0 0.0; }
-                                       rel2 { relative: 1.0 1.0; }
-                                       color: 255 255 255 0;
-                                       min: ITEM_WIDTH CLEAR_ITEM_HEIGHT;
-                                       visible: 1;
+                                       state : "default" 0.0s;
+                                       fixed : 1 1;
+                                       rel1 {
+                                               relative : 72/360  72/360;
+                                               to : "bg";
+                                       }
+                                       rel2 {
+                                               relative : 288/360 288/360;
+                                               to : "bg";
+                                       }
+                                       image.normal : "recent_circle_bg_mask.png";
+                               //      color_class : AO0111;
+                                       color : 0 0 0 255;
+                               }
+                               description {
+                                       state : "closeall" 0.0;
+                                       inherit : "default" 0.0;
+                                       min : 176 176;
+                                       max : 176 176;
                                }
                        }
                        part {
-                               name: "top_pad";
-                               type: SPACER;
-                               scale: 1;
+                               name : "img.circle_bg_ef2";
+                               type : IMAGE;
+                               scale : 1;
+                               mouse_events : 1;
+                               repeat_events : 1;
+                               clip_to : "color_clipper";
                                description {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.0 0.0; to: "bg"; }
-                                       rel2 { relative: 1.0 0.0; to: "bg"; }
-                                       min: 0 CLEAR_PAD_HEIGHT;
-                                       align: 0.5 0.0;
+                                       state : "default" 0.0s;
+                                       fixed : 1 1;
+                                       rel1 {
+                                               relative : 47/360 47/360;
+                                               to : "bg";
+                                       }
+                                       rel2 {
+                                               relative : 313/360 313/360;
+                                               to : "bg";
+                                       }
+                                       image.normal : "widget_circle_bg_ef2.png";
+                                       color_class : AO0121L2;
                                }
-                       }
-                       part{
-                               name: "line";
-                               type: RECT;
-                               scale: 1;
                                description {
-                                       state: "default" 0.0;
-                                       color: 255 255 255 255;
-                                       rel1 { relative: 0.5 0.0; offset: 0 5; to: "clear_img"; }
-                                       rel2 { relative: 0.5 1.0; to: "bg"; }
-                                       min: CLEAR_LINE_WIDTH 0;
-                                       visible: 1;
-                                       align: 0.5 0.5;
-                                       fixed: 1 0;
+                                       state : "closeall" 0.0;
+                                       inherit : "default" 0.0;
+                                       min : 176 176;
+                                       max : 176 176;
                                }
                        }
                        part {
-                               name: "clear_img";
-                               type: IMAGE;
-                               scale: 1;
+                               name : "img.circle_bg_ef1";
+                               type : IMAGE;
+                               scale : 1;
+                               mouse_events : 1;
+                               repeat_events : 1;
+                               clip_to : "color_clipper";
                                description {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.5 1.0; to: "top_pad"; }
-                                       rel2 { relative: 0.5 1.0; to: "top_pad"; }
-                                       image {
-                                               normal: "clear_all_button_icon.png";
+                                       state : "default" 0.0s;
+                                       fixed : 1 1;
+                                       rel1 {
+                                               relative : 47/360 47/360;
+                                               to : "bg";
                                        }
-                                       visible: 1;
-                                       min: CLEAR_ICON_WIDTH CLEAR_ICON_HEIGHT;
-                                       align: 0.5 0.0;
-                                       fixed: 1 1;
+                                       rel2 {
+                                               relative : 313/360 313/360;
+                                               to : "bg";
+                                       }
+                                       image.normal : "widget_circle_bg_ef1.png";
+                                       color_class : AO0121L3;
                                }
                                description {
-                                       state: "no,apps" 0.0;
-                                       inherit: "default" 0.0;
-                                       image {
-                                               normal: "clear_all_button_icon_disable.png";
-                                       }
+                                       state : "closeall" 0.0;
+                                       inherit : "default" 0.0;
+                                       min : 176 176;
+                                       max : 176 176;
                                }
                        }
-                       part {
-                               name: "name";
-                               type: TEXTBLOCK;
-                               scale: 1;
+
+                       part{
+                               name : "delete.touch";
+                               type : RECT;
+                               scale : 1;
+                               mouse_events : 1;
+                               repeat_events : 0;
                                description {
-                                       state: "default" 0.0;
-                                       color: 255 255 255 255;
-                                       rel1 { relative: 1.0 0.0; to: "clear_img"; offset: 37 0; }
-                                       rel2 { relative: 1.0 1.0; to: "clear_img"; }
-                                       text {
-                                               text: "Clear all";
-                                               style: "item_style";
-                                               min: 1 0;
+                                       state : "default" 0.0;
+                                       min : 75 75;
+                                       max : 75 75;
+                                       fixed : 1 1;
+                                       color : 255 255 255 0;
+                                       rel1 {
+                                               relative : (216-30)/216 40/216 ;
+                                               to : "img.app_image";
+                                       }
+                                       rel2 {
+                                               relative : (216-30)/216 40/216 ;
+                                               to : "img.app_image";
                                        }
-                                       align: 0.0 0.5;
-                                       visible: 1;
-                                       fixed: 1 0;
+                               //      color: 255 0 0 255;
+                               }
+                       part {
+                               name : "img.recent_delete_bg";
+                               type : IMAGE ;
+                               scale : 1;
+                               mouse_events : 0;
+                               repeat_events : 0;
+                               clip_to : "color_clipper";
+                               description{
+                                       state : "default" 0.0;
+                                       fixed : 1 1;
+                                       rel1 {
+                                               relative : (216-63)/216 0;
+                                               to : "img.app_image";
+                                       }
+                                       rel2 {
+                                               relative : (216)/216 63/216 ;
+                                               to : "img.app_image";
+                                       }
+                                       image.normal : "b_recent_widget_del_bg.png";
+                                       color_class : AO014L1;
+                               }
+                               description {
+                                       state : "pressed" 0.0;
+                                       inherit : "default" 0.0;
+                                       color_class : AO014L1P;
                                }
                                description {
-                                       state: "no,apps" 0.0;
-                                       inherit: "default" 0.0;
-                                       color: 255 255 255 124;
+                                       state : "closeall" 0.0;
+                                       inherit : "default" 0.0;
+                                       min : 40 40;
+                                       max : 40 40;
+                                       color : 255 255 255 0;
                                }
                        }
                        part {
-                               name: "event";
-                               type: RECT;
+                               name : "img.recent_delete_icon";
+                               type : IMAGE ;
+                               scale : 1;
+                               mouse_events : 1;
+                               repeat_events : 1;
+                               clip_to : "color_clipper";
+                               description{
+                                       state : "default" 0.0s;
+                                       fixed : 1 1;
+                                       rel1 {
+                                               relative : (216-63)/216 0;
+                                               to : "img.app_image";
+                                       }
+                                       rel2 {
+                                               relative : (216)/216 63/216 ;
+                                               to : "img.app_image";
+                                       }
+                                       image.normal : "b_recent_widget_del_icon.png";
+                                       color_class : AO014L2;
+                               }
                                description {
-                                       state: "default" 0.0;
-                                       color: 0 0 0 0;
-                                       rel1.to: "clear_img";
-                                       rel2.to: "clear_img";
-                                       visible: 1;
+                                       state : "pressed" 0.0;
+                                       inherit : "default" 0.0;
+                                       color_class : AO014L2P;
+                               }
+                               description {
+                                       state : "closeall" 0.0;
+                                       inherit : "default" 0.0;
+                                       min : 40 40;
+                                       max : 40 40;
+                                       color : 255 255 255 0;
+                               }
+                       }
+                       part{
+                               name : "img.recent_delete_icon_shadow";
+                               type : IMAGE ;
+                               scale : 1;
+                               mouse_events : 1;
+                               repeat_events : 1;
+                               clip_to : "color_clipper";
+                               description{
+                                       state : "default" 0.0s;
+                                       fixed : 1 1;
+                                       rel1 {
+                                               relative : (216-63)/216 0 ;
+                                               to : "img.app_image";
+                                       }
+                                       rel2 {
+                                               relative : (216)/216 63/216 ;
+                                               to : "img.app_image";
+                                       }
+                                       image.normal : "b_recent_widget_del_shadow.png";
+                                       color_class : AO014L3;
                                }
                                description {
-                                       state: "no,apps" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 0;
+                                       state : "closeall" 0.0;
+                                       inherit : "default" 0.0;
+                                       min : 40 40;
+                                       max : 40 40;
+                                       color : 255 255 255 0;
                                }
                        }
-               } //parts
+
+               }
+
                programs {
                        program {
-                               name: "click,sound";
-                               signal: "mouse,clicked,1";
-                               source: "event";
-                               action: RUN_PLUGIN "touch_sound";
+                               name : "show,icon";
+                               signal : "show,icon";
+                               source : "bg";
+                               action : STATE_SET "icon_displaying" 0.0;
+                               target : "img.app_image";
+                       }
+
+                       program {
+                               name : "closeall";
+                               signal : "closeall";
+                               source : "bg";
+                               action : STATE_SET "closeall" 0.0;
+                               target : "img.clipper";
+                               target : "img.app_image";
+                               target : "img.circle_bg_mask";
+                               target : "img.circle_bg_ef1";
+                               target : "img.circle_bg_ef2";
+                               target : "color_clipper";
+                               target : "img.recent_delete_bg";
+                               target : "img.recent_delete_icon";
+                               target : "img.recent_delete_icon_shadow";
+                               transition : LINEAR 0.35;
+                       }
+                       program {
+                               name : "closeall_center";
+                               signal : "closeall_center";
+                               source : "bg";
+                               action : STATE_SET "closeall" 0.0;
+                               target : "img.clipper";
+                               target : "img.app_image";
+                               target : "img.circle_bg_mask";
+                               target : "img.circle_bg_ef1";
+                               target : "img.circle_bg_ef2";
+                               target : "color_clipper";
+                               target : "img.recent_delete_bg";
+                               target : "img.recent_delete_icon";
+                               target : "img.recent_delete_icon_shadow";
+                               transition : LINEAR 0.35;
+                               after : "closeall_emit";
+                       }
+                       program {
+                               name : "closeall_emit";
+                               signal : "closeall_emit";
+                               source : "bg";
+                               action : SIGNAL_EMIT "closeall_end" "closeall";
+                       }
+                       program {
+                               name : "delete,clicked";
+                               signal : "mouse,clicked,1";
+                               source : "delete.touch";
+                               action : SIGNAL_EMIT "delete_button,clicked" "clicked";
+                       }
+                       program {
+                               name : "app,clicked";
+                               signal : "mouse,clicked,1";
+                               source : "img.app_image";
+                               action : SIGNAL_EMIT "app_icon,clicked" "clicked";
                        }
                        program {
-                               name: "no,app";
-                               signal: "no,apps";
-                               source: "clear";
-                               action: STATE_SET "no,apps" 0.0;
-                               target: "clear_img";
-                               target: "name";
-                               target: "event";
+                               name : "close,pressed";
+                               signal : "mouse,down,1";
+                               source : "delete.touch";
+                               action : SIGNAL_EMIT "delete_button,pressed" "pressed";
+                               action : STATE_SET "pressed" 0.0;
+                               target : "img.recent_delete_bg";
+                               target : "img.recent_delete_icon";
+                               after : "block,scroll";
+                       }
+                       program {
+                               name : "block,scroll";
+                               signal : "mouse,down,1";
+                               source : "delete.touch";
+                               action : SIGNAL_EMIT "delete_button,pressed" "pressed";
+                       }
+                       program {
+                               name : "close,unpressed";
+                               signal : "mouse,up,1";
+                               source : "delete.touch";
+                               action : SIGNAL_EMIT "delete_button,unpressed" "unpressed";
+                               action : STATE_SET "default" 0.0;
+                               target : "img.recent_delete_bg";
+                               target : "img.recent_delete_icon";
+                               after :  "unblock,scroll";
+                       }
+                       program {
+                               name : "unblock,scroll";
+                               signal : "mouse,up,1";
+                               source : "delete.touch";
+                               action : SIGNAL_EMIT "delete_button,unpressed" "unpressed";
+                       }
+                       program {
+                               name : "show,name";
+                               signal : "show,name";
+                               source : "bg";
+                               action : STATE_SET "show" 0.0 ;
+                               target : "txt.app_name";
+                               transition : LINEAR 0.35;
+                       }
+                       program {
+                               name : "hide,name";
+                               signal : "hide,name";
+                               source : "bg";
+                               action : STATE_SET "hide" 0.0;
+                               target : "txt.app_name";
+                               transition : LINEAR 0.35;
                        }
                }
-       } //group
+       }
 } //collections
index 37178c2..7106459 100644 (file)
 /*
- *  Task Manager
+ * Task Manager
+ * Copyright (c) 2013 Samsung Electronics Co., Ltd.
  *
- * Copyright (c) 2000 - 2015 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed under the Flora License, Version 1.1 (the License);
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://floralicense.org/license/
  *
  * 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.
- *
  */
 
- #include "conf.h"
+collections {
+       base_scale : 1.3;
+       color_classes{
+               color_class{
+             name: "AO0111";
+             color: 38.25 38.25 38.25 255;
+          }
+          color_class{
+             name: "AO0112";
+             color: 0 0 0 255;
+          }
+               color_class{
+           name: "AO0113";
+           color: 94.35 94.35 94.35 255;
+          }
+               color_class{
+           name: "AO0131";
+           color: 255 255 255 38.25;
+          }
+           color_class{
+           name: "AO0131P";
+           color: 255 255 255 127.5;
+          }
+           color_class{
+           name: "AO0132";
+           color: 255 255 255 255;
+          }
+               color_class{
+           name: "AO0132P";
+           color: 255 255 255 127.5;
+          }
 
-styles {
-       style {
-               name: "no_item_style";
-               base: "font=Tizen:style=Bold font_size=32 color=#ffffff align=center style=shadow shadow_color=#000000bf wrap=mixed";
-               tag:  "br" "\n";
-               tag:  "hilight" "+ font_weight=Bold";
-               tag:  "b" "+ font_weight=Bold";
-               tag:  "tab" "\t";
+               color_class{
+           name: "AO015";
+           color: 51 51 51 178.5;
+          }
+          color_class{
+          name: "AO015P";
+          color: 102 102 102 178.5;
+          }
+          color_class{
+          name: "AO015D";
+          color: 33.15 33.15 33.15 255;
+          }
+          color_class{
+          name: "AT0111";
+          color: 255 255 255 255;
+          }
+          color_class{
+          name: "AT0121";
+          color: 255 255 255 255;
+          }
+          color_class{
+          name: "AT0121P";
+          color: 255 255 255 127.5;
+          }
+          color_class{
+          name: "AT013";
+          color: 255 255 255 255;
+          }
+          color_class{
+          name: "AT013P";
+          color: 255 255 255 255;
+          }
+          color_class{
+          name: "AT013D";
+          color: 255 255 255 51;
+          }
+          color_class{
+          name: "AT014";
+          color: 255 255 255 255;
+          }
+          color_class{
+          name: "AT015";
+          color: 76.5 207.4 255 255;
+          }
+          color_class{
+          name: "AT015P";
+          color: 76.5 207.4 255 127.5;
+          }
+          color_class{
+          name: "AT015D";
+          color: 76.5 207.4 255 51;
+          }
        }
+       styles {
+       style {
+                       name: "style_no_apps";
+                       base: "font="TIZEN":style=Regular text_class="AT013" font_size=28 align=center color=#FFFFFF wrap=mixed color_class=AT013";
+                       tag: "br" "\n";
+                       tag: "hilight" "+ color=#ffff";
+                       tag: "b" "+ color=#ffff";
+                       tag: "tab" "\t";
+               }
+       style {
+                       name: "style_recent_name";
+                       base: "font="TIZEN":style=Medium text_class="AT0111" font_size=30 align=center color=#FFFFFF wrap=mixed color_class=AT0111";
+                       tag: "br" "\n";
+                       tag: "hilight" "+ color=#ffff";
+                       tag: "b" "+ color=#ffff";
+                       tag: "tab" "\t";
+               }
 }
 
-collections {
-       base_scale: 2.6;
-       group {
-               name: "layout";
+group {
+               name : "taskmanager-main";
+
+               images {
+                       image : "recent_no_recent_icon.png" COMP;
+                       image : "tw_no_item_bg.png" COMP;
+                       image : "tw_bottom_btn_bg.png" COMP;
+               }
+
                parts {
                        part {
-                               name: "bg";
-                               type: SWALLOW;
-                               scale: 1;
+                               name : "bg";
+                               type : RECT;
+                               description {
+                                       state : "default" 0.0;
+                                       color_class : AO0112;
+                               }
+                       /*      description
+                               {
+                                       state : "noitem" 0.0;
+                                       color_class : AO0112;
+                               }*/
+
+                       }
+                       part {
+                               name : "color_clipper";
+                               type : RECT;
+                               description {
+                                       state : "default" 0.0;
+                                       color : 255 255 255 255;
+                               }
+                               description {
+                                       state : "closeall" 0.0;
+                                       color : 255 255 255 0;
+                               }
+                       }
+                       part {
+                               name : "img.no_recent.bg";
+                               type : IMAGE;
+                               scale : 1;
                                description {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.0 0.0; }
-                                       rel2 { relative: 1.0 1.0; }
-                                       visible: 1;
+                                       state : "default" 0.0;
+                                       visible : 0;
+                               }
+                               description {
+                                       state : "show" 0.0;
+                                       visible : 1;
+                                       min : 360 360;
+                                       max : 360 360;
+                                       rel1 {
+                                               relative : 0.5 0.5;
+                                               to : "bg";
+                                       }
+                                       rel2 {
+                                               relative : 0.5 0.5;
+                                               to : "bg";
+                                       }
+
+                                       fixed : 1 1;
+                                       color_class : "AO0113";
+                                       image.normal : "tw_no_item_bg.png";
                                }
                        }
                        part {
-                               name: "scroller";
-                               type: SWALLOW;
-                               scale: 1;
+                               name : "img.no_recent_clipper";
+                               type : RECT;
                                description {
-                                       state: "default" 0.0;
-                                       rel1 { relative: 0.0 0.0; to: "bg"; }
-                                       rel2 { relative: 1.0 1.0; to: "bg"; }
-                                       align: 0.5 1.0;
-                                       visible: 1;
+                                       state : "default" 0.0;
+                                       color : 255 255 255 204;
                                }
                        }
                        part {
-                               name: "no,apps,txt";
-                               type: TEXTBLOCK;
-                               scale: 1;
+                               name : "img.no_recent";
+                               type : IMAGE;
+                               scale : 1;
+                               clip_to : "img.no_recent_clipper";
+                               description {
+                                       state : "default" 0.0;
+                                       visible : 0;
+                               }
                                description {
-                                       state: "default" 0.0;
-                                       color: 255 255 255 255;
-                                       rel1 { relative: 0.15 0.4; to: "bg"; }
-                                       rel2 { relative: 0.85 0.5; to: "bg"; }
+                                       state : "show" 0.0;
+                                       visible : 1;
+
+                                       min : 98 98;
+                                       max : 98 98;
+
+                                       rel1 {
+                                               relative : 0.5 0.5;
+                                               to : "bg";
+                                       }
+                                       rel2 {
+                                               relative : 0.5 0.5;
+                                               to : "bg";
+                                       }
+
+                                       fixed : 1 1;
+                                       image.normal : "recent_no_recent_icon.png";
+                               }
+                       }
+                       part {
+                               name : "txt.recent_title";
+                               type : TEXTBLOCK;
+                               scale : 1;
+                               description {
+                                       state : "default" 0.0;
+                                       visible : 1;
+                                       rel1.relative : 64/360 51/360;
+                                       rel2.relative : 296/360 90/360;
+                                       align : 0.5 0.5;
+                                       fixed : 1 1;
                                        text {
-                                               text: " ";
-                                               style: "no_item_style";
-                                               align: 0.5 0.5;
+                                               style : style_recent_name;
+                                               min : 0 1;
+                                               align : 0.5 0.5;
                                        }
-                                       visible: 0;
                                }
+                       }
+                       part {
+                               name : "txt.no_apps";
+                               type : TEXTBLOCK;
+                               scale : 1;
                                description {
-                                       state: "show" 0.0;
-                                       inherit: "default" 0.0;
-                                       visible: 1;
+                                       state : "default" 0.0;
+                                       visible : 1;
+                                       color: 255 0 0 255;
                                }
+                               description {
+                                       state : "show" 0.0;
+                                       visible : 1;
+                                       rel1.relative : 60/360 263/360;
+                                       rel2.relative : 300/360 300/360;
+                                       align : 0.5 0.5;
+                                       fixed : 1 1;
+                                       color_class : "AT014";
+                                       text {
+                                               text_class: "AT014";
+                                               style : style_no_apps;
+                                               min : 0 1;
+                                               align : 0.5 0.5;
+                                       }
+                               }
+                       }
+                       part {
+                               name : "list";
+                               type : SWALLOW;
+                               scale : 1;
+                               description {
+                                       state : "default" 0.0;
+                                       rel1 {
+                                               relative : 0.0 0.0;
+                                               to : "bg";
+                                       }
+                                       rel2 {
+                                               relative : 1.0 1.0;
+                                               to : "bg";
+                                       }
+                               }
+                       }
+                       part {
+                               name : "index";
+                               type : SWALLOW;
+                               clip_to : "color_clipper";
+                               scale : 1;
+                               repeat_events: 1 ;
+                               description {
+                                       state : "default" 0.0;
+                               }
+                       }
+               /*      part {
+                               name : "blocking";
+                               type : RECT;
+                               scale : 1;
+                               description {
+                                       state : "default" 0.0;
+                                       color : 0 0 0 0;
+                                       rel1.to : "bg";
+                                       rel2.to : "bg";
+                               }
+                               description {
+                                       state : "unblocked" 0.0;
+                                       visible : 0;
+                               }
+                       }*/
+               part {
+                       name: "close_all_bg";
+                       type: IMAGE;
+                       scale: 1;
+                       mouse_events: 1;
+                       description {
+                               state: "default" 0.0;
+                               rel1 { relative: 0.5 1.0; to: "bg"; }
+                               rel2 { relative: 0.5 1.0; to: "bg"; }
+                               image {
+                                       normal: "tw_bottom_btn_bg.png";
+                               }
+                               align: 0.5 1.0;
+                               fixed : 1 1;
+                               min : 360 100;
+                               max : 360 100;
+                               color_class: "AO015";
+                               fixed: 1 1;
+                               //visible: 0;
+                       }
+                       description {
+                               state: "pressed" 0.50;
+                               inherit: "default" 0.0;
+                               color_class: "AO015P";
+                               visible: 1;
+                       }
+                       description {
+                               state: "show" 0.50;
+                               inherit: "default" 0.0;
+                               visible: 1;
                        }
-               } //parts
+                       description {
+                               state: "disabled" 0.50;
+                               inherit: "default" 0.0;
+                               color_class: "AO015D";
+                               visible: 1;
+                       }
+               }
+               part {
+                       name: "close_all_text";
+                       type: TEXTBLOCK;
+                       scale: 1;
+                       repeat_events: 1;
+                       description {
+                               state: "default" 0.0;
+                               rel1 { relative: 0.0 0.0; to: "close_all_bg"; }
+                               rel2 { relative: 1.0 1.0; to: "close_all_bg"; }
+                               min : 160 42;
+                               max : 160 42;
+                               align: 0.5 0.5;
+                               fixed: 1 1;
+                               visible: 0;
+                               color_class : "AT013";
+                               text {
+                                       text_class: "AT013";
+                                       style : style_no_apps;
+                                       min : 0 1;
+                                       align : 0.5 0.5;
+                               }
+                           }
+                       description {
+                               state: "pressed" 0.50;
+                               inherit: "default" 0.0;
+                               color_class: "AO015P";
+                               visible: 1;
+                       }
+                       description {
+                               state: "show" 0.50;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+                       description {
+                               state: "disabled" 0.50;
+                               inherit: "default" 0.0;
+                               color_class: "AO015D";
+                               visible: 1;
+                       }
+               }
+       }
                programs {
                        program {
-                               signal: "no,apps,txt,show";
-                               source: "no,apps,txt";
-                               action: STATE_SET "show" 0.0;
-                               target: "no,apps,txt";
+                               name : "show,txt.no_apps";
+                               signal : "show,txt.no_apps";
+                               source : "txt.no_apps";
+                               action : STATE_SET "show" 0.0;
+                               target : "txt.no_apps";
+                               target : "img.no_recent";
+                               target : "img.no_recent.bg";
+                               target : "close_all_text";
+                               }
+               /*      program {
+                               name : "set,unblock";
+                               signal : "set,unblock";
+                               source : "blocking";
+                               action : STATE_SET "unblocked" 0.0;
+                               target : "blocking";
+                       }*/
+
+                       program {
+                               name : "close,clicked";
+                               signal : "mouse,clicked,1";
+                               source : "close_all_bg";
+                               action : SIGNAL_EMIT "close_button,clicked" "clicked";
+                       }
+                       program {
+                               name : "close,pressed";
+                               signal : "mouse,down,1";
+                               source : "close.bg";
+                               action : STATE_SET "pressed" 0.0;
+                               target : "close_all_text";
+                               target : "close_all_bg";
+                       }
+                       program {
+                               name : "close,unpressed";
+                               signal : "mouse,up,1";
+                               source : "close.bg";
+                               action : STATE_SET "default" 0.0;
+                               target : "close_all_text";
+                               target : "close_all_bg";
                        }
                        program {
-                               signal: "no,apps,txt,hide";
-                               source: "no,apps,txt";
-                               action: STATE_SET "default" 0.0;
-                               target: "no,apps,txt";
+                               name : "close,show";
+                               signal : "set,close,show";
+                               source : "close.bg";
+                               action : STATE_SET "show" 0.0;
+                               target : "close_all_text";
+                               target : "close_all_bg";
+                       }
+                       program {
+                               name : "close,default";
+                               signal : "set,close,default";
+                               source : "close.bg";
+                               action : STATE_SET "default" 0.0;
+                               target : "close_all_text";
+                               target : "close_all_bg";
+                       }
+                       program {
+                               name : "closeall";
+                               signal : "closeall";
+                               source : "bg";
+                               action : STATE_SET "closeall" 0.0;
+                               target : "color_clipper";
+                       //      transition : LINEAR 0.35;
                        }
                }
-       } //group
+       }
 } //collections
index 9765b1b..7f7b406 100644 (file)
Binary files a/res/icon/org.tizen.task-mgr.png and b/res/icon/org.tizen.task-mgr.png differ
diff --git a/shared/res/org.tizen.task-mgr.png b/shared/res/org.tizen.task-mgr.png
new file mode 100644 (file)
index 0000000..7f7b406
Binary files /dev/null and b/shared/res/org.tizen.task-mgr.png differ
index af78e57..ba09b7d 100644 (file)
@@ -1,20 +1,18 @@
 /*
- *  Task Manager
+ * Task Manager
+ * Copyright (c) 2013 Samsung Electronics Co., Ltd.
  *
- * Copyright (c) 2000 - 2015 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed under the Flora License, Version 1.1 (the License);
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://floralicense.org/license/
  *
  * 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.
- *
  */
 
 #include <Elementary.h>
 #include "scroller.h"
 #include "util.h"
 
-#define PRIVATE_DATA_KEY_CLEAR "p_clr"
-#define PRIVATE_DATA_KEY_NEXT_ITEM "p_n_it"
-#define PRIVATE_DATA_KEY_ITEM_INNER_FOR_MOVING "p_in_mv"
-#define PRIVATE_DATA_KEY_ITEM_ANIM_FOR_MOVING "p_an_mv"
-#define PRIVATE_DATA_KEY_ITEM_X "p_it_x"
-#define PRIVATE_DATA_KEY_ITEM_Y "p_it_y"
-#define PRIVATE_DATA_KEY_ITEM_W "p_it_w"
-#define PRIVATE_DATA_KEY_ITEM_H "p_it_h"
-#define PRIVATE_DATA_KEY_DOWN_X "p_dw_x"
-#define PRIVATE_DATA_KEY_DOWN_Y "p_dw_y"
-#define PRIVATE_DATA_KEY_DOWN_TIME "p_dw_t"
-#define PRIVATE_DATA_KEY_SCROLLED "p_sc"
-#define PRIVATE_DATA_KEY_PRESSED "p_pre"
-#define PRIVATE_DATA_KEY_ITEM_MOVED "p_it_mv"
-
-#define PRIVATE_MOVE_THRESHOLD 30
-#define PRIVATE_FLICK_TIME 100
-#define PRIVATE_ITEM_TERMINATE_THRESHOLD 2.0
-#define PRIVATE_ITEM_ALPHA 0.8
-#define PRIVATE_ITEM_ALPHA_MAX 100
-
-
-
-extern list_type_default_s *item_get_info(Evas_Object *item)
+#define TASKMGR_SIZE 360
+#define VERTICAL_SCROLL_THRESHOLD 20
+#define HORIZONTAL_SCROLL_THRESHOLD 15
+
+list_type_default_s *item_get_info(Evas_Object *item)
 {
        retv_if(!item, NULL);
        list_type_default_s *info = NULL;
@@ -63,572 +42,376 @@ extern list_type_default_s *item_get_info(Evas_Object *item)
        return info;
 }
 
-
-
-extern void item_clear_set_disable(Evas_Object *scroller)
+Ecore_Animator *reverse_animator_add(void *data, Evas_Object *obj)
 {
-       Evas_Object *clear_item = NULL;
-       ret_if(!scroller);
-
-       clear_item = evas_object_data_get(scroller, PRIVATE_DATA_KEY_CLEAR);
-       ret_if(!clear_item);
-       elm_layout_signal_emit(main_get_info()->layout, "no,apps,txt,show", "no,apps,txt");
-       elm_layout_signal_emit(clear_item, "no,apps", "clear");
-
+       main_h main_info = data;
+       retv_if(main_info == NULL, NULL);
+       retv_if(obj == NULL, NULL);
+
+       evas_object_hide(obj);
+       main_info->moving_widget = obj;
+       Ecore_Animator *animator = ecore_animator_timeline_add(0.2, _deleting_animator_cb, data);
+       return animator;
 }
 
-
-
-static void _clear_all_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+static double _get_move(Evas_Coord x1, Evas_Coord y1, Evas_Coord x2, Evas_Coord y2)
 {
-       Evas_Object *scroller = data;
-       ret_if(!scroller);
-       _D("clear all item is clicked");
-       scroller_pop_all_item(scroller, 1);
+       return ((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
 }
 
-
-
-extern Evas_Object *item_clear_all_create(Evas_Object *scroller)
+void _mouse_up_cb_t(void *data, Evas * evas, Evas_Object * obj, void *event_info)
 {
-       retv_if(!scroller, NULL);
-
-       Evas_Object *clear_item = NULL;
+       int i = 0;
+       _D("Vijay Mouse up reverse animation");
 
-       clear_item = elm_layout_add(scroller);
-       retv_if(!clear_item, NULL);
+       main_h main_info = data;
+       ret_if(main_info == NULL);
 
-       if (!elm_layout_file_set(clear_item, ITEM_LAYOUT, "clear_item")) {
-               _E("Failed to set the layout");
-               evas_object_del(clear_item);
-               return NULL;
+       if (main_info->reverse_animator) {
+               _D("reverse animation");
+               return;
        }
 
-       elm_object_part_text_set(clear_item, "name", _("IDS_TASKMGR_BUTTON_CLEAR_ALL"));
-
-       elm_object_signal_callback_add(clear_item, "mouse,clicked,1", "event", _clear_all_clicked_cb, scroller);
-       evas_object_data_set(scroller, PRIVATE_DATA_KEY_CLEAR, clear_item);
-
-       evas_object_size_hint_weight_set(clear_item, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       evas_object_show(clear_item);
-
-       return clear_item;
-
-}
-
-
-
-extern void item_clear_all_destroy(Evas_Object *scroller)
-{
-       ret_if(!scroller);
-
-       Evas_Object *clear_item = NULL;
-
-       clear_item = evas_object_data_del(scroller, PRIVATE_DATA_KEY_CLEAR);
-       if (clear_item) evas_object_del(clear_item);
-}
-
-
-
-static Evas_Object *_content_set_item_inner(Evas_Object *item_outer)
-{
-       Evas_Object *box = NULL;
-       Evas_Object *item_inner = NULL;
-       Evas_Object *next_item = NULL;
-
-       box = main_get_info()->box;
-       retv_if(!box, NULL);
-
-       item_inner = evas_object_data_get(item_outer, PRIVATE_DATA_KEY_ITEM_INNER_FOR_MOVING);
-       retv_if(!item_inner, NULL);
-
-       next_item = evas_object_data_del(item_outer, PRIVATE_DATA_KEY_NEXT_ITEM);
-
-       elm_box_unpack(box, item_outer);
-       elm_object_part_content_set(item_outer, "inner", item_inner);
-
-       if (!next_item) {
-               elm_box_pack_end(box, item_outer);
+       Evas_Event_Mouse_Down *ev = event_info;
+       main_info->posx[POS_UP] = ev->canvas.x;
+       main_info->posy[POS_UP] = ev->canvas.y;
+
+       gettimeofday(&(main_info->postime[POS_UP]), NULL);
+
+       _D("swipe(%d)", main_info->is_widget_swipe);
+       main_info->icon_move = false;
+
+       if (main_info->is_widget_swipe == EINA_TRUE) {
+               if (_get_move(main_info->posx[POS_UP], main_info->posy[POS_UP], main_info->posx[POS_DOWN], main_info->posy[POS_DOWN]) > ((main_info->root_h/2) * (main_info->root_h/2))) {
+                       /* to delete */
+                       list_type_default_s *task = NULL;
+                       task = item_get_info(obj);
+                       if (task) {
+                               _D("### count(%d)", taskmanager_get_count(main_info));
+                               /* checking num : end taskmanager */
+                               if (taskmanager_get_count(main_info) == 0) {
+                                       close_button_disabled_set(EINA_TRUE);
+                                       end_taskmanager(main_info, EINA_FALSE);
+
+                                       /* unfreeze */
+                                       unset_freeze_scroller(main_info);
+                               } else {
+                                       main_info->reverse_animator = reverse_animator_add(main_info, obj);
+                                       if (main_info->reverse_animator == NULL) {
+                                               _E("ecore_animator_add() failed");
+                                               elm_box_unpack(main_info->box, obj);
+                                               evas_object_data_del(obj, DATA_KEY_ITEM_INFO);
+                                               evas_object_del(obj);
+                                               obj = NULL;
+                                       }
+                               }
+                               if (obj != NULL) {
+                                       _D("removed (%s)", task->name);
+                                       item_terminate(obj);
+                                       elm_box_unpack(main_info->box, obj);
+                                       item_destroy(obj);
+                                       index_refresh(main_info);
+                               }
+                       } else {
+                               _E("NO TASK");
+                               /* to origin */
+                               __set_reverse_animation(main_info, obj);
+                       }
+               } else if (__check_velocity(main_info)) {
+                       int ox, oy, oh, ow ;
+                       evas_object_geometry_get(obj, &ox, &oy, &ow, &oh);
+                       main_info->deleteX = ox; main_info->deleteY = oy ;
+                       __set_remove_animation(main_info, obj);
+               } else {
+                       elm_object_signal_emit(obj, "show,name", "bg");
+                       /* to origin */
+                       evas_object_resize(obj, TASKMGR_SIZE, TASKMGR_SIZE);
+                       __set_reverse_animation(main_info, obj);
+               }
        } else {
-               elm_box_pack_before(box, item_outer, next_item);
+               if (main_info->is_scrolled == EINA_TRUE) {
+                       ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
+                       _E("event onhold flag set !!!");
+               }
+               // unfreeze
+               unset_freeze_scroller(main_info);
        }
-       return item_outer;
-}
 
-
-
-static Evas_Object *_content_unset_item_inner(Evas_Object *item_outer)
-{
-       Evas_Object *box = NULL;
-       Evas_Object *item_inner = NULL;
-       Evas_Object *tmp_item = NULL;
-       Eina_List *list = NULL;
-       const Eina_List *l = NULL;
-       const Eina_List *ln = NULL;
-
-
-       box = main_get_info()->box;
-       retv_if(!box, NULL);
-
-       item_inner = elm_object_part_content_unset(item_outer, "inner");
-       retv_if(!item_inner, NULL);
-       evas_object_data_set(item_outer, PRIVATE_DATA_KEY_ITEM_INNER_FOR_MOVING, item_inner);
-
-       list = elm_box_children_get(box);
-       retv_if(!list, NULL);
-
-       EINA_LIST_FOREACH_SAFE(list, l, ln, tmp_item) {
-               if (item_outer != tmp_item) continue;
-               Evas_Object *next_item = eina_list_data_get(ln);
-               evas_object_data_set(item_outer, PRIVATE_DATA_KEY_NEXT_ITEM, next_item);
-               break;
+       main_info->is_widget_swipe = EINA_FALSE;
+       main_info->is_scrolled = EINA_FALSE ;
+       for (i = 0; i < POS_MAX; i++) {
+               main_info->posx[i] = 0;
+               main_info->posy[i] = 0;
        }
-       eina_list_free(list);
-
-       return item_outer;
 }
 
-
-
-#define ANIM_RATE 5
-#define ANIM_RATE_SPARE ANIM_RATE - 1
-static Eina_Bool _anim_move_item(void *data)
+void _mouse_move_cb_t(void *data, Evas * evas, Evas_Object * obj, void *event_info)
 {
-       Evas_Object *scroller = NULL;
-       Evas_Object *item_inner = NULL;
-       Evas_Object *item_outer = NULL;
-
-       int cur_x, cur_y;
-       int end_x, end_y;
-       int end_pos, cur_pos;
-       int vec_pos;
-
-       item_outer = data;
-       goto_if(!data, ERROR);
-
-       scroller = main_get_info()->scroller;
-       goto_if(!scroller, ERROR);
-
-       item_inner = evas_object_data_get(item_outer, PRIVATE_DATA_KEY_ITEM_INNER_FOR_MOVING);
-       goto_if(!item_inner, ERROR);
-
-       evas_object_geometry_get(item_inner, &cur_x, &cur_y, NULL, NULL);
-       evas_object_geometry_get(item_outer, &end_x, &end_y, NULL, NULL);
-
-       end_pos = end_x;
-       vec_pos = (end_x - cur_x)/ANIM_RATE;
-       cur_x += vec_pos;
-       cur_pos = cur_x;
-
-       if ((end_pos - cur_pos) < 0) { // Move : Right -> Left
-               evas_object_move(item_inner, cur_x, cur_y);
-               int alp = 255 - ((cur_pos - end_pos) * PRIVATE_ITEM_ALPHA) - 1;
-               if (alp < PRIVATE_ITEM_ALPHA_MAX) alp = PRIVATE_ITEM_ALPHA_MAX;
-               evas_object_color_set(item_inner, alp, alp, alp, alp);
-
-               if (cur_pos - ANIM_RATE_SPARE <= end_pos) {
-                       evas_object_move(item_inner, end_x, end_y);
-                       goto_if (! _content_set_item_inner(item_outer), ERROR);
-                       /* unfreeze the scroller after setting the content */
-                       scroller_unfreeze(scroller);
-                       evas_object_data_del(item_outer, PRIVATE_DATA_KEY_ITEM_INNER_FOR_MOVING);
-                       evas_object_data_del(item_outer, PRIVATE_DATA_KEY_ITEM_ANIM_FOR_MOVING);
-                       return ECORE_CALLBACK_CANCEL;
-               }
+       static Eina_Bool is_revised = EINA_FALSE;
+       int ox, oy, oh, ow;
+       int distance = 0;
+       int color = 0;
+       main_h main_info = data;
+       ret_if(main_info == NULL);
+       if (main_info->reverse_animator) {
+               _D("reverse animation");
+               return;
        }
-       else { // Move : Left -> Right
-               evas_object_move(item_inner, cur_x, cur_y);
-               int alp = 255 - ((end_pos - cur_pos) * PRIVATE_ITEM_ALPHA) - 1;
-               if (alp < PRIVATE_ITEM_ALPHA_MAX) alp = PRIVATE_ITEM_ALPHA_MAX;
-               evas_object_color_set(item_inner, alp, alp, alp, alp);
-
-               if (cur_pos + ANIM_RATE_SPARE >= end_pos) {
-                       evas_object_move(item_inner, end_x, end_y);
-                       goto_if (NULL == _content_set_item_inner(item_outer), ERROR);
-                       /* unfreeze the scroller after setting the content */
-                       scroller_unfreeze(scroller);
-                       evas_object_data_del(item_outer, PRIVATE_DATA_KEY_ITEM_INNER_FOR_MOVING);
-                       evas_object_data_del(item_outer, PRIVATE_DATA_KEY_ITEM_ANIM_FOR_MOVING);
-                       return ECORE_CALLBACK_CANCEL;
-               }
+       if (main_info->is_scrolled) {
+               _D("horizontal scrolling~~~~ so skip move!!!!!");
+               return;
        }
-       return ECORE_CALLBACK_RENEW;
+       evas_object_geometry_get(obj, &ox, &oy, &ow, &oh);
 
-ERROR:
-       if (item_outer) {
-               scroller_unfreeze(scroller);
-               evas_object_data_del(item_outer, PRIVATE_DATA_KEY_ITEM_INNER_FOR_MOVING);
-               evas_object_data_del(item_outer, PRIVATE_DATA_KEY_ITEM_ANIM_FOR_MOVING);
+       if ((main_info->is_widget_swipe == false) && (abs(ox) > HORIZONTAL_SCROLL_THRESHOLD)) {
+               _D("item is moved more than horizontal threshold(%d)", ox);
+               return ;
        }
-       return ECORE_CALLBACK_CANCEL;
-}
-
-
-
-#define SLIPPED_LENGTH 40
-static Eina_Bool _anim_slipped_item(void *data)
-{
-       Evas_Object *scroller = NULL;
-       Evas_Object *item_outer = data;
+       list_type_default_s *task = NULL;
+       task = item_get_info(obj);
+       _D("task->appid: %s task->name: %s", task->appid, task->name);
+       Eina_List *list = elm_box_children_get(main_info->box);
+       int cur_page;
+       elm_scroller_current_page_get(main_info->scroller, &cur_page, NULL);
 
-       int item_outer_w, item_outer_h;
+       Evas_Object *curr_widget = NULL;
+       curr_widget = eina_list_nth(list, cur_page);
 
-       goto_if(!item_outer, ERROR);
-
-       scroller = main_get_info()->scroller;
-       goto_if(!scroller, ERROR);
-
-       item_outer_w = (int)evas_object_data_get(item_outer, PRIVATE_DATA_KEY_ITEM_W);
-       item_outer_h = (int)evas_object_data_get(item_outer, PRIVATE_DATA_KEY_ITEM_H);
-
-       item_outer_h -= SLIPPED_LENGTH;
-       evas_object_size_hint_min_set(item_outer, ELM_SCALE_SIZE(item_outer_w), ELM_SCALE_SIZE(item_outer_h));
-       evas_object_data_set(item_outer, PRIVATE_DATA_KEY_ITEM_H, (void *)item_outer_h);
-
-       if (item_outer_h <= 0) {
-               scroller_pop_item(scroller, item_outer, 1);
+       list_type_default_s *info = NULL;
+       info = item_get_info(curr_widget);
+       eina_list_free(list);
+       if (info != task) {
+               _D("this is not focused object so skip move");
+               return ;
+       }
+       Evas_Event_Mouse_Down *ev = event_info;
+       main_info->posx[POS_MOVE] = ev->canvas.x;
+       main_info->posy[POS_MOVE] = ev->canvas.y;
+
+       if ((abs(main_info->posy[POS_MOVE] - main_info->posy[POS_DOWN]) > VERTICAL_SCROLL_THRESHOLD) && (abs(main_info->posx[POS_MOVE] - main_info->posx[POS_DOWN]) < HORIZONTAL_SCROLL_THRESHOLD)) {
+               main_info->is_widget_swipe = EINA_TRUE;
+               main_info->is_widget_history = EINA_TRUE;
+               /* freeze */
+               set_freeze_scroller();
+       }
 
-               if (scroller_count(scroller) < 2) {
-                       item_clear_set_disable(scroller);
+       if (main_info->is_widget_swipe == EINA_TRUE) {
+               /* set swipe */
+               evas_object_geometry_get(obj, &ox, &oy, &oh, &ow);
+               distance = main_info->posy[POS_MOVE] - main_info->posy[POS_DOWN];
+               _D("distance : %d", distance);
+               /* revision once */
+               if (is_revised == EINA_FALSE) {
+                       if (distance > 0)
+                               distance -= HORIZONTAL_SCROLL_THRESHOLD;
+                       else
+                               distance += HORIZONTAL_SCROLL_THRESHOLD;
+                       elm_object_signal_emit(obj, "hide,name", "bg");
+                       is_revised = EINA_TRUE;
                }
-               goto ERROR;
-       }
 
-       return ECORE_CALLBACK_RENEW;
+               main_info->icon_move = true;
 
-ERROR:
-       if (item_outer) {
-               evas_object_data_del(item_outer, PRIVATE_DATA_KEY_ITEM_W);
-               evas_object_data_del(item_outer, PRIVATE_DATA_KEY_ITEM_H);
-               evas_object_data_del(item_outer, PRIVATE_DATA_KEY_ITEM_ANIM_FOR_MOVING);
+               evas_object_resize(obj, TASKMGR_SIZE - abs(distance), TASKMGR_SIZE - abs(distance));
+               evas_object_move(obj, (abs(distance)/2), distance + (abs(distance)/2));
+               /* color control */
+               color = (int)(FACTOR_A * abs(distance) + FACTOR_B);
+               __set_layout_color(obj, color);
+       } else {
+               is_revised = EINA_FALSE;
        }
-       return ECORE_CALLBACK_CANCEL;
 }
 
-
-
-#define TERMINATE_LENGTH 60
-static Eina_Bool _anim_terminate_item(void *data)
+void _mouse_down_cb_t(void *data, Evas * evas, Evas_Object * obj, void *event_info)
 {
-       Evas_Object *item_outer = data;
-       Evas_Object *item_inner = NULL;
-
-       int item_x, item_y, item_w, item_h, is_boundary = 0;
-       int outer_x, outer_y;
-
-       goto_if(!item_outer, ERROR);
-
-       item_inner = evas_object_data_get(item_outer, PRIVATE_DATA_KEY_ITEM_INNER_FOR_MOVING);
-       if(!item_inner) {
-               item_inner = elm_object_part_content_unset(item_outer, "inner");
-               retv_if(!item_inner, ECORE_CALLBACK_CANCEL);
-               evas_object_data_set(item_outer, PRIVATE_DATA_KEY_ITEM_INNER_FOR_MOVING, item_inner);
-       }
-
-       evas_object_geometry_get(item_inner, &item_x, &item_y, &item_w, &item_h);
-       evas_object_geometry_get(item_outer, &outer_x, &outer_y, NULL, NULL);
+       _D("[ == %s == ]", __func__);
+       main_h main_info = data;
+       ret_if(main_info == NULL);
 
-       if (item_x >= outer_x) {
-               item_x += TERMINATE_LENGTH;
-       } else {
-               item_x -= TERMINATE_LENGTH;
-       }
-
-       if (item_x >= main_get_info()->root_w || (item_x + item_w) <= 0) {
-               is_boundary = 1;
+       if (main_info->reverse_animator) {
+               _D("reverse animation");
+               return;
        }
 
-       evas_object_move(item_inner, item_x, item_y);
-
-       if (is_boundary) {
-               Evas_Object *scroller = NULL;
-               Ecore_Animator *anim = NULL;
-
-               scroller = main_get_info()->scroller;
-               goto_if(!scroller, ERROR);
+       Evas_Event_Mouse_Down *ev = event_info;
+       main_info->posx[POS_DOWN] = ev->canvas.x;
+       main_info->posy[POS_DOWN] = ev->canvas.y;
 
-               /* unfreeze the scroller after setting the content */
-               scroller_unfreeze(scroller);
-               evas_object_data_del(item_outer, PRIVATE_DATA_KEY_ITEM_INNER_FOR_MOVING);
-               evas_object_data_del(item_outer, PRIVATE_DATA_KEY_ITEM_ANIM_FOR_MOVING);
-               evas_object_color_set(item_inner, 255, 255, 255, 0);
-               elm_object_part_content_set(item_outer, "inner", item_inner);
-
-               anim = evas_object_data_get(item_outer, PRIVATE_DATA_KEY_ITEM_ANIM_FOR_MOVING);
-               if (anim) {
-                       ecore_animator_del(anim);
-                       anim = NULL;
-                       evas_object_data_del(item_outer, PRIVATE_DATA_KEY_ITEM_ANIM_FOR_MOVING);
-               }
-               anim = ecore_animator_add(_anim_slipped_item, item_outer);
-               goto_if(!anim, ERROR);
-               evas_object_data_set(item_outer, PRIVATE_DATA_KEY_ITEM_ANIM_FOR_MOVING, anim);
-               return ECORE_CALLBACK_CANCEL;
-       }
-       return ECORE_CALLBACK_RENEW;
+       if (gettimeofday(&(main_info->postime[POS_DOWN]), NULL) != 0)
+               return;
 
-ERROR:
-       if (item_outer) {
-               evas_object_data_del(item_outer, PRIVATE_DATA_KEY_ITEM_INNER_FOR_MOVING);
-               evas_object_data_del(item_outer, PRIVATE_DATA_KEY_ITEM_ANIM_FOR_MOVING);
-       }
-       return ECORE_CALLBACK_CANCEL;
+       _D("down x(%d) y(%d)", main_info->posx[POS_DOWN], main_info->posy[POS_DOWN]);
 }
 
-
-
-static void _down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+static void _clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
 {
-       Evas_Event_Mouse_Down *ei = event_info;
-       Evas_Object *item_outer = data;
-       Evas_Object *item_inner = NULL;
+       _D("Item Clicked");
+       main_h main_info = data;
+       ret_if(!main_info);
+       const char *appid = NULL;
 
-       int x = ei->output.x;
-       int y = ei->output.y;
-       int down_time = ei->timestamp;
-       int rect_x, rect_y, rect_w, rect_h;
+       if (main_info->is_widget_history == EINA_TRUE) {
+               _D("widget is moved so skip launch");
+               main_info->is_widget_history = EINA_FALSE ;
+       } else {
+               list_type_default_s *info = NULL;
 
-       ret_if(!item_outer);
+               info = item_get_info(obj);
+               ret_if(!info);
 
-       _D("Down (%d, %d)", x, y);
+               appid = info->appid;
+               ret_if(!appid);
 
-       item_inner = elm_object_part_content_get(item_outer, "inner");
-       if (!item_inner) {
-               item_inner = evas_object_data_del(item_outer, PRIVATE_DATA_KEY_ITEM_INNER_FOR_MOVING);
-               ret_if(!item_inner);
-               elm_object_part_content_set(item_outer, "inner", item_inner);
+               util_launch_app(appid);
        }
-
-       evas_object_data_set(item_outer, PRIVATE_DATA_KEY_PRESSED, (void *) 1);
-       evas_object_data_set(item_outer, PRIVATE_DATA_KEY_DOWN_X, (void *) x);
-       evas_object_data_set(item_outer, PRIVATE_DATA_KEY_DOWN_Y, (void *) y);
-       evas_object_data_set(item_outer, PRIVATE_DATA_KEY_DOWN_TIME, (void *)down_time);
-
-       evas_object_geometry_get(item_outer, &rect_x, &rect_y, &rect_w, &rect_h);
-       evas_object_data_set(item_outer, PRIVATE_DATA_KEY_ITEM_X, (void *) rect_x);
-       evas_object_data_set(item_outer, PRIVATE_DATA_KEY_ITEM_Y, (void *) rect_y);
-       evas_object_data_set(item_outer, PRIVATE_DATA_KEY_ITEM_W, (void *) rect_w);
-       evas_object_data_set(item_outer, PRIVATE_DATA_KEY_ITEM_H, (void *) rect_h);
 }
 
-
-
-#define LAUNCHING_LENGTH 60
-#define SCROLLER_THRESHOLD 15
-static void _move_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+static Eina_Bool _deleting_widget_cb(void *data, double pos)
 {
-       Evas_Event_Mouse_Move *ei = event_info;
-       Evas_Object *item_outer = data;
-
-       Evas_Object *layout = NULL;
-       Evas_Object *item_inner = NULL;
-       Evas_Object *scroller = NULL;
-       Ecore_Animator *anim = NULL;
-
-       int down_x, down_y;
-       int outer_x, outer_y;
-       int cur_x, cur_y, vec_x, vec_y;
-       int alpha = 0;
-
-       if (!item_outer) return;
-       if (!evas_object_data_get(item_outer, PRIVATE_DATA_KEY_PRESSED)) return;
-
-       scroller = main_get_info()->scroller;
-       ret_if(!scroller);
-       if (scroller_is_scrolling(scroller)) {
-               evas_object_data_set(item_outer, PRIVATE_DATA_KEY_SCROLLED, (void *)1);
-               evas_object_data_del(item_outer, PRIVATE_DATA_KEY_PRESSED);
-
-               return;
-       }
-
-       layout = main_get_info()->layout;
-       ret_if(!layout);
+       main_h main_info = data;
+       retv_if(main_info == NULL, EINA_FALSE);
 
-       anim = evas_object_data_get(item_outer, PRIVATE_DATA_KEY_ITEM_ANIM_FOR_MOVING);
-       if (anim) return;
+       int ox, oy, oh, ow;
+       int color = 0;
+       double moveX  = 0, moveY = 0;
 
-       down_x = (int) evas_object_data_get(item_outer, PRIVATE_DATA_KEY_DOWN_X);
-       down_y = (int) evas_object_data_get(item_outer, PRIVATE_DATA_KEY_DOWN_Y);
+       evas_object_geometry_get(main_info->deleting_widget, &ox, &oy, &oh, &ow);
 
-       outer_x = (int)evas_object_data_get(item_outer, PRIVATE_DATA_KEY_ITEM_X);
-       outer_y = (int)evas_object_data_get(item_outer, PRIVATE_DATA_KEY_ITEM_Y);
+       main_info->icon_move = true;
+       evas_object_resize(main_info->deleting_widget, TASKMGR_SIZE - (TASKMGR_SIZE * pos), TASKMGR_SIZE -(TASKMGR_SIZE * pos));
+       moveX = (TASKMGR_SIZE * pos) / 2; moveY = (TASKMGR_SIZE * pos) / 2;
+       evas_object_move(main_info->deleting_widget, (TASKMGR_SIZE * pos) / 2, oy + (TASKMGR_SIZE * pos) / 2);
 
-       cur_x = ei->cur.output.x;
-       cur_y = ei->cur.output.y;
+       _D(" posX= %d, posY= %d, pos= %fl, movex = %fl, movey = %fl", ox, oy, pos, moveX, moveY);
 
-       vec_x = cur_x - down_x;
-       vec_y = cur_y - down_y;
+       color = (int)(FACTOR_A * (oy + 20) + FACTOR_B);
+       __set_layout_color(main_info->deleting_widget, color);
 
-       outer_x += vec_x;
+       if (pos < 1.0)
+               return EINA_TRUE;
+       main_info->reverse_animator = reverse_animator_add(main_info, main_info->deleting_widget);
 
-       if (!evas_object_data_get(item_outer, PRIVATE_DATA_KEY_ITEM_MOVED)) {
-               if (abs(vec_y) > abs(vec_x) + SCROLLER_THRESHOLD) {
-                       evas_object_data_set(item_outer, PRIVATE_DATA_KEY_SCROLLED, (void *)1);
-                       return;
-               }
-               if (abs(vec_x) <= PRIVATE_MOVE_THRESHOLD) return;
-               if (abs(vec_y) >= SCROLLER_THRESHOLD) return;
-       }
-
-       evas_object_data_set(item_outer, PRIVATE_DATA_KEY_ITEM_MOVED, (void *) 1);
-       item_inner = evas_object_data_get(item_outer, PRIVATE_DATA_KEY_ITEM_INNER_FOR_MOVING);
-       if (!item_inner) {
-               /* freeze the scroller before unsetting the content */
-               scroller_freeze(scroller);
-               ret_if(!_content_unset_item_inner(item_outer));
+       if (main_info->reverse_animator == NULL) {
+               _E("ecore_animator_add() failed");
+               elm_box_unpack(main_info->box, main_info->deleting_widget);
+               evas_object_data_del(main_info->deleting_widget, DATA_KEY_ITEM_INFO);
+               evas_object_del(main_info->deleting_widget);
+               main_info->deleting_widget = NULL;
        }
+       main_info->delete_animator = NULL;
+       main_info->icon_move = false;
 
-       alpha = 255 -(abs(vec_x) * PRIVATE_ITEM_ALPHA);
-       if (alpha < PRIVATE_ITEM_ALPHA_MAX) {
-               alpha = PRIVATE_ITEM_ALPHA_MAX;
-       }
-
-       evas_object_color_set(item_inner, alpha, alpha, alpha, alpha);
-       evas_object_move(item_inner, outer_x, outer_y);
+       return EINA_FALSE;
 }
 
-
-
-static void _item_terminate_anim(Evas_Object *item_outer)
+Ecore_Animator *delete_animator_add(void *data, Evas_Object *obj)
 {
-       Ecore_Animator *anim = NULL;
-
-       anim = evas_object_data_get(item_outer, PRIVATE_DATA_KEY_ITEM_ANIM_FOR_MOVING);
-       if (anim) {
-               ecore_animator_del(anim);
-               anim = NULL;
-               evas_object_data_del(item_outer, PRIVATE_DATA_KEY_ITEM_ANIM_FOR_MOVING);
-       }
+       main_h main_info = data;
+       retv_if(main_info == NULL, NULL);
+       retv_if(obj == NULL, NULL);
 
-       anim = ecore_animator_add(_anim_terminate_item, item_outer);
-       ret_if(!anim);
-       evas_object_data_set(item_outer, PRIVATE_DATA_KEY_ITEM_ANIM_FOR_MOVING, anim);
+       main_info->deleting_widget = obj;
+       Ecore_Animator *animator = ecore_animator_timeline_add(0.3, _deleting_widget_cb, data);
+       return animator;
 }
 
-
-
-static void _up_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+static void _item_del_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
 {
-       Evas_Event_Mouse_Up *ei = event_info;
-       Evas_Object *item_outer = data;
-
-       Evas_Object *scroller = NULL;
-
-       int x = ei->output.x;
-       int y = ei->output.y;
-       int up_time = ei->timestamp;
-       int down_time = 0;
-       int init_pos, item_pos, item_size, tm_threshold;
-
-       _D("Up (%d, %d)", x, y);
-
-       ret_if (!item_outer);
-
-       scroller = main_get_info()->scroller;
-       ret_if(!scroller);
-
-       evas_object_data_del(item_outer, PRIVATE_DATA_KEY_PRESSED);
-       evas_object_data_del(item_outer, PRIVATE_DATA_KEY_DOWN_Y);
-       evas_object_data_del(item_outer, PRIVATE_DATA_KEY_DOWN_X);
-       evas_object_data_del(item_outer, PRIVATE_DATA_KEY_ITEM_MOVED);
-       evas_object_data_del(item_outer, PRIVATE_DATA_KEY_SCROLLED);
-
-       down_time = (int) evas_object_data_del(item_outer, PRIVATE_DATA_KEY_DOWN_TIME);
-
-       /* This means the inner item has not been moved */
-       Evas_Object *item_inner = evas_object_data_get(item_outer, PRIVATE_DATA_KEY_ITEM_INNER_FOR_MOVING);
-       if (!item_inner) return;
-
-       init_pos = (int) evas_object_data_del(item_outer, PRIVATE_DATA_KEY_ITEM_X);
-       evas_object_data_del(item_outer, PRIVATE_DATA_KEY_ITEM_Y);
-       evas_object_geometry_get(item_inner, &item_pos, NULL, &item_size, NULL);
-       tm_threshold = item_size * PRIVATE_ITEM_TERMINATE_THRESHOLD;
-
-       if (abs(item_pos - init_pos) > tm_threshold || (up_time - down_time < PRIVATE_FLICK_TIME && abs(item_pos - init_pos) > 0)) {
-               _item_terminate_anim(item_outer);
-
-       } else if (item_pos != init_pos) {
-               Ecore_Animator *anim = NULL;
-               anim = evas_object_data_get(item_outer, PRIVATE_DATA_KEY_ITEM_ANIM_FOR_MOVING);
-               if (anim) {
-                       ecore_animator_del(anim);
-                       anim = NULL;
-                       evas_object_data_del(item_outer, PRIVATE_DATA_KEY_ITEM_ANIM_FOR_MOVING);
-               }
-
-               anim = ecore_animator_add(_anim_move_item, item_outer);
-               ret_if(NULL == anim);
-               evas_object_data_set(item_outer, PRIVATE_DATA_KEY_ITEM_ANIM_FOR_MOVING, anim);
+       list_type_default_s *task = NULL;
+       main_h main_info = data;
+       ret_if(!main_info);
+       task = item_get_info(obj);
+       if (!task) {
+               _E("can't get the object's data");
+               return ;
        }
-}
-
-
-
-static void _clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
-{
-       _D("Clicked");
-
-       ret_if(!data);
-       Evas_Object *item = data;
-       Evas_Object *item_inner = NULL;
-
-       const char *appid = NULL;
-
+       Eina_List *list = elm_box_children_get(main_info->box);
+       int cur_page;
+       elm_scroller_current_page_get(main_info->scroller, &cur_page, NULL);
+       Evas_Object *curr_widget = NULL;
+       curr_widget = eina_list_nth(list, cur_page);
        list_type_default_s *info = NULL;
-
-       item_inner = elm_object_part_content_get(item, "inner");
-       if (!item_inner) return;
-
-       info = item_get_info(item);
-       ret_if(!info);
-
-       appid = info->appid;
-       ret_if(!appid);
-
-       elm_object_signal_emit(item_inner, "clicked", "event");
-
-       util_launch_app(appid);
-       //layout_hide_with_timer();
+       info = item_get_info(curr_widget);
+       eina_list_free(list);
+       if (task != info) {
+               _D("this is not focused object so skip delete");
+               return ;
+       }
+       if (taskmanager_get_count(main_info) == 1) {
+               item_terminate(obj);
+               item_destroy(obj);
+               index_refresh(main_info);
+               close_button_disabled_set(EINA_TRUE);
+               end_taskmanager(main_info, EINA_FALSE);
+               unset_freeze_scroller(main_info);
+               return;
+       } else {
+               main_info->delete_animator = delete_animator_add(main_info, obj);
+               if (main_info->delete_animator == NULL) {
+                       _E("ecore_animator_add() failed");
+                       elm_box_unpack(main_info->box, obj);
+                       evas_object_data_del(obj, DATA_KEY_ITEM_INFO);
+                       evas_object_del(obj);
+                       obj = NULL;
+                       return ;
+               }
+       }
+               item_terminate(obj);
+               item_destroy(obj);
+               index_refresh(main_info);
 }
 
-
-
-extern Evas_Object *item_create(Evas_Object *scroller, list_type_default_s *info)
+Evas_Object *item_create(void *data, list_type_default_s *info)
 {
-       retv_if(NULL == scroller, NULL);
+       main_h main_info = data;
+       retv_if(NULL == main_info, NULL);
        retv_if(NULL == info, NULL);
+       int ret = 0;
 
        Evas_Object *icon = NULL;
        Evas_Object *item = NULL;
-       Evas_Object *item_inner = NULL;
-
-       item = elm_layout_add(scroller);
+       item = elm_layout_add(main_info->box);
        retv_if(NULL == item, NULL);
-       elm_layout_file_set(item, ITEM_LAYOUT, "item");
+       char edje_path[PATH_MAX] = {0, };
+       ret = getEdjepath(ITEM_LAYOUT, edje_path, sizeof(edje_path));
+       retv_if(ret < 0, NULL);
+
+       elm_layout_file_set(item, edje_path, "recent");
        evas_object_size_hint_weight_set(item, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
        evas_object_show(item);
 
-       item_inner = elm_layout_add(scroller);
-       goto_if(NULL == item_inner, ERROR);
-       elm_layout_file_set(item_inner, ITEM_LAYOUT, "item_inner");
-       evas_object_size_hint_weight_set(item_inner, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       evas_object_show(item_inner);
-       elm_object_part_content_set(item, "inner", item_inner);
-       evas_object_event_callback_add(item_inner, EVAS_CALLBACK_MOUSE_DOWN, _down_cb, item);
-       evas_object_event_callback_add(item_inner, EVAS_CALLBACK_MOUSE_MOVE, _move_cb, item);
-       evas_object_event_callback_add(item_inner, EVAS_CALLBACK_MOUSE_UP, _up_cb, item);
-
-       icon = evas_object_image_add(main_get_info()->e);
+       Evas_Object *label = elm_label_add(item);
+       if (label) {
+               char buf[256] = {0,};
+               ret = snprintf(buf, sizeof(buf) - 1, "<align=center>&nbsp;%s&nbsp;</align>", info->name);
+               retv_if(ret < 0, NULL);
+
+               elm_object_style_set(label, "slide_roll");
+               elm_object_text_set(label, buf);
+
+               elm_label_wrap_width_set(label, ELM_SCALE_SIZE(100));
+               elm_label_slide_mode_set(label, ELM_LABEL_SLIDE_MODE_ALWAYS);
+               elm_label_slide_duration_set(label, 3);
+               evas_object_show(label);
+
+               elm_object_part_content_set(item, "txt.app_name", label);
+       }
+
+       icon = evas_object_image_add(evas_object_evas_get(item));
        goto_if(NULL == icon, ERROR);
+
+       _D("info->icon: %s", info->icon);
        evas_object_image_file_set(icon, info->icon, NULL);
        evas_object_image_filled_set(icon, EINA_TRUE);
+       elm_object_part_content_set(item, "img.app_image", icon);
        evas_object_show(icon);
-       elm_object_part_content_set(item_inner, "icon", icon);
-       elm_object_part_text_set(item_inner, "name", info->name);
-
-       elm_object_signal_callback_add(item_inner, "mouse,clicked,1", "event", _clicked_cb, item);
+       elm_object_signal_emit(item, "show,icon", "bg");
 
+       elm_object_signal_callback_add(item, "delete_button,clicked", "clicked", _item_del_cb, main_info);
+       elm_object_signal_callback_add(item, "app_icon,clicked", "clicked", _clicked_cb, main_info);
+       evas_object_event_callback_add(item, EVAS_CALLBACK_MOUSE_UP, _mouse_up_cb_t, main_info);
+       evas_object_event_callback_add(item, EVAS_CALLBACK_MOUSE_DOWN, _mouse_down_cb_t, main_info);
+       evas_object_event_callback_add(item, EVAS_CALLBACK_MOUSE_MOVE, _mouse_move_cb_t, main_info);
        evas_object_data_set(item, DATA_KEY_ITEM_INFO, info);
 
        return item;
@@ -638,38 +421,43 @@ ERROR:
        return NULL;
 }
 
-
-
-extern void item_destroy(Evas_Object *item)
+void item_destroy(Evas_Object *item)
 {
        ret_if(!item);
-
+       _D("Destroying item");
        Evas_Object *icon = NULL;
        Evas_Object *item_inner = NULL;
-
-       item_inner = elm_object_part_content_unset(item, "inner");
-       if (!item_inner) {
-               _E("cannot get the object");
-               evas_object_del(item);
-               return;
+       list_type_default_s *info = item_get_info(item);
+       item_inner = elm_object_part_content_unset(item, "txt.app_name");
+       if (item_inner) {
+               _D("Delete the Label if it is NOT NULL.");
+               evas_object_del(item_inner);
+               item_inner = NULL;
        }
 
-       icon = elm_object_part_content_unset(item_inner, "icon");
+       icon = elm_object_part_content_unset(item, "img.app_image");
        if (icon) {
+               _D("Delete the icon if it is NOT NULL.");
                evas_object_del(icon);
-       } else {
-               _E("cannot get the object");
+               icon = NULL;
+       }
+       Eina_List *l = NULL;
+       list_type_default_s *_info = NULL;
+       main_h main_info = main_get_info();
+       EINA_LIST_FOREACH(main_info->pkg_list, l, _info) {
+               if (_info != info)
+                       continue;
+               _D("REMOVED pkg : %x count(%d)", info, taskmanager_get_count(main_info->pkg_list));
+               _pkglist_unretrieve_item(info);
+               evas_object_data_del(item, DATA_KEY_ITEM_INFO);
+               evas_object_del(item);
+               item = NULL;
+               main_info->pkg_list = eina_list_remove_list(main_info->pkg_list, l);
+               break;
        }
-
-       evas_object_data_del(item, DATA_KEY_ITEM_INFO);
-
-       evas_object_del(item_inner);
-       evas_object_del(item);
 }
 
-
-
-extern void item_terminate(Evas_Object *item)
+void item_terminate(Evas_Object *item)
 {
        char *appid = NULL;
        int ret;
@@ -685,14 +473,51 @@ extern void item_terminate(Evas_Object *item)
 
        _D("Terminate: %s(%d)", appid, running);
        if (running) {
+               _D("App is running. kill the app ");
                util_kill_app(appid);
        }
 
-       if (0 != rua_delete_history_with_pkgname(appid)) {
-               _E("Cannot delete history for package(%s)", appid);
-       }
+       ret = rua_delete_history_with_pkgname(appid);
+       if (0 != ret)
+               _E("Cannot delete history for package(%s) and ret=%d, error:%s", appid, ret, get_error_message(ret));
 }
 
+void taskmanager_remove_all_task_info(void *data)
+{
+       main_h main_info = data;
+       ret_if(main_info == NULL);
 
+       if (eina_list_count(main_info->pkg_list) == 0) {
+               _D("There is no applist");
+               return;
+       }
+
+       Eina_List *l = NULL;
+       list_type_default_s *info = NULL;
+       int ret = 0;
+       bool running = false;
+       if (rua_init() == -1) {
+               _E("rua_init() failed");
+               return;
+       }
+       char *appid = NULL;
+       EINA_LIST_FOREACH(main_info->pkg_list, l, info) {
+               if (!info)
+                       continue;
+               ret = app_manager_is_running(info->appid, &running);
+               ret_if(APP_MANAGER_ERROR_NONE != ret);
+
+               _D("Terminate: %s(%d)", appid, running);
+               if (running) {
+                       _D("App is running. kill the app");
+                       util_kill_app(appid);
+               }
+               ret = rua_delete_history_with_pkgname(appid);
+               if (0 != ret)
+                       _E("Cannot delete history for package(%s) and ret=%d, error:%s", appid, ret, get_error_message(ret));
+
+               }
+       rua_fini();
+}
 
 //End of a file
index 43bc501..12b552e 100644 (file)
 /*
- *  Task Manager
+ * Task Manager
+ * Copyright (c) 2013 Samsung Electronics Co., Ltd.
  *
- * Copyright (c) 2000 - 2015 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed under the Flora License, Version 1.1 (the License);
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://floralicense.org/license/
  *
  * 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.
- *
  */
 
 #include <Elementary.h>
-#include <pkgmgr-info.h>
+#include <app_manager.h>
 #include <rua.h>
 
 #include "list.h"
 #include "log.h"
 #include "main.h"
 #include "util.h"
+#include "conf.h"
 
-typedef struct pkginfo {
-       char *appid;
-       bool taskmanage;
-       char *pkgid;
-       char *icon;
-       char *name;
-       bool nodisplay;
-} private_pkginfo_s;
+static struct _info {
+       Eina_List *app_list;
+} s_info;
 
-typedef struct {
-       char *appid;
-       int pid;
-} private_pid_s;
+void _pkglist_unretrieve_item(list_type_default_s *default_info)
+{
+       if (!default_info)
+               return;
 
-static struct {
-       Eina_Hash *pkginfo_table;
-} private_table_s = {
-       .pkginfo_table = NULL,
-};
+       free(default_info->name);
+       default_info->name = NULL;
 
+       free(default_info->icon);
+       default_info->icon = NULL;
 
+       free(default_info->pkgid);
+       default_info->pkgid = NULL;
 
-static void _pkglist_unretrieve_item(list_type_default_s *default_info)
-{
-       if (!default_info) {
-               return;
-       }
+       free(default_info->appid);
+       default_info->appid = NULL;
 
-       if (default_info->name) {
-               free(default_info->name);
-               default_info->name = NULL;
-       }
-       if (default_info->icon) {
-               free(default_info->icon);
-               default_info->icon = NULL;
-       }
-       if (default_info->pkgid) {
-               free(default_info->pkgid);
-               default_info->pkgid = NULL;
-       }
-       if (default_info->arg) {
-               free(default_info->arg);
-               default_info->arg = NULL;
-       }
-       if (default_info->appid) {
-               free(default_info->appid);
-               default_info->appid = NULL;
-       }
-       if (default_info) {
-               free(default_info);
-               default_info = NULL;
-       }
+       free(default_info);
+       default_info = NULL;
 }
 
-
-
-static list_type_default_s *_pkglist_retrieve_item(const char *appid, const char *arg, time_t launch_time)
+static list_type_default_s *_pkglist_item_create(app_info_h app_info)
 {
-       retv_if(!appid, NULL);
+       if (!app_info)
+               return NULL;
 
-       private_pkginfo_s *pkg_info = NULL;
-       list_type_default_s *default_info = NULL;
+       list_type_default_s *list_item = calloc(1, sizeof(list_type_default_s));
+       if (!list_item)
+               return NULL;
+       bool running = false;
 
-       pkg_info = eina_hash_find(private_table_s.pkginfo_table, appid);
-       if (!pkg_info) {
-               _D("app(%s) is not taskmanage app", appid);
+       int ret = app_info_get_app_id(app_info, &list_item->appid);
+       if (ret != APP_MANAGER_ERROR_NONE) {
+               _E("app_info_get_app_id failed[%d]: %s", ret, get_error_message(ret));
+               _pkglist_unretrieve_item(list_item);
                return NULL;
        }
 
-       if (!pkg_info->taskmanage) {
-               _D("app(%s) is not taskmanage app", appid);
+       ret = app_manager_is_running(list_item->appid, &running);
+       if (ret != APP_MANAGER_ERROR_NONE)// || !running) { TODO: why running boolean is used
+               {
+               _E("app_manager_is_running failed[%d]: %s", ret, get_error_message(ret));
+               _pkglist_unretrieve_item(list_item);
                return NULL;
        }
 
-       default_info = calloc(1, sizeof(*default_info));
-       retv_if(!default_info, NULL);
-
-       default_info->taskmanage = pkg_info->taskmanage;
-       default_info->launch_time = launch_time;
-       default_info->nodisplay = pkg_info->nodisplay;
-
-       default_info->appid = strdup(appid);
-       goto_if(!default_info->appid, ERROR);
-
-       if (arg) {
-               default_info->arg = strdup(arg);
-               goto_if(!default_info->arg, ERROR);
+       ret = app_info_get_package(app_info, &list_item->pkgid);
+       if (ret != APP_MANAGER_ERROR_NONE) {
+               _E("app_info_get_package failed[%d]: %s", ret, get_error_message(ret));
+               _pkglist_unretrieve_item(list_item);
+               return NULL;
        }
 
-       if (pkg_info->pkgid) {
-               default_info->pkgid = strdup(pkg_info->pkgid);
-               goto_if(!default_info->pkgid, ERROR);
-       } else {
-               _E("Fail to get pkgid from pkg info table");
-               goto ERROR;
+       ret = app_info_get_label(app_info, &list_item->name);
+       if (ret != APP_MANAGER_ERROR_NONE) {
+               _E("app_info_get_app_id failed[%d]: %s", ret, get_error_message(ret));
+               _pkglist_unretrieve_item(list_item);
+               return NULL;
        }
-
-       if (pkg_info->icon) {
-               default_info->icon = strdup(pkg_info->icon);
-               goto_if(!default_info->icon, ERROR);
-       } else {
-               _E("Fail to get icon from pkg info table");
-               goto ERROR;
+//instead of fetching icon for that app, we need to fetch last catpured snapshot.
+//     But this functionality is not avaiable now. have to change when screen capture functionality avaiable.
+       ret = app_info_get_icon(app_info, &list_item->icon);
+       if (ret != APP_MANAGER_ERROR_NONE) {
+               _E("app_info_get_app_id failed[%d]: %s", ret, get_error_message(ret));
+               _pkglist_unretrieve_item(list_item);
+               return NULL;
        }
-
-       if (pkg_info->name) {
-               default_info->name = strdup(pkg_info->name);
-               goto_if(!default_info->name, ERROR);
-       } else {
-               _E("Fail to get name from pkg info table");
-               goto ERROR;
+       _D("pkg id: %s", list_item->pkgid);
+       if (strcmp(list_item->pkgid, "org.tizen.task-mgr") == 0) {
+               _E("ignoring Recents app");
+               _pkglist_unretrieve_item(list_item);
+               return NULL;
        }
-
-       _D("list add id : [%s], icon : [%s], name : [%s]", pkg_info->pkgid, pkg_info->icon, pkg_info->name);
-
-       return default_info;
-
-ERROR:
-
-       _pkglist_unretrieve_item(default_info);
-       return NULL;
+       return list_item;
 }
 
-
-
-int _get_pkginfo_cb(pkgmgrinfo_appinfo_h app_handle, void *user_data)
+static int _launch_time_sort_cb(const void *d1, const void *d2)
 {
-       char *appid = NULL;
-       char *pkgid = NULL;
-       char *name = NULL;
-       char *icon = NULL;
-       private_pkginfo_s *pkg_info = NULL;
-
-       pkg_info = calloc(1, sizeof(*pkg_info));
-       retv_if(!pkg_info, PMINFO_R_ERROR);
-
-       memset(pkg_info, 0, sizeof(private_pkginfo_s));
-
-       pkgmgrinfo_appinfo_get_appid(app_handle, &appid);
-       goto_if(!appid, ERROR);
-
-       pkg_info->appid = strdup(appid);
-       goto_if(!pkg_info->appid, ERROR);
-
-       if (PMINFO_R_OK != pkgmgrinfo_appinfo_is_taskmanage(app_handle, &pkg_info->taskmanage)) {
-               goto ERROR;
-       }
+       list_type_default_s *tmp1 = (list_type_default_s *) d1;
+       list_type_default_s *tmp2 = (list_type_default_s *) d2;
 
-       if (PMINFO_R_OK != pkgmgrinfo_appinfo_get_pkgid(app_handle, &pkgid)) {
-               goto ERROR;
-       }
-       pkg_info->pkgid = strdup(pkgid);
-       goto_if(!pkg_info->pkgid, ERROR);
+       if (!tmp1) return -1;
+       if (!tmp2) return 1;
 
-       if (PMINFO_R_OK != pkgmgrinfo_appinfo_get_icon(app_handle, &icon)) {
-               goto ERROR;
-       }
-       if (icon) {
-               pkg_info->icon= strdup(icon);
-               goto_if(!pkg_info->icon, ERROR);
-       }
+       return tmp1->launch_time >= tmp2->launch_time ? -1 : 1;
+}
 
-       if (PMINFO_R_OK != pkgmgrinfo_appinfo_get_label(app_handle, &name)) {
-               goto ERROR;
-       }
-       if (name) {
-               pkg_info->name= strdup(name);
-               goto_if(!pkg_info->name, ERROR);
-       }
 
-       if (PMINFO_R_OK != pkgmgrinfo_appinfo_is_nodisplay(app_handle, &pkg_info->nodisplay)) {
-               goto ERROR;
-       }
+static bool _pkglist_item_append(app_info_h app_info, void *user_data)
+{
+       struct rua_rec *record = user_data;
+       retvm_if(!record, false, "record data == NULL");
 
-       eina_hash_add(private_table_s.pkginfo_table, pkg_info->appid, pkg_info);
+       list_type_default_s *list_item = _pkglist_item_create(app_info);
+       if (!list_item)
+               return true;
 
-       return PMINFO_R_OK;
+       list_item->launch_time = record->launch_time;
 
-ERROR:
-       if (pkg_info->name) free(pkg_info->name);
-       if (pkg_info->icon) free(pkg_info->icon);
-       if (pkg_info->pkgid) free(pkg_info->pkgid);
-       if (pkg_info->appid) free(pkg_info->appid);
-       free(pkg_info);
+       s_info.app_list = eina_list_sorted_insert(s_info.app_list, _launch_time_sort_cb, list_item);
 
-       return PMINFO_R_ERROR;
+       return false;
 }
 
-
-
-static task_mgr_error_e _create_pkginfo_table(void)
+static int _pkglist_filter_create(app_info_filter_h *filter)
 {
-       _D("");
-       pkgmgrinfo_appinfo_filter_h handle;
+       int ret = app_info_filter_create(filter);
+       retvm_if(ret != APP_MANAGER_ERROR_NONE, TASK_MGR_ERROR_FAIL, "app_info_filter_create failed");
 
-       int ret = 0;
-
-       private_table_s.pkginfo_table = eina_hash_string_superfast_new(NULL);
-
-       ret = pkgmgrinfo_appinfo_filter_create(&handle);
-       if (PMINFO_R_OK != ret) {
+       ret = app_info_filter_add_bool(*filter, PACKAGE_INFO_PROP_APP_TASKMANAGE, true);
+       if (ret != APP_MANAGER_ERROR_NONE) {
+               _E("app_info_filer_add_bool failed[%d]: %s", ret, get_error_message(ret));
+               app_info_filter_destroy(*filter);
                return TASK_MGR_ERROR_FAIL;
        }
 
-       ret = pkgmgrinfo_appinfo_filter_add_bool(handle, PMINFO_APPINFO_PROP_APP_TASKMANAGE, 1);
-       if (PMINFO_R_OK != ret) {
-               pkgmgrinfo_appinfo_filter_destroy(handle);
+       return TASK_MGR_ERROR_NONE;
+}
+
+static int _pkglist_find_and_append_app(struct rua_rec *record, app_info_filter_h *filter)
+{
+       int ret = app_info_filter_add_string(*filter, PACKAGE_INFO_PROP_APP_ID, record->pkg_name);
+       if (ret != APP_MANAGER_ERROR_NONE) {
+               _E("app_info_filter_add_string failed[%d]: %s", ret, get_error_message(ret));
                return TASK_MGR_ERROR_FAIL;
        }
 
-       ret = pkgmgrinfo_appinfo_filter_foreach_appinfo(handle, _get_pkginfo_cb, NULL);
-       if (ret != PMINFO_R_OK) {
-               pkgmgrinfo_appinfo_filter_destroy(handle);
+       ret = app_info_filter_foreach_appinfo(*filter, _pkglist_item_append, record);
+       if (ret != APP_MANAGER_ERROR_NONE) {
+               _E("app_info_filter_foreach_app_info failed[%d]: %s", ret, get_error_message(ret));
                return TASK_MGR_ERROR_FAIL;
        }
 
-       pkgmgrinfo_appinfo_filter_destroy(handle);
-
        return TASK_MGR_ERROR_NONE;
 }
 
-
-
-static Eina_Bool _remove_pkginfo(const Eina_Hash *hash, const void *key, void *data, void *fdata)
-{
-       retv_if(!data, EINA_FALSE);
-
-       private_pkginfo_s *pkg_info = data;
-
-       if (pkg_info->name) free(pkg_info->name);
-       if (pkg_info->icon) free(pkg_info->icon);
-       if (pkg_info->pkgid) free(pkg_info->pkgid);
-       if (pkg_info->appid) free(pkg_info->appid);
-
-       return EINA_TRUE;
-}
-
-
-
-static void _destroy_pkginfo_table(void)
-{
-       _D("");
-
-       eina_hash_foreach(private_table_s.pkginfo_table, _remove_pkginfo, NULL);
-       eina_hash_free(private_table_s.pkginfo_table);
-       private_table_s.pkginfo_table = NULL;
-}
-
-
-
-static int _launch_time_sort_cb(const void *d1, const void *d2)
-{
-       list_type_default_s *tmp1 = (list_type_default_s *) d1;
-       list_type_default_s *tmp2 = (list_type_default_s *) d2;
-
-       if (!tmp1) return -1;
-       if (!tmp2) return 1;
-
-       if (!tmp1->appid) return 1;
-       else if (!tmp2->appid) return -1;
-
-       return tmp1->launch_time >= tmp2->launch_time ? -1 : 1;
-}
-
-
-
-extern task_mgr_error_e list_sort(Eina_List *list, int (*_sort_cb)(const void *d1, const void *d2))
+Eina_List *list_pkg_list_get(void)
 {
-       retv_if(!list, TASK_MGR_ERROR_INVALID_PARAMETER);
-
-       list = eina_list_sort(list, eina_list_count(list), _sort_cb);
-       retv_if(!list, TASK_MGR_ERROR_FAIL);
-
-       return TASK_MGR_ERROR_NONE;
+       return s_info.app_list;
 }
 
-
-
-extern task_mgr_error_e list_create(Eina_List **pkg_list)
+task_mgr_error_e list_create(void)
 {
-       _D("");
-
-       rua_init();
        char **table = NULL;
-       list_type_default_s *default_info = NULL;
+       int rows = 0;
+       int cols = 0;
+       struct rua_rec record;
 
-       int nrows = 0, ncols = 0;
-       int row = 0;
+       app_info_filter_h filter;
 
-       retv_if (TASK_MGR_ERROR_NONE != _create_pkginfo_table(), TASK_MGR_ERROR_FAIL);
-
-       if (-1 == rua_history_load_db(&table, &nrows, &ncols)) {
-               if (table) {
-                       rua_history_unload_db(&table);
-               }
+       if (rua_init()) {
+               _E("rua_init failed");
                return TASK_MGR_ERROR_FAIL;
        }
 
-       _D("Apps in rua history is %d", nrows);
-
-       for (; row < nrows; row++) {
-               struct rua_rec rec_result = {0, };
-               rua_history_get_rec(&rec_result, table, nrows, ncols, row);
-               default_info = _pkglist_retrieve_item(rec_result.pkg_name, rec_result.arg, rec_result.launch_time);
-               if (default_info) {
-                       *pkg_list = eina_list_append(*pkg_list, default_info);
-               }
+       if (rua_history_load_db(&table, &rows, &cols) || !table) {
+               _E("rua_history_load_db failed");
+               return TASK_MGR_ERROR_FAIL;
        }
 
-       if (*pkg_list && TASK_MGR_ERROR_NONE != list_sort(*pkg_list, _launch_time_sort_cb)) {
-               _E("Cannot sort pkg_list");
+       int ret = _pkglist_filter_create(&filter);
+       retvm_if(ret != TASK_MGR_ERROR_NONE, ret, "_pkglist_taskmanage_filter_create failed");
+
+       int row;
+       for (row = 0; row < rows; ++row) {
+               rua_history_get_rec(&record, table, rows, cols, row);
+               ret = _pkglist_find_and_append_app(&record, &filter);
+               if (ret != TASK_MGR_ERROR_NONE)
+                       _W("Could not find or append application to the pkg list");
        }
 
-       if (!eina_list_count(*pkg_list)) {
-               _D("list is empty.");
-               _pkglist_unretrieve_item(default_info);
-               return TASK_MGR_ERROR_NO_DATA;
+       rua_history_unload_db(&table);
+       app_info_filter_destroy(filter);
 
-       }
+       if (rua_fini())
+               _E("rua_fini failed");
 
        return TASK_MGR_ERROR_NONE;
 }
 
-
-
-extern void list_destroy(Eina_List *pkg_list)
+void list_destroy(Eina_List *pkg_list)
 {
        _D("");
        list_type_default_s *default_info = NULL;
 
-       _destroy_pkginfo_table();
-
        if (!pkg_list) {
                _D("pkg_list is null");
                return;
        }
 
        EINA_LIST_FREE(pkg_list, default_info) {
-               if (!default_info) {
+               if (!default_info)
                        continue;
-               }
+
                _pkglist_unretrieve_item(default_info);
        }
 
        pkg_list = NULL;
-       rua_fini();
 }
index 25f26f8..78f0658 100644 (file)
@@ -1,26 +1,22 @@
 /*
- *  Task Manager
+ * Task Manager
+ * Copyright (c) 2013 Samsung Electronics Co., Ltd.
  *
- * Copyright (c) 2000 - 2015 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed under the Flora License, Version 1.1 (the License);
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://floralicense.org/license/
  *
  * 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.
- *
  */
 
 #include <app.h>
-#include <appcore-efl.h>
 #include <Elementary.h>
-#include <aul.h>
 #include <malloc.h>
 
 #include "conf.h"
@@ -41,21 +37,20 @@ static main_s main_info = {
        .scroller = NULL,
        .box = NULL,
        .pkg_list = NULL,
-
+       .index = NULL,
+       .circle_surface = NULL,
+       .is_scrolled = EINA_FALSE,
+       .icon_move = EINA_FALSE,
        .root_w = 0,
        .root_h = 0,
+       .cur_page = 0,
 };
-//main_h main_info_h = &main_info;
 
-
-
-extern main_h main_get_info(void)
+main_h main_get_info(void)
 {
        return &main_info;
 }
 
-
-
 static Eina_Bool _back_key_pressed(void *data, Evas_Object *obj, Evas_Object *src, Evas_Callback_Type type, void *event_info)
 {
        _D("");
@@ -71,53 +66,49 @@ static Eina_Bool _back_key_pressed(void *data, Evas_Object *obj, Evas_Object *sr
        }
 }
 
-
-
-static task_mgr_error_e _create_layout(Evas_Object *parent)
+static task_mgr_error_e _create_layout(void *data)
 {
        _D("");
+       main_h main_info = data;
        Evas_Object *layout = NULL;
-       Evas_Object *rect = NULL;
        Eina_Bool ret = EINA_FALSE;
 
        // create layout
-       layout = elm_layout_add(parent);
-       goto_if (!layout, ERROR);
+       layout = elm_layout_add(main_info->win);
+       goto_if(!layout, ERROR);
+
+       char edje_path[PATH_MAX] = {0, };
+       int res = 0;
+       res = getEdjepath(LAYOUT, edje_path, sizeof(edje_path));
+       goto_if(res < 0, ERROR);
+       _D("edje_path is : %s", edje_path);
+       ret = elm_layout_file_set(layout, edje_path, "taskmanager-main");
 
-       ret = elm_layout_file_set(layout, LAYOUT, "layout");
        goto_if(EINA_FALSE == ret, ERROR);
 
        evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
        evas_object_move(layout, 0, 0);
-       evas_object_resize(layout, main_info.root_w, main_info.root_h);
+       evas_object_resize(layout, main_info->root_w, main_info->root_h);
        evas_object_show(layout);
 
-       main_info.layout = layout;
-
-       // create layout bg
-       rect = evas_object_rectangle_add(evas_object_evas_get(layout));
-       evas_object_size_hint_min_set(rect, main_info.root_w, main_info.root_h);
-       evas_object_size_hint_weight_set(rect, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       evas_object_resize(rect, main_info.root_w, main_info.root_h);
-       evas_object_color_set(rect, 0, 0, 0, 0);
-       evas_object_show(rect);
-       elm_object_part_content_set(layout, BG_PART_NAME, rect);
+       main_info->layout = layout;
 
        // create scroller
-       main_info.scroller = scroller_create(layout);
-       goto_if(!main_info.scroller, ERROR);
+       main_info->scroller = scroller_create(main_info);
+       goto_if(!main_info->scroller, ERROR);
 
        return TASK_MGR_ERROR_NONE;
 
 ERROR:
-       if (layout) evas_object_del(layout);
-       if (main_info.bg) evas_object_del(main_info.bg);
-       evas_object_del(main_info.win);
+       if (layout) {
+               evas_object_del(layout);
+               layout = NULL;
+               }
+       evas_object_del(main_info->win);
+       main_info->win = NULL;
        return TASK_MGR_ERROR_FAIL;
 }
 
-
-
 static void _destroy_layout(void)
 {
        Evas_Object *rect = NULL;
@@ -126,61 +117,55 @@ static void _destroy_layout(void)
                rect = elm_object_part_content_unset(main_info.layout, BG_PART_NAME);
                if (rect) {
                        evas_object_del(rect);
+                       rect = NULL;
                }
                evas_object_del(main_info.layout);
                main_info.layout = NULL;
        }
 }
 
-
-
 static Eina_Bool _list_timer_cb(void *data)
 {
        _D("");
-       Evas_Object *clear_item = NULL;
        task_mgr_error_e ret = TASK_MGR_ERROR_NONE;
 
        if (main_info.pkg_list) {
                _D("Already loaded");
                goto END;
        }
-
-       clear_item = item_clear_all_create(main_info.scroller);
-       if (!clear_item) {
-               _E("Fail to create clear all button");
-               return ECORE_CALLBACK_CANCEL;
+       ret = list_create();
+       if (ret != TASK_MGR_ERROR_NONE) {
+               _E("Could not initialize list module");
+               goto END;
        }
-       scroller_push_item(main_info.scroller, clear_item);
-
-       ret = list_create(&main_info.pkg_list);
-               elm_object_part_text_set(main_info.layout, "no,apps,txt", _("IDS_TASKMGR_NPBODY_NO_APPLICATIONS_ABB2"));
-       if (TASK_MGR_ERROR_NO_DATA == ret) {
-               _D("There is no application");
-               item_clear_set_disable(main_info.scroller);
-       } else if (TASK_MGR_ERROR_NONE != ret) {
-               _E("Fail to create pkglist");
+
+       main_info.pkg_list = list_pkg_list_get();
+       _D("List count: %d", eina_list_count(main_info.pkg_list));
+
+       if (!main_info.pkg_list) {
+               _E("pkg_list is empty");
+               elm_layout_signal_emit(main_info.layout, "show,txt.no_apps", "txt.no_apps");
+               elm_object_part_text_set(main_info.layout, "txt.no_apps", "No recent apps");
+               elm_object_part_text_set(main_info.layout, "txt.recent_title", "Recent apps");
                goto END;
        }
 
-       goto_if(TASK_MGR_ERROR_NONE != scroller_push_all_item(main_info.scroller, main_info.pkg_list), END);
+       goto_if(TASK_MGR_ERROR_NONE != scroller_push_all_item(&main_info), END);
 
 END:
        evas_object_data_del(main_info.win, PRIVATE_DATA_KEY_LIST_TIMER);
        return ECORE_CALLBACK_CANCEL;
 }
 
-
-
 static bool _create_cb(void *data)
 {
        _D("");
 
        Ecore_Timer *timer = NULL;
-
        main_info.win = elm_win_add(NULL, "Task-mgr", ELM_WIN_BASIC);
        retv_if(!main_info.win, false);
 
-       elm_app_base_scale_set(2.6);
+       elm_app_base_scale_set(1.3);
        elm_win_screen_size_get(main_info.win, NULL, NULL, &main_info.root_w, &main_info.root_h);
        _D("screen size is (%d, %d)", main_info.root_w, main_info.root_h);
 
@@ -194,29 +179,25 @@ static bool _create_cb(void *data)
 
        main_info.e = evas_object_evas_get(main_info.win);
 
-       if (_create_layout(main_info.win) != TASK_MGR_ERROR_NONE) {
+       if (_create_layout(&main_info) != TASK_MGR_ERROR_NONE) {
                _E("Failed to create a layout");
                return false;
        }
-
+       elm_win_resize_object_add(main_info.win, main_info.layout);
        //create the list
        timer = evas_object_data_get(main_info.win, PRIVATE_DATA_KEY_LIST_TIMER);
-       if (timer) {
+       if (timer)
                ecore_timer_del(timer);
-       }
 
        timer = ecore_timer_add(0.001f, _list_timer_cb, NULL);
-       if (timer) {
+       if (timer)
                evas_object_data_set(main_info.win, PRIVATE_DATA_KEY_LIST_TIMER, timer);
-       } else {
+       else
                _E("Cannot add a create list timer");
-       }
 
        return true;
 }
 
-
-
 static void _terminate_cb(void *data)
 {
        _D("");
@@ -227,8 +208,6 @@ static void _terminate_cb(void *data)
 
        elm_cache_all_flush();
        malloc_trim(0);
-       appcore_flush_memory();
-
        scroller_destroy(main_info.scroller);
        _destroy_layout();
 
@@ -236,41 +215,30 @@ static void _terminate_cb(void *data)
         * Even though the window is deleted automatically,
         * It is good habit to delete window explicitly by your hands.
         */
-
        if (main_info.win) {
                evas_object_del(main_info.win);
                main_info.win = NULL;
        }
 }
 
-
-
 static void _app_control(app_control_h service, void *data)
 {
        _D("");
-
        return;
 }
 
-
-
 static void _pause_cb(void *data)
 {
        _D("");
-
-       elm_exit();
+       end_taskmanager(data, EINA_TRUE);
        return;
 }
 
-
-
 static void _language_changed(app_event_info_h event_info, void *data)
 {
        _D("");
 }
 
-
-
 int main(int argc, char **argv)
 {
        int ret;
index 1b0cb00..06f175e 100644 (file)
 /*
- *  Task Manager
+ * Task Manager
+ * Copyright (c) 2013 Samsung Electronics Co., Ltd.
  *
- * Copyright (c) 2000 - 2015 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed under the Flora License, Version 1.1 (the License);
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://floralicense.org/license/
  *
  * 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.
- *
  */
 
- #include <Elementary.h>
+#include <Elementary.h>
 
- #include "conf.h"
- #include "item.h"
- #include "list.h"
- #include "log.h"
- #include "main.h"
- #include "scroller.h"
- #include "util.h"
+#include "conf.h"
+#include "item.h"
+#include "list.h"
+#include "log.h"
+#include "main.h"
+#include "scroller.h"
+#include "util.h"
 
-#define PRIVATE_DATA_KEY_DRAG "pri_drag"
-#define PRIVATE_DATA_KEY_MOUSE_DOWN "pri_m_dw"
-#define PRIVATE_DATA_KEY_POP_ALL_TIMER "pri_pop_tm"
-#define PRIVATE_DATA_KEY_REVERSE_LIST "pri_re_li"
-#define PRIVATE_DATA_KEY_TERMINATE "pri_tm"
+#define TASK_WIDGET_SIZE_W 216 //220
+#define TASK_WIDGET_SIZE_H 360
+#define TASK_PADDING_SIZE_W 25//19
+#define REVERSE_VALUE 30
+#define REMOVING_VALUE 12
+#define VELOCITY_VALUE 0.45
 
 
-
-extern task_mgr_error_e scroller_push_item(Evas_Object *scroller, Evas_Object *item)
+static inline int __get_msec(struct timeval *s, struct timeval *e)
 {
-       _D("");
-       retv_if(!scroller, TASK_MGR_ERROR_INVALID_PARAMETER);
-       retv_if(!item, TASK_MGR_ERROR_INVALID_PARAMETER);
-
-       Evas_Object *box_layout = NULL;
-       Evas_Object *box = NULL;
-       Eina_List *list = NULL;
-
-       box_layout = elm_object_content_get(scroller);
-       retv_if(!box_layout, TASK_MGR_ERROR_FAIL);
-
-       list = elm_box_children_get(box_layout);
-       retv_if(!list, TASK_MGR_ERROR_FAIL);
+       return (e->tv_sec - s->tv_sec) * 1000 + (e->tv_usec - s->tv_usec + 500) / 1000;
+}
 
-       box = eina_list_nth(list, 0);
-       retv_if(!box, TASK_MGR_ERROR_FAIL);
+void close_button_disabled_set(Eina_Bool is_disabled)
+{
+       main_h main_info = main_get_info();
 
-       eina_list_free(list);
+       if (is_disabled)
+               elm_object_signal_emit(main_info->layout, "set,close,default", "close.bg");
+       else {
+               elm_object_signal_emit(main_info->layout, "set,close,show", "close.bg");
+               elm_object_part_text_set(main_info->layout, "close_all_text", "CLOSE ALL");
+       }
+}
+void set_freeze_scroller()
+{
+       main_h main_info = main_get_info();
+       ret_if(main_info == NULL);
+       ret_if(main_info->scroller == NULL);
+       ret_if(main_info->box == NULL);
 
-       elm_box_pack_end(box, item);
+       elm_object_scroll_freeze_push(main_info->box);
+}
 
-       return TASK_MGR_ERROR_NONE;
+static Eina_Bool _quit_cb(void *data)
+{
+       elm_exit();
+       return EINA_FALSE;
 }
 
+int taskmanager_get_count(void *data)
+{
+       main_h main_info = data;
+       retv_if(main_info == NULL, 0);
 
+       return (eina_list_count(main_info->pkg_list));
+}
 
-extern void scroller_pop_item(Evas_Object *scroller, Evas_Object *item, int terminate)
+int end_taskmanager(void *data, Eina_Bool is_direct)
 {
-       ret_if(!scroller);
-       ret_if(!item);
+       _D("[ == %s == ]", __func__);
+       struct main_s *ad = data;
+       retv_if(ad == NULL, -1);
 
-       Evas_Object *box_layout = NULL;
-       Evas_Object *box = NULL;
-       Evas_Object *tmp_item = NULL;
+       if (is_direct)
+               elm_exit();
+       else
+               ecore_timer_add(0.2, _quit_cb, NULL);
 
-       Eina_List *box_list = NULL;
-       Eina_List *list = NULL;
-       const Eina_List *l = NULL;
-       const Eina_List *ln = NULL;
-
-       box_layout = elm_object_content_get(scroller);
-       ret_if(!box_layout);
+       set_freeze_scroller();
+       return 0;
+}
 
-       box_list = elm_box_children_get(box_layout);
-       ret_if(!box_list);
+static void __close_all_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+       _D("[ == %s == ]", __func__);
+       main_h main_info = data;
 
-       box = eina_list_nth(box_list, 0);
-       ret_if(!box);
+       taskmanager_remove_all_task_info(main_info);
+       end_taskmanager(main_info, EINA_TRUE);
+}
 
-       eina_list_free(box_list);
+static void _delete_all_btn_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+       main_h main_info = data;
+       ret_if(main_info == NULL);
+       _D("[ == %s == ]", __func__);
 
-       list = elm_box_children_get(box);
-       ret_if(!list);
+       set_freeze_scroller();
 
-       EINA_LIST_FOREACH_SAFE(list, l, ln, tmp_item) {
-               if (item != tmp_item) continue;
-               if (terminate) item_terminate(item);
+       Eina_List *list = elm_box_children_get(main_info->box);
+       int h_p, v_p;
+       elm_scroller_current_page_get(main_info->scroller, &h_p, &v_p);
+       Evas_Object *prev_widget = NULL;
+       Evas_Object *curr_widget = NULL;
+       Evas_Object *next_widget = NULL;
+       if (h_p >= 1)
+               prev_widget = eina_list_nth(list, h_p-1);
 
-               elm_box_unpack(box, item);
-               item_destroy(item);
-               break;
-       }
-       eina_list_free(list);
-}
+       if (h_p < eina_list_count(list))
+               next_widget = eina_list_nth(list, h_p+1);
 
+       curr_widget = eina_list_nth(list, h_p);
 
+       if (prev_widget)
+               elm_object_signal_emit(prev_widget, "closeall", "bg");
 
-extern task_mgr_error_e scroller_push_all_item(Evas_Object *scroller, Eina_List *list)
-{
-       const Eina_List *l = NULL;
-       const Eina_List *ln = NULL;
-       list_type_default_s *info = NULL;
-       Evas_Object *item = NULL;
+       if (next_widget)
+               elm_object_signal_emit(next_widget, "closeall", "bg");
 
-       if (!list) {
-               _D("No app in the history list");
-               return TASK_MGR_ERROR_NONE;
-       }
-
-       EINA_LIST_FOREACH_SAFE(list, l, ln, info) {
-               if (!info) continue;
-               item = item_create(scroller, info);
-               continue_if(!item);
-               scroller_push_item(scroller, item);
+       if (curr_widget) {
+               elm_object_signal_callback_add(curr_widget, "closeall_end", "closeall", __close_all_cb , main_info);
+               elm_object_signal_emit(curr_widget, "closeall_center", "bg");
        }
 
-       return TASK_MGR_ERROR_NONE;
+       elm_object_signal_emit(main_info->layout, "closeall", "bg");
 }
 
-
-
-static Eina_Bool _pop_all_item_cb(void *data)
+Eina_Bool __check_velocity(void *data)
 {
-       Evas_Object *scroller = data;
-       Evas_Object *item = NULL;
-       Eina_List *list = NULL;
-       static int i = 0;
-       int count = 0;
-       int terminate = (int) evas_object_data_get(scroller, PRIVATE_DATA_KEY_TERMINATE);
-
-       list = evas_object_data_get(scroller, PRIVATE_DATA_KEY_REVERSE_LIST);
-       goto_if(!list, END);
+       main_h main_info = data;
+       int x = abs(main_info->posy[POS_UP] - main_info->posy[POS_DOWN]);
+       int t = __get_msec(&(main_info->postime[POS_DOWN]), &(main_info->postime[POS_UP]));
+       double v = (double)x/t;
 
-       count = eina_list_count(list);
-       _D("remove list count(include clear button) : %d", count);
-       if (i >= count-1) goto END;
+       _D("moving distance [%d]!!!!!!", x);
 
-       item = eina_list_nth(list, i);
-       i++;
-       goto_if(!item, END);
+       if (x > REVERSE_VALUE + 10)
+               return EINA_TRUE;
 
-       scroller_pop_item(scroller, item, terminate);
-       return ECORE_CALLBACK_RENEW;
-
-END:
-       i = 0;
-       eina_list_free(list);
-       evas_object_data_del(scroller, PRIVATE_DATA_KEY_REVERSE_LIST);
-       evas_object_data_del(scroller, PRIVATE_DATA_KEY_TERMINATE);
-       evas_object_data_del(scroller, PRIVATE_DATA_KEY_POP_ALL_TIMER);
-       item_clear_set_disable(scroller);
-
-       return ECORE_CALLBACK_CANCEL;
+       if (v > VELOCITY_VALUE)
+               return EINA_TRUE;
+       else
+               return EINA_FALSE;
 }
 
+void unset_freeze_scroller(void *data)
+{
+       main_h main_info = data;
+       ret_if(main_info == NULL);
+       ret_if(main_info->scroller == NULL);
+       ret_if(main_info->box == NULL);
 
+       while (elm_object_scroll_freeze_get(main_info->box))
+               elm_object_scroll_freeze_pop(main_info->box);
+}
 
-extern void scroller_pop_all_item(Evas_Object *scroller, int terminate)
+void __set_layout_color(Evas_Object *obj, int color)
 {
-       Evas_Object *box_layout = NULL;
-       Evas_Object *box = NULL;
-       Eina_List *box_list = NULL;
-       Eina_List *list = NULL;
-       Eina_List *reverse_list = NULL;
-       Ecore_Timer *timer = NULL;
+       Evas_Object *eo = (Evas_Object*)edje_object_part_object_get(elm_layout_edje_get(obj), "color_clipper");
+       if (eo)
+               evas_object_color_set(eo, color, color, color, color);
+       else
+               _E("edje_object_part_object_get() failed");
+}
 
-       ret_if(!scroller);
+static Eina_Bool __reverse_animator_cb(void *data)
+{
+       int ox = 0, oy = 0, oh = 0, ow = 0;
+       int distance = 0;
+       int color = 0;
+       main_h main_info = data;
+       retv_if(main_info == NULL, EINA_FALSE);
+
+       evas_object_geometry_get(main_info->moving_widget, &ox, &oy, &oh, &ow);
+       //distance = abs(ox) - REVERSE_VALUE;
+       distance = abs(oy) - REVERSE_VALUE;
+       if (distance <= 0)
+               distance = 0;
+
+       if (oy >= 0)
+               evas_object_move(main_info->moving_widget, ox, distance);
+       else
+               evas_object_move(main_info->moving_widget, ox, (-1)*distance);
+
+       color = (int)(FACTOR_A * distance + FACTOR_B);
+       __set_layout_color(main_info->moving_widget, color);
+
+       if (distance <= 0) {
+               ecore_animator_del(main_info->reverse_animator);
+               main_info->reverse_animator = NULL;
+               unset_freeze_scroller(main_info);
+               return EINA_FALSE;
+       } else
+               return EINA_TRUE;
+}
 
-       timer = evas_object_data_del(scroller, PRIVATE_DATA_KEY_POP_ALL_TIMER);
-       if (timer) {
-               _D("There is already a timer for popping all items.");
-               ecore_timer_del(timer);
+void __set_reverse_animation(void *data, Evas_Object *obj)
+{
+       int ox = 0, oy = 0, oh = 0, ow = 0;
+       main_h main_info = data;
+       ret_if(main_info == NULL);
+
+       main_info->moving_widget = obj;
+       main_info->reverse_animator = ecore_animator_add(__reverse_animator_cb, data);
+       if (main_info->reverse_animator == NULL) {
+               _E("ecore_animator_add() failed");
+               evas_object_geometry_get(obj, &ox, &oy, &oh, &ow);
+               evas_object_move(obj, 0, oy);
+               __set_layout_color(obj, 255);
+               main_info->moving_widget = NULL;
+               /* unfreeze */
+               unset_freeze_scroller(main_info);
        }
+}
 
-       /* An user tap the end all button, all items have to be terminated even if paused. */
-       if (!evas_object_data_get(scroller, PRIVATE_DATA_KEY_TERMINATE)) {
-               evas_object_data_set(scroller, PRIVATE_DATA_KEY_TERMINATE, (void *) terminate);
+Eina_Bool _deleting_animator_cb(void *data, double pos)
+{
+       main_h main_info = data;
+       retv_if(main_info == NULL, EINA_FALSE);
+
+       Evas_Coord x = 0, y = 0, w = 0, h = 0;
+       evas_object_geometry_get(main_info->box, &x, &y, &w, &h);
+
+       Eina_List *list_children = elm_box_children_get(main_info->box);
+       Eina_List *l = NULL;
+       Evas_Object *obj = NULL;
+       int order_children = 0;
+       int is_found = 0;
+       EINA_LIST_FOREACH(list_children, l, obj) {
+               if (obj == main_info->moving_widget)
+                       is_found = 1;
+               if (is_found == 0)
+                       evas_object_move(obj, x + ((TASK_WIDGET_SIZE_W + TASK_PADDING_SIZE_W) * order_children++), y);
+               else if (is_found == 1) {
+                       is_found = 2;
+                       order_children++;
+               } else if (is_found == 2) {
+                       evas_object_move(obj, x + ((TASK_WIDGET_SIZE_W + TASK_PADDING_SIZE_W) * (order_children) - (TASK_WIDGET_SIZE_W + TASK_PADDING_SIZE_W)*pos), y);
+                       ++order_children;
+               }
        }
-
-       box_layout = elm_object_content_get(scroller);
-       ret_if(!box_layout);
-
-       box_list = elm_box_children_get(box_layout);
-       ret_if(!box_list);
-
-       box = eina_list_nth(box_list, 0);
-       ret_if(!box);
-
-       eina_list_free(box_list);
-
-       list = elm_box_children_get(box);
-       if (!list) return;
-
-       /* This reverse list should be freed in the timer */
-       reverse_list = eina_list_reverse_clone(list);
-       eina_list_free(list);
-       ret_if(!reverse_list);
-       evas_object_data_set(scroller, PRIVATE_DATA_KEY_REVERSE_LIST, reverse_list);
-
-       timer = ecore_timer_add(0.01f, _pop_all_item_cb, scroller);
-       if (!timer) {
-               _E("Cannot add a timer");
-               evas_object_data_del(scroller, PRIVATE_DATA_KEY_REVERSE_LIST);
-               evas_object_data_del(scroller, PRIVATE_DATA_KEY_TERMINATE);
-               eina_list_free(reverse_list);
-               return;
+       eina_list_free(list_children);
+       if (pos < 1.0)
+               return EINA_TRUE;
+       else {
+               elm_box_unpack(main_info->box, main_info->moving_widget);
+               evas_object_data_del(main_info->moving_widget, DATA_KEY_ITEM_INFO);
+               evas_object_del(main_info->moving_widget);
+               unset_freeze_scroller(main_info);
+               main_info->moving_widget = NULL;
+               main_info->reverse_animator = NULL;
+               return EINA_FALSE;
        }
-
-       evas_object_data_set(scroller, PRIVATE_DATA_KEY_POP_ALL_TIMER, timer);
 }
-
-
-
-extern int scroller_count(Evas_Object *scroller)
+static Eina_Bool __removing_animator_cb(void *data)
 {
-       Evas_Object *box_layout = NULL;
-       Evas_Object *box = NULL;
-       Eina_List *box_list = NULL;
-       Eina_List *list = NULL;
-
-       retv_if(!scroller, 0);
-
-       box_layout = elm_object_content_get(scroller);
-       retv_if(!box_layout, 0);
-
-       box_list = elm_box_children_get(box_layout);
-       retv_if(!box_list, 0);
-
-       box = eina_list_nth(box_list, 0);
-       retv_if(!box, 0);
-
-       eina_list_free(box_list);
-
-       list = elm_box_children_get(box);
-       if (!list) {
-               _D("list is null");
-               return 0;
+       int ox = 0, oy = 0, oh = 0, ow = 0;
+       int distance = 0;
+       int color = 0;
+       list_type_default_s *task = NULL;
+       main_h main_info = data;
+       retv_if(main_info == NULL, EINA_FALSE);
+
+       if (main_info->moving_widget == NULL) {
+               ecore_animator_del(main_info->reverse_animator);
+               main_info->reverse_animator = NULL;
+               return EINA_FALSE;
        }
 
-       return eina_list_count(list);
+       evas_object_geometry_get(main_info->moving_widget, &ox, &oy, &ow, &oh);
+
+       if (main_info->deleteX != ox) {
+               _D(" position is changed in the middle of animation, so adjust x, y position") ;
+               ox = main_info->deleteX ;
+               oy = main_info->deleteY ;
+       } else
+               main_info->deleteY = oy ;
+
+       distance = abs(oy) + REMOVING_VALUE;
+       if (distance >= main_info->root_h/2)
+               distance = main_info->root_h/2;
+
+       if (oy >= 0)
+               evas_object_move(main_info->moving_widget, ox, distance);
+       else
+               evas_object_move(main_info->moving_widget, ox, (-1)*distance);
+
+       color = (int)(FACTOR_A * distance + FACTOR_B);
+       __set_layout_color(main_info->moving_widget, color);
+
+       if (distance >= main_info->root_h/2) {
+               ecore_animator_del(main_info->reverse_animator);
+               main_info->reverse_animator = NULL;
+
+               task = evas_object_data_get(main_info->moving_widget, DATA_KEY_ITEM_INFO);
+               if (task) {
+                       _D("removed (%s)", task->name);
+                       item_terminate(main_info->moving_widget);
+                       elm_box_unpack(main_info->box, main_info->moving_widget);
+                       item_destroy(main_info->moving_widget);
+                       index_refresh(main_info);
+               }
+               elm_box_unpack(main_info->box, main_info->moving_widget);
+               evas_object_data_del(main_info->moving_widget, DATA_KEY_ITEM_INFO);
+               evas_object_del(main_info->moving_widget);
+               main_info->moving_widget = NULL;
+
+               /* checking num : end taskmanager */
+               if (taskmanager_get_count(main_info) == 0)
+                       end_taskmanager(main_info, EINA_FALSE);
+
+               unset_freeze_scroller(main_info);
+               main_info->deleteX = 0 ;
+               main_info->deleteY = 0 ;
+               return EINA_FALSE;
+       } else
+               return EINA_TRUE;
 }
 
-
-
-extern Eina_Bool scroller_is_scrolling(Evas_Object *scroller)
+void __set_remove_animation(void *data, Evas_Object *obj)
 {
-       return evas_object_data_get(scroller, DATA_KEY_IS_SCROLLING)? EINA_TRUE:EINA_FALSE;
+       list_type_default_s *task = NULL;
+       main_h main_info = data;
+       ret_if(main_info == NULL);
+       ret_if(obj == NULL);
+
+       main_info->moving_widget = obj;
+       main_info->reverse_animator = ecore_animator_add(__removing_animator_cb, data);
+       if (main_info->reverse_animator == NULL) {
+               _E("ecore_animator_add() failed");
+
+               elm_box_unpack(main_info->box, obj);
+               evas_object_data_del(main_info->moving_widget, DATA_KEY_ITEM_INFO);
+               evas_object_del(main_info->moving_widget);
+               main_info->moving_widget = NULL;
+               unset_freeze_scroller(main_info);
+               close_button_disabled_set(EINA_TRUE);
+               end_taskmanager(main_info, EINA_FALSE);
+       }
 }
 
-
-
-extern void scroller_freeze(Evas_Object *scroller)
+void _index_sync(void *data)
 {
-       Evas_Object *box_layout = NULL;
-       Evas_Object *box = NULL;
-       Eina_List *list = NULL;
+       main_h main_info = data;
+       ret_if(main_info == NULL);
+       ret_if(main_info->index == NULL);
 
-       ret_if(!scroller);
+       int cur_page = -1;
+       elm_scroller_current_page_get(main_info->scroller, &cur_page, NULL);
 
-       box_layout = elm_object_content_get(scroller);
-       ret_if(!box_layout);
-
-       list = elm_box_children_get(box_layout);
-       ret_if(!list);
-
-       box = eina_list_nth(list, 0);
-       ret_if(!box);
-
-       eina_list_free(list);
-
-       elm_object_scroll_freeze_push(box);
-}
+       int num_index = eina_list_count(main_info->pkg_list);
+       _D("cur_page: %d List Count: %d", cur_page, num_index);
+       if (num_index == cur_page)
+               --cur_page;
 
+       int diff = 0;
+       if (num_index > 19)
+               diff = num_index - 19;
 
+       Elm_Object_Item *it = NULL;
+       if (diff > 0 && cur_page > 8) {
+               if (cur_page-diff < 10)
+                       it = elm_index_item_find(main_info->index, (void*)(9));
+               else
+                       it = elm_index_item_find(main_info->index, (void*)(cur_page-diff));
 
-extern void scroller_unfreeze(Evas_Object *scroller)
-{
-       Evas_Object *box_layout = NULL;
-       Evas_Object *box = NULL;
-       Eina_List *list = NULL;
-
-       ret_if(!scroller);
+       } else
+               it = elm_index_item_find(main_info->index, (void*)cur_page);
 
-       box_layout = elm_object_content_get(scroller);
-       ret_if(!box_layout);
+       _D("index(%d) it(%p)", cur_page, it);
 
-       list = elm_box_children_get(box_layout);
-       ret_if(!list);
+       if (it)
+               elm_index_item_selected_set(it, EINA_TRUE);
 
-       box = eina_list_nth(list, 0);
-       ret_if(!box);
+       Eina_List *list = elm_box_children_get(main_info->box);
+       Evas_Object *curr_widget = NULL;
+       curr_widget = eina_list_nth(list, cur_page);
 
+       Evas_Object *label = elm_object_part_content_get(curr_widget, "txt.app_name");
+       if (label)
+               elm_label_slide_go(label);
        eina_list_free(list);
-
-       while (elm_object_scroll_freeze_get(box)) {
-               elm_object_scroll_freeze_pop(box);
-       }
 }
 
+void index_create(void *data)
+{
+       main_h main_info = data;
+       ret_if(main_info == NULL);
+       ret_if(main_info->index == NULL);
+
+       int i, num_index;
+       num_index = eina_list_count(main_info->pkg_list);
+
+       if (num_index > 19)
+               num_index = 19;
+
+       int is_odd = num_index%2;
+       Elm_Object_Item *it = NULL;
+
+       for (i = 0; i < num_index; ++i) {
+               it = elm_index_item_append(main_info->index, NULL, NULL, (void *) i);
+               if (is_odd) {
+                       _D("style(%s)", style_odd[9-(num_index/2)+i]);
+                       elm_object_item_style_set(it, style_odd[9-(num_index/2)+i]);
+               } else {
+                       _D("style(%s)", style_even[10-(num_index/2)+i]);
+                       elm_object_item_style_set(it, style_even[10-(num_index/2)+i]);
+               }
+       }
 
+       elm_index_level_go(main_info->index, 0);
+       _index_sync(main_info);
+}
 
-static void _mouse_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+void index_refresh(void *data)
 {
-       _D("Mouse is down");
-       evas_object_data_set(obj, PRIVATE_DATA_KEY_MOUSE_DOWN, (void *) 1);
-}
+       main_h main_info = data;
+       ret_if(main_info == NULL);
+       ret_if(main_info->index == NULL);
 
+       int num_index;
 
+       num_index = eina_list_count(main_info->pkg_list);
+       _D("num_index(%d)", num_index);
 
-static void _mouse_up_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
-       _D("Mouse is up");
-       evas_object_data_del(obj, PRIVATE_DATA_KEY_MOUSE_DOWN);
-       if (evas_object_data_get(obj, PRIVATE_DATA_KEY_DRAG)) return;
-       evas_object_data_del(obj, DATA_KEY_IS_SCROLLING);
+       elm_index_item_clear(main_info->index);
+       if (num_index >= 1)
+               index_create(main_info);
 }
 
+task_mgr_error_e scroller_push_all_item(void *data)
+{
+       main_h main_info = data;
+       const Eina_List *l = NULL;
+       list_type_default_s *info = NULL;
+       Evas_Object *item = NULL;
 
+       if (!main_info->pkg_list) {
+               _D("No app in the history list");
+               return TASK_MGR_ERROR_NONE;
+       }
 
-static void _anim_start_cb(void *data, Evas_Object *scroller, void *event_info)
-{
-       _D("start the scroller animation");
-       evas_object_data_set(scroller, DATA_KEY_IS_SCROLLING, (void *) 1);
-}
+       EINA_LIST_FOREACH(main_info->pkg_list, l, info) {
+               if (!info)
+                       continue;
 
+               item = item_create(main_info, info);
+               continue_if(!item);
+               evas_object_resize(item, main_info->root_w, main_info->root_h);
+               elm_box_pack_start(main_info->box, item);
+       }
+       if (eina_list_count(main_info->pkg_list) == 0) {
+               /* set no count */
+               close_button_disabled_set(EINA_TRUE);
+               elm_object_signal_emit(main_info->layout, "show,txt.no_apps", "txt.no_apps");
+               elm_object_part_text_set(main_info->layout, "txt.no_apps", "No recent apps");
+               elm_object_part_text_set(main_info->layout, "txt.recent_title", "Recent apps");
+       } else {
+       //      elm_object_signal_emit(main_info->layout, "set,unblock", "blocking");
+               close_button_disabled_set(EINA_FALSE);
+               index_create(main_info);
+       }
 
+       return TASK_MGR_ERROR_NONE;
+}
 
-static void _anim_stop_cb(void *data, Evas_Object *scroller, void *event_info)
+static void _br_scroller_scrolled_cb(void *data, Evas_Object *scroller, void *event_info)
 {
-       _D("stop the scroller animation");
-       if (evas_object_data_get(scroller, PRIVATE_DATA_KEY_MOUSE_DOWN)) return;
-       evas_object_data_del(scroller, DATA_KEY_IS_SCROLLING);
+       int cur_page = -1;
+       main_h main_info = data;
+       ret_if(main_info == NULL);
+       elm_scroller_current_page_get(main_info->scroller, &cur_page, NULL);
+       if (main_info->cur_page != cur_page) {
+               main_info->cur_page = cur_page;
+               _index_sync(main_info);
+       }
 }
 
-
-
-static void _drag_start_cb(void *data, Evas_Object *scroller, void *event_info)
+static void _br_scroller_drag_start_cb(void *data, Evas_Object *scroller, void *event_info)
 {
-       _D("start to drag the scroller animation");
-       evas_object_data_set(scroller, PRIVATE_DATA_KEY_DRAG, (void *) 1);
-}
+       _D("drag starts");
+       main_h main_info = data;
+       ret_if(main_info == NULL);
 
+       main_info->is_scrolled = EINA_TRUE;
+}
+static void _br_scroller_ani_start_cb(void *data, Evas_Object *scroller, void *event_info)
+{
+       _D("animation starts");
 
+}
 
-static void _drag_stop_cb(void *data, Evas_Object *scroller, void *event_info)
+static void _br_scroller_ani_stop_cb(void *data, Evas_Object *scroller, void *event_info)
 {
-       _D("stop to drag the scroller animation");
-       evas_object_data_del(scroller, PRIVATE_DATA_KEY_DRAG);
+       _D("animation stoped");
 }
 
+static void _box_layout_cb(Evas_Object *o, Evas_Object_Box_Data *priv, void *data)
+{
+       main_h main_info = data;
+       ret_if(main_info == NULL);
 
+       Evas_Coord x = 0, y = 0, w = 0, h = 0;
+       int n_children = 0;
+       Evas_Object_Box_Option *opt = NULL;
 
-static void _scroll_cb(void *data, Evas_Object *scroller, void *event_info)
-{
-       evas_object_data_set(scroller, DATA_KEY_IS_SCROLLING, (void *) 1);
-}
+       evas_object_geometry_get(o, &x, &y, &w, &h);
+       _D("X: %d, Y: %d, W: %d, H: %d", x, y, w, h);
+       if (main_info->icon_move == EINA_TRUE)
+               return;
 
+       n_children = eina_list_count(priv->children);
+       if (n_children == 0)
+               return;
 
+       opt = eina_list_data_get(priv->children);
+       if (opt == NULL)
+               return;
 
-static void __resize_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
-       Evas_Object *scroller = obj;
+       if (opt->obj == NULL)
+               return;
 
-       int x, y, w, h;
+       list_type_default_s *info = item_get_info(opt->obj);
+       int size_w = (n_children) * (TASK_WIDGET_SIZE_W + TASK_PADDING_SIZE_W) + 47 + TASK_PADDING_SIZE_W + 47;
+       evas_object_size_hint_min_set(o, size_w, -1);
 
-       ret_if(!scroller);
+       Eina_List *l = NULL;
+       int order_children = 0;
 
-       evas_object_geometry_get(scroller, &x, &y, &w, &h);
-       _D("%s resize(%d, %d, %d, %d)", data, x, y, w, h);
+       EINA_LIST_FOREACH(priv->children, l, opt) {
+               evas_object_move(opt->obj, x + ((TASK_WIDGET_SIZE_W + TASK_PADDING_SIZE_W) * order_children++), y);
+       }
 }
 
+/*
+static void _scroller_scroll_cb(void *data, Evas_Object *scroller, void *event_info)
+{
+       int page_no = -1;
+       main_h main_info = data;
+       ret_if(!main_info);
+       elm_scroller_current_page_get(main_info->scrollers, &page_no, NULL);
+//     Saved.previous_page = page_no;
+}
+*/
 
 
-extern Evas_Object *scroller_create(Evas_Object *layout)
+Evas_Object *scroller_create(void *data)
 {
-       retv_if(!layout, NULL);
+       main_h main_info = data;
+       retv_if(!main_info, NULL);
 
        Evas_Object *box = NULL;
-       Evas_Object *box_layout = NULL;
-       Evas_Object *rect = NULL;
+       Evas_Object *index = NULL;
+       Evas_Object *circle_scroller = NULL;
        Evas_Object *scroller = NULL;
 
-       scroller = elm_scroller_add(layout);
+       scroller = elm_scroller_add(main_info->layout);
        retv_if(!scroller, NULL);
-
-       elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_FALSE);
+       elm_scroller_content_min_limit(scroller, EINA_FALSE, EINA_TRUE);
+       elm_scroller_bounce_set(scroller, EINA_TRUE, EINA_TRUE);
        elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
+       elm_object_scroll_lock_y_set(scroller, EINA_TRUE);
+//     elm_scroller_page_relative_set(scroller, 1.0, 0.0);
+       elm_scroller_page_scroll_limit_set(scroller, 1, 0);
+       //evas_object_smart_callback_add(scroller, "scroll", _scroller_scroll_cb, main_info);
+       evas_object_smart_callback_add(scroller, "scroll,drag,start", _br_scroller_drag_start_cb, main_info);
+       evas_object_smart_callback_add(scroller, "scroll", _br_scroller_scrolled_cb, main_info);
+       evas_object_smart_callback_add(scroller, "scroll,anim,start", _br_scroller_ani_start_cb, NULL);
+       evas_object_smart_callback_add(scroller, "scroll,anim,stop", _br_scroller_ani_stop_cb, NULL);
+
        elm_object_style_set(scroller, "effect");
+       elm_object_part_content_set(main_info->layout, "list", scroller);
+       elm_scroller_page_size_set(scroller, TASK_WIDGET_SIZE_W + TASK_PADDING_SIZE_W, TASK_WIDGET_SIZE_H);
 
-       elm_object_part_content_set(layout, "scroller", scroller);
        evas_object_show(scroller);
-       evas_object_size_hint_align_set(scroller, 0.5, 1.0);
-
-       evas_object_event_callback_add(scroller, EVAS_CALLBACK_MOUSE_DOWN, _mouse_down_cb, NULL);
-       evas_object_event_callback_add(scroller, EVAS_CALLBACK_MOUSE_UP, _mouse_up_cb, NULL);
-       evas_object_smart_callback_add(scroller, "scroll,anim,start", _anim_start_cb, NULL);
-       evas_object_smart_callback_add(scroller, "scroll,anim,stop", _anim_stop_cb, NULL);
-       evas_object_smart_callback_add(scroller, "scroll,drag,start", _drag_start_cb, NULL);
-       evas_object_smart_callback_add(scroller, "scroll,drag,stop", _drag_stop_cb, NULL);
-       evas_object_smart_callback_add(scroller, "scroll", _scroll_cb, NULL);
-
-       /* Because change an align in box, use the another box betweein box and scroller. */
-       box_layout = elm_box_add(scroller);
-       if (!box_layout) {
-               _E("Fail to create box layout");
-               evas_object_del(scroller);
-               return NULL;
-       }
-       elm_box_horizontal_set(box_layout, EINA_FALSE);
-       elm_box_align_set(box_layout, 0.5, 1.0);
-       evas_object_size_hint_align_set(box_layout, 0.5, 1.0);
-       evas_object_size_hint_weight_set(box_layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       elm_object_content_set(scroller, box_layout);
-       evas_object_show(box_layout);
 
        box = elm_box_add(scroller);
        if (!box) {
                _E("Fail to create box");
-               evas_object_del(box_layout);
                evas_object_del(scroller);
+               scroller = NULL;
                return NULL;
        }
-       elm_box_horizontal_set(box, EINA_FALSE);
-       elm_box_align_set(box, 0.5, 1.0);
-       evas_object_size_hint_align_set(box, 0.5, 1.0);
+       elm_box_horizontal_set(box, EINA_TRUE);
        evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       elm_box_pack_end(box_layout, box);
+       evas_object_size_hint_fill_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
+       elm_object_content_set(scroller, box);
+       elm_box_layout_set(box, _box_layout_cb, main_info, NULL);
        evas_object_show(box);
-       main_get_info()->box = box;
-
-       evas_object_event_callback_add(scroller, EVAS_CALLBACK_RESIZE, __resize_cb, "scroller");
-       evas_object_event_callback_add(box_layout, EVAS_CALLBACK_RESIZE, __resize_cb, "box_layout");
-       evas_object_event_callback_add(box, EVAS_CALLBACK_RESIZE, __resize_cb, "box");
+       main_info->box = box;
+
+       circle_scroller = eext_circle_object_scroller_add(scroller, main_info->circle_surface);
+       eext_circle_object_scroller_policy_set(circle_scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
+       eext_rotary_object_event_activated_set(circle_scroller, EINA_TRUE);
+       evas_object_show(circle_scroller);
+
+       index = elm_index_add(main_info->layout);
+       elm_object_style_set(index, "circle");
+       evas_object_size_hint_weight_set(index, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       evas_object_size_hint_align_set(index, EVAS_HINT_FILL, EVAS_HINT_FILL);
+       elm_index_horizontal_set(index, EINA_TRUE);
+       elm_index_autohide_disabled_set(index, EINA_TRUE);
+       elm_object_part_content_set(main_info->layout, "index", index);
+       main_info->index = index;
+
+       main_info->cur_page = 0;
+       edje_object_signal_callback_add(elm_layout_edje_get(main_info->layout), "close_button,clicked", "clicked", _delete_all_btn_clicked_cb, main_info);
+       close_button_disabled_set(EINA_TRUE);
 
        return scroller;
 }
 
-
-
 void scroller_destroy(Evas_Object *scroller)
 {
        ret_if(!scroller);
@@ -453,7 +625,6 @@ void scroller_destroy(Evas_Object *scroller)
        Evas_Object *item = NULL;
        Evas_Object *box_layout = NULL;
        Evas_Object *box = NULL;
-       Evas_Object *rect = NULL;
        Eina_List *box_list = NULL;
        Eina_List *list = NULL;
 
@@ -482,19 +653,15 @@ void scroller_destroy(Evas_Object *scroller)
        }
 
        evas_object_del(box);
+       box = NULL;
        evas_object_del(box_layout);
-
-       evas_object_event_callback_del(scroller, EVAS_CALLBACK_MOUSE_DOWN, _mouse_down_cb);
-       evas_object_event_callback_del(scroller, EVAS_CALLBACK_MOUSE_UP, _mouse_up_cb);
-       evas_object_smart_callback_del(scroller, "scroll,anim,start", _anim_start_cb);
-       evas_object_smart_callback_del(scroller, "scroll,anim,stop", _anim_stop_cb);
-       evas_object_smart_callback_del(scroller, "scroll,drag,start", _drag_start_cb);
-       evas_object_smart_callback_del(scroller, "scroll,drag,stop", _drag_stop_cb);
-       evas_object_smart_callback_del(scroller, "scroll", _scroll_cb);
-
+       box_layout = NULL;
+       evas_object_smart_callback_del(scroller, "scroll,drag,start", _br_scroller_drag_start_cb);
+       evas_object_smart_callback_del(scroller, "scroll", _br_scroller_scrolled_cb);
+       evas_object_smart_callback_del(scroller, "scroll,anim,start", _br_scroller_ani_start_cb);
+       evas_object_smart_callback_del(scroller, "scroll,anim,stop", _br_scroller_ani_stop_cb);
        evas_object_del(scroller);
+       scroller = NULL;
 }
 
-
-
 /* End of the file */
index 332b3ee..670728b 100644 (file)
@@ -1,22 +1,21 @@
 /*
- *  Task Manager
+ * Task Manager
+ * Copyright (c) 2013 Samsung Electronics Co., Ltd.
  *
- * Copyright (c) 2000 - 2015 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
+ * Licensed under the Flora License, Version 1.1 (the License);
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
- * http://www.apache.org/licenses/LICENSE-2.0
+ * http://floralicense.org/license/
  *
  * 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.
- *
  */
 
+#include <app_common.h>
 #include <Elementary.h>
 #include <app_manager.h>
 #include <app_manager_extension.h>
@@ -26,9 +25,7 @@
 #include "log.h"
 #include "util.h"
 
-
-
-extern Eina_Bool util_kill_app(const char *appid)
+Eina_Bool util_kill_app(const char *appid)
 {
        app_context_h context = NULL;
        Eina_Bool ret = EINA_TRUE;
@@ -56,7 +53,7 @@ extern Eina_Bool util_kill_app(const char *appid)
 
 
 
-extern Eina_Bool util_launch_app(const char *appid)
+Eina_Bool util_launch_app(const char *appid)
 {
        int ret;
        bool running = false;
@@ -104,6 +101,16 @@ extern Eina_Bool util_launch_app(const char *appid)
        return EINA_TRUE;
 }
 
+int getEdjepath(const char *file_in, char *file_path_out, int file_path_max)
+{
+       int ret = -1;
+       char *res_path = app_get_resource_path();
+       if (res_path) {
+               ret = snprintf(file_path_out, file_path_max, "%s%s", res_path, file_in);
+               free(res_path);
+       }
+       return ret;
+}
 
 
 //End of file
diff --git a/task-mgr-spin.creator.user b/task-mgr-spin.creator.user
deleted file mode 100644 (file)
index 2b896cd..0000000
+++ /dev/null
@@ -1,186 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE QtCreatorProject>
-<!-- Written by QtCreator 3.0.1, 2014-09-11T20:00:05. -->
-<qtcreator>
- <data>
-  <variable>ProjectExplorer.Project.ActiveTarget</variable>
-  <value type="int">0</value>
- </data>
- <data>
-  <variable>ProjectExplorer.Project.EditorSettings</variable>
-  <valuemap type="QVariantMap">
-   <value type="bool" key="EditorConfiguration.AutoIndent">false</value>
-   <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
-   <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
-   <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
-    <value type="QString" key="language">Cpp</value>
-    <valuemap type="QVariantMap" key="value">
-     <value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
-    </valuemap>
-   </valuemap>
-   <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
-    <value type="QString" key="language">QmlJS</value>
-    <valuemap type="QVariantMap" key="value">
-     <value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
-    </valuemap>
-   </valuemap>
-   <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
-   <value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
-   <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
-   <value type="int" key="EditorConfiguration.IndentSize">4</value>
-   <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
-   <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
-   <value type="int" key="EditorConfiguration.PaddingMode">1</value>
-   <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
-   <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">1</value>
-   <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
-   <value type="int" key="EditorConfiguration.TabKeyBehavior">1</value>
-   <value type="int" key="EditorConfiguration.TabSize">8</value>
-   <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
-   <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
-   <value type="bool" key="EditorConfiguration.addFinalNewLine">false</value>
-   <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
-   <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
-   <value type="bool" key="EditorConfiguration.inEntireDocument">true</value>
-  </valuemap>
- </data>
- <data>
-  <variable>ProjectExplorer.Project.PluginSettings</variable>
-  <valuemap type="QVariantMap"/>
- </data>
- <data>
-  <variable>ProjectExplorer.Project.Target.0</variable>
-  <valuemap type="QVariantMap">
-   <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
-   <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
-   <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{684c47e8-d6bb-4ad1-a9c6-9180bed66dfd}</value>
-   <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
-   <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
-   <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
-   <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
-    <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/khee85/spin/task-mgr-lite</value>
-    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
-     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
-      <valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
-       <value type="QString">all</value>
-      </valuelist>
-      <value type="bool" key="GenericProjectManager.GenericMakeStep.Clean">false</value>
-      <value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments"></value>
-      <value type="QString" key="GenericProjectManager.GenericMakeStep.MakeCommand"></value>
-      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
-     </valuemap>
-     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
-    </valuemap>
-    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
-     <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
-      <valuelist type="QVariantList" key="GenericProjectManager.GenericMakeStep.BuildTargets">
-       <value type="QString">clean</value>
-      </valuelist>
-      <value type="bool" key="GenericProjectManager.GenericMakeStep.Clean">true</value>
-      <value type="QString" key="GenericProjectManager.GenericMakeStep.MakeArguments"></value>
-      <value type="QString" key="GenericProjectManager.GenericMakeStep.MakeCommand"></value>
-      <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-      <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericMakeStep</value>
-     </valuemap>
-     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
-    </valuemap>
-    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
-    <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
-    <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Default</value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Default</value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">GenericProjectManager.GenericBuildConfiguration</value>
-   </valuemap>
-   <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">1</value>
-   <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
-    <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
-     <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-     <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
-    </valuemap>
-    <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy locally</value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
-   </valuemap>
-   <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
-   <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
-   <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
-    <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
-    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
-    <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
-    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
-    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
-    <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
-    <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
-    <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
-    <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
-    <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
-    <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
-    <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
-    <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
-    <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
-    <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
-    <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
-    <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
-    <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
-     <value type="int">0</value>
-     <value type="int">1</value>
-     <value type="int">2</value>
-     <value type="int">3</value>
-     <value type="int">4</value>
-     <value type="int">5</value>
-     <value type="int">6</value>
-     <value type="int">7</value>
-     <value type="int">8</value>
-     <value type="int">9</value>
-     <value type="int">10</value>
-     <value type="int">11</value>
-     <value type="int">12</value>
-     <value type="int">13</value>
-     <value type="int">14</value>
-    </valuelist>
-    <value type="int" key="PE.EnvironmentAspect.Base">2</value>
-    <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
-    <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Arguments"></value>
-    <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.Executable"></value>
-    <value type="bool" key="ProjectExplorer.CustomExecutableRunConfiguration.UseTerminal">false</value>
-    <value type="QString" key="ProjectExplorer.CustomExecutableRunConfiguration.WorkingDirectory">%{buildDir}</value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Custom Executable</value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
-    <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
-    <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
-    <value type="bool" key="RunConfiguration.UseCppDebugger">true</value>
-    <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">false</value>
-    <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
-    <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
-    <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
-   </valuemap>
-   <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
-  </valuemap>
- </data>
- <data>
-  <variable>ProjectExplorer.Project.TargetCount</variable>
-  <value type="int">1</value>
- </data>
- <data>
-  <variable>ProjectExplorer.Project.Updater.EnvironmentId</variable>
-  <value type="QByteArray">{34f591bc-6b5b-4cb5-922e-abe922ef66f6}</value>
- </data>
- <data>
-  <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
-  <value type="int">15</value>
- </data>
-</qtcreator>
diff --git a/tizen-manifest.xml b/tizen-manifest.xml
new file mode 100755 (executable)
index 0000000..c2ab177
--- /dev/null
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<manifest xmlns="http://tizen.org/ns/packages" api-version="3.0" package="org.tizen.task-mgr" version="1.0.0">
+    <profile name="wearable"/>
+    <ui-application appid="org.tizen.task-mgr" exec="task-mgr" multiple="false" nodisplay="false" taskmanage="true" type="capp">
+        <label>Recents</label>
+        <icon>org.tizen.task-mgr.png</icon>
+    </ui-application>
+    <privileges>
+        <privilege>http://tizen.org/privilege/packagemanager.clearcache</privilege>
+        <privilege>http://tizen.org/privilege/appmanager.kill.bgapp</privilege>
+        <privilege>http://tizen.org/privilege/appmanager.launch</privilege>
+        <privilege>http://tizen.org/privilege/packagemanager.info</privilege>
+    </privileges>
+</manifest>