Check External Installed App 63/99763/2
authorjunkyu han <junkyu.han@samsung.com>
Thu, 24 Nov 2016 05:15:46 +0000 (14:15 +0900)
committerjunkyu han <junkyu.han@samsung.com>
Thu, 24 Nov 2016 05:29:07 +0000 (14:29 +0900)
Change-Id: I945d67c6495051fb1a7e9a1d8871cab6e405ed1a

13 files changed:
.cproject
inc/apps_data.h
inc/apps_package_manager.h
inc/apps_view.h
inc/conf.h
inc/edc_conf.h
res/edje/app_icon.edc
res/images/app_icon_sdcard_hd.png [new file with mode: 0755]
src/apps_data.c
src/apps_db.c
src/apps_package_manager.c
src/apps_view.c
tizen-manifest.xml

index 321df66..f3d9018 100755 (executable)
--- a/.cproject
+++ b/.cproject
                                                        <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.1500203774" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
                                                        <builder autoBuildTarget="all" buildPath="${workspace_loc:/homescreen-efl}/Debug" enableAutoBuild="true" id="org.tizen.nativecore.target.sbi.gnu.builder.676790294" 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.766671326" name="Archiver" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver"/>
-                                                       <tool command="arm-linux-gnueabi-g++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1800477664" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
+                                                       <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler.1800477664" name="C++ Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.compiler">
                                                                <option id="gnu.cpp.compiler.option.optimization.level.1791913917" 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.481743771" 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.2102599528" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
                                                                <option id="sbi.gnu.cpp.compiler.option.1070320025" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
-                                                                       <listOptionValue builtIn="false" value="mobile-3.0-device.core.public.20161122_3_gcc49.armel.core.app"/>
+                                                                       <listOptionValue builtIn="false" value="mobile-3.0-device.core_llvm37.armel.core.app"/>
                                                                </option>
                                                                <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.312288874" 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/EGL&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES3&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/SDL2&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/attach-panel&quot;"/>
@@ -68,7 +74,6 @@
                                                                        <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/EGL&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/freetype2&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/geofence&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES3&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/KHR&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/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/SDL2&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/service-adaptor&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vulkan&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_service&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_viewer_dali&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_viewer_evas&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/yaca&quot;"/>
                                                                </option>
                                                                <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1527920498" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
                                                        </tool>
-                                                       <tool command="arm-linux-gnueabi-gcc" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.281727115" name="C Compiler" superClass="org.tizen.nativecore.tool.sbi.gnu.c.compiler">
+                                                       <tool command="clang" id="org.tizen.nativecore.tool.sbi.gnu.c.compiler.281727115" 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.1600914293" 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.247638963" 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.982331969" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
                                                                <option id="sbi.gnu.c.compiler.option.1644890019" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
-                                                                       <listOptionValue builtIn="false" value="mobile-3.0-device.core.public.20161122_3_gcc49.armel.core.app"/>
+                                                                       <listOptionValue builtIn="false" value="mobile-3.0-device.core_llvm37.armel.core.app"/>
                                                                </option>
                                                                <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.1483034184" 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/EGL&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES3&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/SDL2&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/attach-panel&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/EGL&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/freetype2&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/geofence&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES3&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/KHR&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/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/SDL2&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/service-adaptor&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vulkan&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_service&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_viewer_dali&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_viewer_evas&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/yaca&quot;"/>
                                                                <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.840478259" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
                                                        </tool>
                                                        <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.614766676" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
-                                                       <tool command="arm-linux-gnueabi-g++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.1632738856" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
+                                                       <tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.1632738856" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
                                                                <option defaultValue="false" id="sbi.gnu.cpp.linker.option.shared_flag.core.1016151526" 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.1946527908" 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.472552373" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
                                                                <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.872124797" 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/EGL&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES3&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/SDL2&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore/&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/attach-panel&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/aul/&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/auth-fw&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/calendar-service2&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/call-manager&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cbhm&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/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/EGL&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/email-service&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/freetype2&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/geofence&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES3&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/KHR&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/metadata-editor&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minicontrol&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/SDL2&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/service-adaptor&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&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/tzsh&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/ui-viewmgr&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vulkan&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_service&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_viewer_dali&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_viewer_evas&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/yaca&quot;"/>
                                                                <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.697441456" 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/EGL&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES3&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/KHR&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/SDL2&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore/&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appcore-agent&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/appfw&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/attach-panel&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/aul/&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/auth-fw&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/calendar-service2&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/call-manager&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/cbhm&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/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/EGL&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/email-service&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/freetype2&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/geofence&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/gio-unix-2.0&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES2&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/GLES3&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/KHR&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/metadata-editor&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/minicontrol&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/SDL2&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/sensor&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/service-adaptor&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/shortcut&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/tzsh&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/ui-viewmgr&quot;"/>
