[STORAGE] Filtering not movable apps. 24/161124/4 accepted/tizen/unified/20171127.152009 submit/tizen/20171127.064042
authorMichal Skorupinski <m.skorupinsk@samsung.com>
Tue, 21 Nov 2017 16:13:53 +0000 (17:13 +0100)
committerMichal Skorupinski <m.skorupinsk@samsung.com>
Thu, 23 Nov 2017 14:49:12 +0000 (15:49 +0100)
Change-Id: I2344e6aef542fd09e8558fdfb7f6b68f748ce86e
Signed-off-by: Michal Skorupinski <m.skorupinsk@samsung.com>
setting-storage/include/setting-storage-applications-utils.h
setting-storage/src/setting-storage-applications-utils.c
setting-storage/src/setting-storage-applications.c

index 615a67f2f360862f633528fa5fa7deec901ee800..05a194439a835a45987f5e5015744bfccc5ebd77 100644 (file)
@@ -30,7 +30,7 @@ int _compare_by_name(const void *data1, const void *data2);
 void _sort_apps(SettingStorage *ad);
 
 /* Get's Applications list and info */
-void storage_apps_get_list(SettingStorage *ad);
+void storage_apps_get_list(SettingStorage *ad, bool is_move);
 bool storage_get_pkg_list_iter(package_info_h package_info, void *data);
 void storage_apps_get_node_info(package_info_h handle, Node_Info *info);
 Eina_Bool __get_size_on_time(void *data);
index 7c0187da59a0be998afed883865c5531ea09753e..437f27248fe0dd5dd7c828b8a7e885a40bd21828 100755 (executable)
@@ -131,7 +131,7 @@ Eina_Bool __get_size_on_time(void *data)
 }
 
 //GET LIST OF APPS
-void storage_apps_get_list(SettingStorage *ad)
+void storage_apps_get_list(SettingStorage *ad, bool is_move)
 {
        int ret = 0;
        package_manager_h manager = NULL;
@@ -173,6 +173,22 @@ end:
        package_manager_destroy(manager);
 }
 
+
+static bool _is_moveable(package_info_h handle)
+{
+       bool ret = true;
+       char *type;
+       bool is_preloaded;
+       package_info_is_preload_package(handle, &is_preloaded);
+       package_info_get_type(handle, &type);
+
+       if (!safeStrCmp(type, "wgt") || is_preloaded)
+               ret = false;
+
+       free(type);
+       return ret;
+}
+
 bool storage_get_pkg_list_iter(package_info_h handle, void *data)
 {
        SETTING_TRACE_BEGIN;
@@ -191,10 +207,12 @@ bool storage_get_pkg_list_iter(package_info_h handle, void *data)
        storage_apps_get_node_info(handle, info);
        info->size_timer = ecore_timer_add(2.0, __get_size_on_time, info);
 
-       /* Add to list */
-       ad->data_list = eina_list_append(ad->data_list, info);
-       ad->count_sz_all = eina_list_count(ad->data_list);
+       if (safeStrCmp(ad->launch_mode, "appselect") != 0 ||
+                       _is_moveable(handle)) {
+               ad->data_list = eina_list_append(ad->data_list, info);
+       }
 
+       ad->count_sz_all = eina_list_count(ad->data_list);
        return EINA_TRUE;
 }
 
index dce5fc7fcf239bd687d6ec4c577fc76f10c7cac2..401b37a25b02be773c9507bc21b9d7914ecd9377 100755 (executable)
@@ -590,7 +590,7 @@ void _uninstall_app_thread_func_cb(int fn_result, SettingStorage *ad)
        ad->select_mode = false;
        SETTING_TRACE("After deleting, updating the file list");
 
-       storage_apps_get_list(ad);
+       storage_apps_get_list(ad, false);
        _update_ui_list(ad);
 
        storage_naviframe_update_buttons(ad);
@@ -961,7 +961,8 @@ static int storage_apps_create(void *data)
                        _apps_delete_click_cb, _show_more_menu_cb);
 
        /* Gets apps items */
-       storage_apps_get_list(ad);
+       storage_apps_get_list(ad, false);
+
        /* sorting */
        _sort_apps(ad);
        /* view update */