update for storage share 86/319686/4 accepted/tizen/unified/20241031.084417
authorHans Alfonso Arano Ongsitco/VD RH.ongsitcoD Lab /SRPH/Engineer/삼성전자 <h.ongsitco@samsung.com>
Wed, 30 Oct 2024 07:37:25 +0000 (15:37 +0800)
committerHans Alfonso Ongsitco <h.ongsitco@samsung.com>
Wed, 30 Oct 2024 09:28:00 +0000 (09:28 +0000)
Change-Id: If23244372609b1b30a9a2bb8ef38de0c04e88f8f

src/common/include/media-common-db-svc.h
src/common/media-common-db-svc.c
src/scanner-v2/media-scanner-scan-v2.c

index 7c043c41da6eb6f0e7595cfbb0028b5234fbe3ec..f3ced359fe67a2a53c227bf32c4db0a761ee675c 100644 (file)
@@ -63,6 +63,7 @@ void ms_register_start(bool noti_status, int pid);
 void ms_register_end(uid_t uid);
 
 #ifdef _USE_TVPD_MODE
+int ms_set_subfolder_validity(sqlite3 *handle, const char *path, int validity, uid_t uid);
 int ms_update_folder_time(sqlite3 *handle, char *folder_path, uid_t uid);
 int ms_set_storage_scan_status(const char *storage_id, media_scan_status_e scan_status, uid_t uid);
 int ms_genarate_uuid(char **uuid);
index 11e5bc7c1782be7f3b347578476febafe561e1af..8d76cc6dbbc5f1461114122ba93e420c24c00a41 100644 (file)
@@ -571,6 +571,19 @@ bool ms_check_support_media_type(const char *path)
 }
 
 #ifdef _USE_TVPD_MODE
+int ms_set_subfolder_validity(sqlite3 *handle, const char *path, int validity, uid_t uid)
+{
+       int ret = MS_MEDIA_ERR_NONE;
+       char *sql = NULL;
+
+       MS_DBG_RETVM_IF(!MS_STRING_VALID(path), MS_MEDIA_ERR_INVALID_PARAMETER, "path is NULL");
+       sql = sqlite3_mprintf("UPDATE folder SET validity=%d WHERE folder_path = ('%q/' || folder_name);", validity, path);
+       ret = media_db_update_db_direct(sql, uid);
+       sqlite3_free(sql);
+
+       return ret;
+}
+
 int ms_update_folder_time(sqlite3 *handle, char *folder_path, uid_t uid)
 {
        int ret = MS_MEDIA_ERR_NONE;
index e07782a82464e702390407814ecee352bfd84275..2f5f7850c0d68360eef66107062d01ca63d26daf 100644 (file)
@@ -943,6 +943,10 @@ gpointer msc_directory_scan_thread(gpointer data)
                                MS_DBG_WARN("check [%.*s] has been modified !!", MAX_MSG_SIZE, scan_data->msg);
                        }
 
+                       ret = ms_set_subfolder_validity(handle, scan_data->msg, MS_INVALID, scan_data->uid);
+                       if (ret != MS_MEDIA_ERR_NONE)
+                               MS_DBG_ERR("error : %d", ret);
+
                        ret = ms_set_folder_item_validity(handle, scan_data->storage_id, scan_data->msg, MS_INVALID, MS_NON_RECURSIVE, scan_data->uid);
                        if (ret != MS_MEDIA_ERR_NONE)
                                MS_DBG_ERR("error : %d", ret);