+                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vconf&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/vulkan&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/web&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_service&quot;"/>
-                                                                       <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_viewer_dali&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/widget_viewer_evas&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/wifi-direct&quot;"/>
                                                                        <listOptionValue builtIn="false" value="&quot;${SBI_SYSROOT}/usr/include/yaca&quot;"/>
index ab68431..695f792 100755 (executable)
 #define APPS_ROOT -1
 #define TEMP_OWNER "owner"
 
+typedef enum storage_type {
+       INTERNAL = 0,
+       EXTERNAL = 1
+} storage_t;
+
 typedef struct {
        int db_id;
        int parent_db_id;
@@ -42,6 +47,8 @@ typedef struct {
        unsigned int badge_count;
        Eina_Bool is_checked;
        bool temp;
+       storage_t storage_type;
+       bool enable;
 } app_data_t;
 
 enum {
@@ -56,6 +63,7 @@ Eina_List *apps_data_get_list(void);
 void apps_data_get_folder_item_list(Eina_List **list, app_data_t *folder);
 void apps_data_install(app_data_t *item);
 void apps_data_uninstall(const char *package);
+void apps_data_move(const char *package, storage_t storage_type);
 app_data_t *apps_data_add_folder(void);
 void apps_data_delete_folder(app_data_t *folder_item);
 void apps_data_update_folder(app_data_t *folder_item);
index e8b0549..0c123c3 100755 (executable)
@@ -27,7 +27,8 @@
 #include "apps_data.h"
 
 void apps_package_manager_init();
-Eina_Bool apps_package_manager_get_list(Eina_List **list);
+Eina_Bool apps_package_manager_get_internal_list(Eina_List **list);
+Eina_Bool apps_package_manager_get_external_list(Eina_List **list);
 void apps_package_manager_update_label(const char *app_id, app_data_t *item);
 
 #endif /* __APPS_PACKAGE_MANAGER_H__ */
index 80fcc53..7067fd6 100755 (executable)
@@ -33,6 +33,7 @@ void apps_view_hide_anim(double pos);
 void apps_view_reorder(void);
 void apps_view_folder_reroder(void);
 void apps_view_update_folder_icon(app_data_t *item);
+void apps_view_update_external_app_icon(Eina_List *list);
 
 Evas_Object* apps_view_create_icon(app_data_t *item);
 void apps_view_delete_icon(app_data_t *item);
index 964f99d..08b14a4 100755 (executable)
@@ -34,6 +34,9 @@
 
 #define HOME_LOADING_TIME 0.5
 
+#define INTERNAL_APP "installed_internal"
+#define EXTERNAL_APP "installed_external"
+
 extern double __conf_get_resolution_scale_h();
 extern double __conf_get_resolution_scale_w();
 extern double __conf_get_resolution_scale_area();
index bc14893..f5ad1d8 100755 (executable)
 
 #define GROUP_APP_ICON_LY "icon_ly"
 #define APPS_ICON_CONTENT "icon_content"
+#define APPS_ICON_SD_CARD "icon_sdcard"
 #define APPS_ICON_CONTENT_TOUCH "icon_touch"
 #define APPS_ICON_NAME "icon_name"
 #define APPS_ICON_BADGE_TEXT "badge_text"
 #define SIGNAL_ICON_DISABLE "icon_disable"
 #define SIGNAL_ICON_ENABLE "icon_enable"
+#define SIGNAL_EXTERNAL_ICON_DISABLE "external_icon_disable"
+#define SIGNAL_EXTERNAL_ICON_ENABLE "external_icon_enable"
 #define SIGNAL_BADGE_SHOW "badge_show"
 #define SIGNAL_BADGE_HIDE "badge_hide"
 #define SIGNAL_ICON_NAME_SHOW "icon_name_show"
index 901dce1..62bc7a4 100755 (executable)
@@ -18,6 +18,7 @@
 
 images {
        image: "app_press_117.png" COMP;
+       image: "app_icon_sdcard_hd.png" COMP;
        image: "btn_delete_nor.png" COMP;
        image: "btn_delete_press.png" COMP;
        image: "icon_badge_container.png" COMP;
@@ -62,11 +63,54 @@ collections {
                                }
                        } //APPS_ICON_CONTENT
 
+                       part { name: "external_disable_area";
+                               type: IMAGE;
+                               mouse_events: 1;
+                               repeat_events: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1{relative: 0.0 0.0; to: APPS_ICON_CONTENT;}
+                                       rel2{relative: 1.0 1.0; to: APPS_ICON_CONTENT;}
+                                       aspect: 1.0 1.0;
+                                       aspect_preference: BOTH;
+                                       color: 0 0 0 0;
+                                       image {
+                                               normal: "folder_appicon_bg.png";
+                                       }
+                                       visible: 0;
+                               }
+                               description{
+                                       state: "external_disable" 0.0;
+                                       inherit: "default" 0.0;
+                                       color: 0 0 0 150;
+                                       visible: 1;
+                               }
+                       } //EXTERNAL_DIABLE
+
+                       part { name: APPS_ICON_SD_CARD;
+                               type: IMAGE;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1{relative: 0.0 0.0; to: APPS_ICON_CONTENT;}
+                                       rel2{relative: 1.0 1.0; to: APPS_ICON_CONTENT;}
+                                       align: 0.0 0.0;
+                                       fixed: 1 1;
+                                       visible: 0;
+                                       image {
+                                               normal: "app_icon_sdcard_hd.png";
+                                       }
+                               }
+                               description{
+                                       state: "external_disable" 0.0;
+                                       inherit: "default" 0.0;
+                                       visible: 1;
+                               }
+                       } //APPS_ICON_SD_CARD
+
                        part { name: APPS_ICON_CONTENT_TOUCH;
                                type: IMAGE;
                                mouse_events: 1;
                                repeat_events: 1;
-                               scale: 1;
                                description {
                                        state: "default" 0.0;
                                        rel1{relative: 0.0 0.0; to: APPS_ICON_CONTENT;}
@@ -89,7 +133,6 @@ collections {
                                type: IMAGE;
                                mouse_events: 1;
                                repeat_events: 0;
-                               scale: 1;
                                description {
                                        state: "default" 0.0;
                                        rel1{relative: 0.0 0.0; to: APPS_ICON_CONTENT;}
@@ -315,7 +358,7 @@ collections {
                        part {
                                name: "icon_checkbox_touch";
                                type:RECT;
-                               scale:0;
+                               scale: 0;
                                mouse_events: 1;
                                repeat_events: 0;
                                description {
@@ -492,12 +535,21 @@ collections {
                                target: APPS_ICON_NAME;
                        }
                        program {
-                               name: "icon_enable";
-                               signal: SIGNAL_ICON_ENABLE;
+                               name: "external_app_enable";
+                               signal: SIGNAL_EXTERNAL_ICON_ENABLE;
                                source: SIGNAL_SOURCE;
                                action: STATE_SET "default" 0.0;
-                               target: APPS_ICON_NAME;
-                               target: "app_icon_disable";
+                               target: APPS_ICON_SD_CARD;
+                               target: APPS_ICON_SD_CARD;
+                               target: "external_disable_area";
+                       }
+                       program {
+                               name: "external_app_disable";
+                               signal: SIGNAL_EXTERNAL_ICON_DISABLE;
+                               source: SIGNAL_SOURCE;
+                               action: STATE_SET "external_disable" 0.0;
+                               target: APPS_ICON_SD_CARD;
+                               target: "external_disable_area";
                        }
                        program {
                                name: "icon_picked";
@@ -515,4 +567,4 @@ collections {
                        }
                }
        }
-}
\ No newline at end of file
+}
diff --git a/res/images/app_icon_sdcard_hd.png b/res/images/app_icon_sdcard_hd.png
new file mode 100755 (executable)
index 0000000..6176d5f
Binary files /dev/null and b/res/images/app_icon_sdcard_hd.png differ
index e5184cb..83b65ee 100755 (executable)
@@ -15,6 +15,7 @@
  */
 
 #include <shortcut_manager.h>
+#include <storage.h>
 
 #include "apps_data.h"
 #include "apps_package_manager.h"
@@ -37,6 +38,7 @@ static int __apps_data_shortcut_request_cb(const char *pkgname,
                const char *name, int type, const char *content_info, const char *icon,
                int pid, double period, int allow_duplicate, void *data);
 static int __apps_data_shortcut_remove_cb(const char *pkgname, const char *name, int sender_pid, void *data);
+static void __apps_data_set_external_storage_changed_cb(int storage_id, storage_dev_e dev, storage_state_e state, const char *fstype, const char *fsuuid, const char *mountpath, bool primary, int flags, void *user_data);
 
 void apps_data_init(void *data, Ecore_Thread *th)
 {
@@ -44,7 +46,8 @@ void apps_data_init(void *data, Ecore_Thread *th)
        Eina_List *pkg_find_list, *db_find_list;
        app_data_t *pkg_item = NULL, *db_item = NULL;
        apps_package_manager_init();
-       apps_package_manager_get_list(&pkg_list);
+       apps_package_manager_get_internal_list(&pkg_list);
+       apps_package_manager_get_external_list(&pkg_list);
 
        if (!apps_db_create()) {
                apps_db_get_app_list(&db_list);
@@ -64,9 +67,14 @@ void apps_data_init(void *data, Ecore_Thread *th)
 
        EINA_LIST_FOREACH(db_list, db_find_list, db_item) {
                if (!db_item->temp) {
-                       apps_db_delete_by_app_id(db_item->app_id);
-                       apps_view_delete_icon(db_item);
-                       __apps_data_item_free(db_item);
+                       if (db_item->storage_type == EXTERNAL) {
+                               db_item->enable = false;
+                               apps_data_s.data_list = eina_list_append(apps_data_s.data_list, db_item);
+                       } else {
+                               apps_db_delete_by_app_id(db_item->app_id);
+                               apps_view_delete_icon(db_item);
+                               __apps_data_item_free(db_item);
+                       }
                }
        }
        db_list = eina_list_free(db_list);
@@ -97,6 +105,10 @@ void apps_data_init(void *data, Ecore_Thread *th)
        ret = shortcut_set_remove_cb(__apps_data_shortcut_remove_cb, NULL);
        if (ret != SHORTCUT_ERROR_NONE)
                LOGE("Failed to add shortcut remove cb: 0x%X\n", ret);
+
+       ret = storage_set_changed_cb(STORAGE_TYPE_EXTERNAL, __apps_data_set_external_storage_changed_cb, NULL);
+       if (ret != STORAGE_ERROR_NONE)
+               LOGE("Failed to add external storage changed cb: 0x%X\n", ret);
 }
 
 void apps_data_sort(void)
@@ -189,6 +201,20 @@ void apps_data_uninstall(const char *package)
        eina_list_free(find_result);
 }
 
+void apps_data_move(const char *package, storage_t storage_type)
+{
+       Eina_List *find_list;
+       app_data_t *item = NULL;
+
+       EINA_LIST_FOREACH(apps_data_s.data_list, find_list, item) {
+               if (item->pkg_id && (strcmp(item->pkg_id, package) == 0) &&
+                               item->owner && (strcmp(item->owner, TEMP_OWNER) == 0)) {
+                       item->storage_type = storage_type;
+                       apps_db_update(item);
+               }
+       }
+}
+
 app_data_t *apps_data_add_folder(void)
 {
        app_data_t *new_item = (app_data_t *)malloc(sizeof(app_data_t));
@@ -318,6 +344,40 @@ static int __apps_data_shortcut_remove_cb(const char *package_name, const char *
        return 0;
 }
 
+void __apps_data_set_external_storage_changed_cb(int storage_id, storage_dev_e dev, storage_state_e state, const char *fstype, const char *fsuuid, const char *mountpath, bool primary, int flags, void *user_data)
+{
+       app_data_t *item = NULL;
+       Eina_List *find_list;
+
+       if (state == STORAGE_STATE_UNMOUNTABLE) {
+               LOGD("SD card is currently remove!!");
+               EINA_LIST_FOREACH(apps_data_s.data_list, find_list, item) {
+                       if (item->storage_type == EXTERNAL) {
+                               item->enable = false;
+                       }
+               }
+               apps_view_update_external_app_icon(apps_data_s.data_list);
+       } else if (state == STORAGE_STATE_MOUNTED || state == STORAGE_STATE_MOUNTED_READ_ONLY) {
+               LOGD("SD card is currently mounted!!");
+               Eina_List *extern_list = NULL;
+               Eina_List *find_extern_list = NULL;
+               app_data_t *extern_item = NULL;
+
+               apps_package_manager_get_external_list(&extern_list);
+
+               EINA_LIST_FOREACH(extern_list, find_extern_list, extern_item) {
+                       EINA_LIST_FOREACH(apps_data_s.data_list, find_list, item) {
+                               if (!strcmp(extern_item->app_id, item->app_id) && !strcmp(extern_item->owner, item->owner) && extern_item->storage_type == item->storage_type) {
+                                       LOGD("This item is right item");
+                                       item->enable = true;
+                                       break;
+                               }
+                       }
+               }
+               apps_view_update_external_app_icon(apps_data_s.data_list);
+       }
+}
+
 void apps_data_delete_item(app_data_t *item)
 {
        apps_data_s.data_list = eina_list_remove(apps_data_s.data_list, item);
@@ -405,7 +465,7 @@ static void __apps_data_print(Eina_List *list)
        LOGD("========================================");
        EINA_LIST_FOREACH(list, find_list, item) {
                if (item != NULL)
-                       LOGD("%d [app: %s][pkg: %s][name:%s][iconPath: %s][icon:%p]", item->position, item->app_id, item->pkg_id, item->label_str, item->icon_path_str, item->app_layout);
+                       LOGD("%d [app: %s][pkg: %s][name:%s][iconPath: %s][icon:%p][enable:%d]", item->position, item->app_id, item->pkg_id, item->label_str, item->icon_path_str, item->app_layout, item->enable);
        }
        LOGD("========================================");
 }
index 1e69fa7..e7b2f74 100755 (executable)
@@ -40,7 +40,9 @@ enum {
        COL_TYPE,
        COL_IS_SYSTEM,
        COL_IS_REMOVABLE,
-       COL_ICON_PATH
+       COL_ICON_PATH,
+       COL_STORAGE_TYPE,
+       COL_ENABLE
 };
 
 #define CREATE_APPS_DB_TABLE "create table if not exists apps(\
@@ -56,7 +58,9 @@ enum {
                type            INTEGER,\
                isSystem        INTEGER,\
                isRemovable INTEGER,\
-               iconPath        TEXT);"
+               iconPath        TEXT,\
+               storage_type    INTEGER,\
+               enable  INTEGER);"
 
 #define UPDATE_APPS_DB_TABLE "UPDATE apps set \
                parentId=%d,\
@@ -70,7 +74,9 @@ enum {
                type=%d,\
                isSystem=%d,\
                isRemovable=%d,\
-               iconPath='%s' WHERE id = %d"
+               iconPath='%s',\
+               storage_type=%d,\
+               enable=%d WHERE id = %d"
 
 #define INSERT_APPS_DB_TABLE "INSERT into apps (\
                parentId,\
@@ -84,7 +90,9 @@ enum {
                type,\
                isSystem,\
                isRemovable,\
-               iconPath) VALUES(%d,'%s',%d,%d,'%s','%s','%s','%s',%d,%d,%d,'%s')"
+               iconPath,\
+               storage_type,\
+               enable) VALUES(%d,'%s',%d,%d,'%s','%s','%s','%s',%d,%d,%d,'%s',%d,%d)"
 
 #define SELECT_ITEM "SELECT * FROM apps;"
 #define SELECT_APP_ITEM "SELECT * FROM apps WHERE type=0 AND isFolder=0;"
@@ -174,6 +182,8 @@ bool apps_db_get_list(Eina_List **apps)
                item->is_removable = sqlite3_column_int(stmt, COL_IS_REMOVABLE);
                str = (const char *)sqlite3_column_text(stmt, COL_ICON_PATH);
                item->icon_path_str = (!str || !strlen(str)) ? NULL : strdup(str);
+               item->storage_type = sqlite3_column_int(stmt, COL_STORAGE_TYPE);
+               item->enable = sqlite3_column_int(stmt, COL_ENABLE);
                *apps = eina_list_append(*apps, item);
        }
        sqlite3_finalize(stmt);
@@ -217,6 +227,8 @@ bool apps_db_get_app_list(Eina_List **apps)
                item->is_removable = sqlite3_column_int(stmt, COL_IS_REMOVABLE);
                str = (const char *)sqlite3_column_text(stmt, COL_ICON_PATH);
                item->icon_path_str = (!str || !strlen(str)) ? NULL : strdup(str);
+               item->storage_type = sqlite3_column_int(stmt, COL_STORAGE_TYPE);
+               item->enable = sqlite3_column_int(stmt, COL_ENABLE);
                *apps = eina_list_append(*apps, item);
        }
        sqlite3_finalize(stmt);
@@ -242,6 +254,8 @@ bool apps_db_update(app_data_t *item)
                        item->is_system,
                        item->is_removable,
                        item->icon_path_str,
+                       item->storage_type,
+                       item->enable,
                        item->db_id);
        int ret = sqlite3_prepare(apps_db, query, QUERY_MAXLEN , &stmt, NULL);
        if (ret != SQLITE_OK) {
@@ -273,7 +287,9 @@ bool apps_db_insert(app_data_t *item)
                        item->type,
                        item->is_system,
                        item->is_removable,
-                       item->icon_path_str);
+                       item->icon_path_str,
+                       item->storage_type,
+                       item->enable);
 
        int ret = sqlite3_prepare(apps_db, query, QUERY_MAXLEN , &stmt, NULL);
        if (ret != SQLITE_OK) {
index ead0451..82b8ada 100755 (executable)
@@ -26,9 +26,11 @@ static void __apps_package_manager_event_cb(const char *type, const char *packag
                package_manager_error_e error, void *user_data);
 static bool __apps_data_pkg_get_apps_info(app_info_h app_handle, app_data_t **item);
 static bool __apps_data_get_app_info_from_pkg(package_info_app_component_type_e comp_type, const char *app_id, void *data);
-static bool __apps_package_manager_get_item(app_info_h app_handle, void *data);
+static bool __apps_package_manager_get_internal_item(app_info_h app_handle, void *data);
+static bool __apps_package_manager_get_external_item(app_info_h app_handle, void *data);
 static void __apps_package_manager_install(const char *package);
 static void __apps_package_manager_uninstall(const char *package);
+static void __apps_package_manager_move(const char *package);
 
 
 void apps_package_manager_init()
@@ -42,7 +44,7 @@ void apps_package_manager_init()
                LOGE("package_manager_create : failed[%d]", ret);
        }
 
-       ret = package_manager_set_event_status(pkg_mgr, PACKAGE_MANAGER_STATUS_TYPE_INSTALL|PACKAGE_MANAGER_STATUS_TYPE_UNINSTALL);
+       ret = package_manager_set_event_status(pkg_mgr, PACKAGE_MANAGER_STATUS_TYPE_INSTALL|PACKAGE_MANAGER_STATUS_TYPE_UNINSTALL|PACKAGE_MANAGER_STATUS_TYPE_MOVE);
        if (ret != PACKAGE_MANAGER_ERROR_NONE) {
                LOGE("package_manager_set_event_status : failed[%d]", ret);
        }
@@ -57,6 +59,7 @@ static void __apps_package_manager_event_cb(const char *type, const char *packag
                package_manager_event_type_e event_type, package_manager_event_state_e event_state, int progress,
                package_manager_error_e error, void *user_data)
 {
+       LOGD("event_type: %d, event_state: %d", event_type, event_state);
        if (event_state == PACKAGE_MANAGER_EVENT_STATE_STARTED) {
                LOGI("pkg:%s type:%d state:PACKAGE_MANAGER_EVENT_STATE_STARTED", package, event_type);
        } else if (event_state == PACKAGE_MANAGER_EVENT_STATE_PROCESSING) {
@@ -67,29 +70,73 @@ static void __apps_package_manager_event_cb(const char *type, const char *packag
                        __apps_package_manager_install(package);
                } else if (event_type == PACKAGE_MANAGER_EVENT_TYPE_UNINSTALL) {
                        __apps_package_manager_uninstall(package);
-               } else { //PACKAGE_MANAGER_EVENT_TYPE_UPDATE
-                       LOGD("UPDATE - %s", package);
+               } else if (event_type == PACKAGE_MANAGER_EVENT_TYPE_MOVE) {
+                       LOGD("%s is MOVED", package);
+                       __apps_package_manager_move(package);
                }
        } else {
                LOGE("pkg:%s type:%d state:PACKAGE_MANAGER_EVENT_STATE_COMPLETED: FAILED", package, event_type);
        }
 }
 
-Eina_Bool apps_package_manager_get_list(Eina_List **list)
+Eina_Bool apps_package_manager_get_internal_list(Eina_List **list)
 {
+       LOGD("Get Internal apps info");
+       int ret;
+       app_info_filter_h handle = NULL;
+
+       ret = app_info_filter_create(&handle);
+       app_info_filter_add_bool(handle, PACKAGE_INFO_PROP_APP_NODISPLAY , false);
+
+       app_info_filter_add_string(handle, PACKAGE_INFO_PROP_APP_INSTALLED_STORAGE, "installed_internal");
+       app_info_filter_foreach_appinfo(handle, __apps_package_manager_get_internal_item, list);
+
+       ret = app_info_filter_destroy(handle);
+       if (ret != APP_MANAGER_ERROR_NONE) {
+               LOGE("Failed to destory filter");
+       }
+
+       return true;
+}
+
+Eina_Bool apps_package_manager_get_external_list(Eina_List **list)
+{
+       LOGD("Get External apps info");
+       int ret;
        app_info_filter_h handle = NULL;
 
-       app_info_filter_create(&handle);
+       ret = app_info_filter_create(&handle);
        app_info_filter_add_bool(handle, PACKAGE_INFO_PROP_APP_NODISPLAY , false);
-       app_info_filter_foreach_appinfo(handle, __apps_package_manager_get_item, list);
+
+       app_info_filter_add_string(handle, PACKAGE_INFO_PROP_APP_INSTALLED_STORAGE, EXTERNAL_APP);
+       app_info_filter_foreach_appinfo(handle, __apps_package_manager_get_external_item, list);
+
+       ret = app_info_filter_destroy(handle);
+       if (ret != APP_MANAGER_ERROR_NONE) {
+               LOGE("Failed to destory filter");
+       }
+
+       return true;
+}
+
+static bool __apps_package_manager_get_internal_item(app_info_h app_handle, void *data)
+{
+       Eina_List **list = (Eina_List **)data;
+       app_data_t *item = NULL;
+       if (__apps_data_pkg_get_apps_info(app_handle, &item)) {
+               item->storage_type = INTERNAL;
+               *list = eina_list_append(*list, item);
+       }
+       usleep(1);
        return true;
 }
 
-static bool __apps_package_manager_get_item(app_info_h app_handle, void *data)
+static bool __apps_package_manager_get_external_item(app_info_h app_handle, void *data)
 {
        Eina_List **list = (Eina_List **)data;
        app_data_t *item = NULL;
        if (__apps_data_pkg_get_apps_info(app_handle, &item)) {
+               item->storage_type = EXTERNAL;
                *list = eina_list_append(*list, item);
        }
        usleep(1);
@@ -124,6 +171,7 @@ static bool __apps_data_pkg_get_apps_info(app_info_h app_handle, app_data_t **it
        new_item->position = INIT_VALUE;
        new_item->uri = NULL;
        new_item->type = APPS_DATA_TYPE_APP;
+       new_item->enable = true;
 
        ret = app_info_get_app_id(app_handle, &new_item->app_id);
        if (APP_MANAGER_ERROR_NONE != ret) {
@@ -250,3 +298,22 @@ static void __apps_package_manager_uninstall(const char *package)
 {
        apps_data_uninstall(package);
 }
+
+static void __apps_package_manager_move(const char *package)
+{
+       Eina_List *list = NULL;
+       Eina_List *find_list = NULL;
+       app_data_t *item = NULL;
+       storage_t storage_type = INTERNAL;
+
+       apps_package_manager_get_external_list(&list);
+
+       EINA_LIST_FOREACH(list, find_list, item) {
+               if ((strcmp(package, item->pkg_id) == 0) && item->owner && (strcmp(item->owner, TEMP_OWNER) == 0)) {
+                       storage_type = EXTERNAL;
+                       break;
+               }
+       }
+
+       apps_data_move(package, storage_type);
+}
index ad7a62b..3175f4f 100755 (executable)
@@ -382,23 +382,18 @@ Evas_Object* apps_view_create_icon(app_data_t *item)
                evas_object_event_callback_add(folder_layout, EVAS_CALLBACK_MOUSE_MOVE, __apps_view_icon_move_cb, item);
                evas_object_event_callback_add(folder_layout, EVAS_CALLBACK_MOUSE_UP, __apps_view_icon_up_cb, item);
        } else {
-               if (ecore_file_can_read(item->icon_path_str)) {
-                       LOGD("Create Image: %s", item->icon_path_str);
-                       icon_image = elm_image_add(icon_layout);
-                       elm_image_file_set(icon_image, item->icon_path_str, NULL);
-                       evas_object_size_hint_weight_set(icon_image, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-                       evas_object_size_hint_align_set(icon_image, EVAS_HINT_FILL, EVAS_HINT_FILL);
-                       elm_object_part_content_set(icon_layout, APPS_ICON_CONTENT, icon_image);
+               const char *icon_path = NULL;
+               if (item->enable && ecore_file_can_read(item->icon_path_str)) {
+                       LOGD("Create Image: %s for internal", item->icon_path_str);
+                       icon_path = item->icon_path_str;
                } else {
-                       LOGE("Can not read : %s", item->icon_path_str);
-
-                       const char *default_icon = util_get_res_file_path(IMAGE_DIR"/default_app_icon.png");
-                       icon_image = elm_image_add(icon_layout);
-                       elm_image_file_set(icon_image, default_icon, NULL);
-                       evas_object_size_hint_weight_set(icon_image, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-                       evas_object_size_hint_align_set(icon_image, EVAS_HINT_FILL, EVAS_HINT_FILL);
-                       elm_object_part_content_set(icon_layout, APPS_ICON_CONTENT, icon_image);
+                       icon_path = util_get_res_file_path(IMAGE_DIR"/default_app_icon.png");
                }
+               icon_image = elm_image_add(icon_layout);
+               elm_image_file_set(icon_image, icon_path, NULL);
+               evas_object_size_hint_weight_set(icon_image, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+               evas_object_size_hint_align_set(icon_image, EVAS_HINT_FILL, EVAS_HINT_FILL);
+               elm_object_part_content_set(icon_layout, APPS_ICON_CONTENT, icon_image);
 
                __apps_view__set_icon_label_style(item, apps_view_s.view_state);
                if (apps_view_s.view_state == VIEW_STATE_EDIT) {
@@ -411,6 +406,10 @@ Evas_Object* apps_view_create_icon(app_data_t *item)
                        }
                }
 
+               if (item->storage_type == EXTERNAL && !item->enable) {
+                       elm_object_signal_emit(item->app_layout, SIGNAL_EXTERNAL_ICON_DISABLE, SIGNAL_SOURCE);
+               }
+
                __apps_view_badge_update_icon(item);
                evas_object_show(icon_image);
 
@@ -429,6 +428,37 @@ Evas_Object* apps_view_create_icon(app_data_t *item)
        return icon_layout;
 }
 
+static void __apps_view_update_external_icon(app_data_t *item, const char *image_file)
+{
+       Evas_Object *icon = NULL;
+       icon = elm_object_part_content_get(item->app_layout, APPS_ICON_CONTENT);
+       if (!icon) {
+               LOGE("Failed to get icon");
+               return;
+       }
+       elm_image_file_set(icon, image_file, NULL);
+}
+
+void apps_view_update_external_app_icon(Eina_List *list)
+{
+       LOGD("Update External Installed Item!!");
+       Eina_List *find_list;
+       app_data_t *item = NULL;
+
+       EINA_LIST_FOREACH(list, find_list, item) {
+               if (item->storage_type == EXTERNAL) {
+                       if (item->enable) {
+                               __apps_view_update_external_icon(item, item->icon_path_str);
+                               elm_object_signal_emit(item->app_layout, SIGNAL_EXTERNAL_ICON_ENABLE, SIGNAL_SOURCE);
+                       } else {
+                               const char *image_file = util_get_res_file_path(IMAGE_DIR"/default_app_icon.png");
+                               __apps_view_update_external_icon(item, image_file);
+                               elm_object_signal_emit(item->app_layout, SIGNAL_EXTERNAL_ICON_DISABLE, SIGNAL_SOURCE);
+                       }
+               }
+       }
+}
+
 void apps_view_delete_icon(app_data_t *item)
 {
        if (item == NULL)
index 50551e4..a8db39d 100755 (executable)
@@ -1,22 +1,22 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <manifest xmlns="http://tizen.org/ns/packages" api-version="3.0" install-location="internal-only" package="org.tizen.homescreen-efl" version="1.0.0">
-    <profile name="mobile"/>
     <label>homescreen-efl</label>
     <description>Homescreen Application</description>
-    <ui-application appid="org.tizen.homescreen-efl" exec="homescreen-efl" launch_mode="single" multiple="false" nodisplay="true" taskmanage="false" type="capp" hw-acceleration="on">
+    <profile name="mobile"/>
+    <ui-application appid="org.tizen.homescreen-efl" exec="homescreen-efl" hw-acceleration="on" launch_mode="single" multiple="false" nodisplay="true" taskmanage="false" type="capp">
         <label>homescreen-efl</label>
         <icon>homescreen-efl.png</icon>
         <category name="http://tizen.org/category/homeapp"/>
         <metadata key="http://developer.samsung.com/tizen/metadata/legacylifecycle"/>
     </ui-application>
     <privileges>
+        <privilege>http://tizen.org/privilege/mediastorage</privilege>
         <privilege>http://tizen.org/privilege/appmanager.launch</privilege>
         <privilege>http://tizen.org/privilege/packagemanager.admin</privilege>
         <privilege>http://tizen.org/privilege/shortcut</privilege>
         <privilege>http://tizen.org/privilege/notification</privilege>
         <privilege>http://tizen.org/privilege/packagemanager.info</privilege>
-        <privilege>http://tizen.org/privilege/widget.viewer</privilege>
-        <privilege>http://tizen.org/privilege/mediastorage</privilege>
         <privilege>http://tizen.org/privilege/externalstorage</privilege>
+        <privilege>http://tizen.org/privilege/widget.viewer</privilege>
     </privileges>
 </manifest>