Fix external storage related code 74/243774/1
authorMinje Ahn <minje.ahn@samsung.com>
Thu, 10 Sep 2020 04:34:25 +0000 (13:34 +0900)
committerMinje Ahn <minje.ahn@samsung.com>
Thu, 10 Sep 2020 04:34:25 +0000 (13:34 +0900)
Fixed an issue where media was visible even when external storage was unmounted.

Change-Id: If9a41404970cfb7d9a90e6c8db60abf5d1268312
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
src/common/media-svc-storage.c

index 1cbf692..c2bc9ca 100755 (executable)
@@ -145,11 +145,13 @@ int _media_svc_update_storage_validity(const char *storage_id, int validity, uid
        int ret = MS_MEDIA_ERR_NONE;
        char *sql = NULL;
 
-       if (storage_id == NULL)
-               sql = sqlite3_mprintf("UPDATE %q SET validity=%d", DB_TABLE_STORAGE, validity);
-       else
-               sql = sqlite3_mprintf("UPDATE %q SET validity=%d WHERE storage_id=%Q", DB_TABLE_STORAGE, validity, storage_id);
-
+       if (storage_id == NULL) {
+               sql = sqlite3_mprintf("UPDATE %q SET validity=%d;UPDATE %q SET validity=%d WHERE folder_storage_type > 0;UPDATE %q SET validity=%d WHERE media_storage_type > 0;",
+                       DB_TABLE_STORAGE, validity, DB_TABLE_FOLDER, validity, DB_TABLE_MEDIA, validity);
+       } else {
+               sql = sqlite3_mprintf("UPDATE %q SET validity=%d WHERE storage_id=%Q;UPDATE %q SET validity=%d WHERE storage_uuid=%Q;UPDATE %q SET validity=%d WHERE storage_uuid=%Q;",
+                       DB_TABLE_STORAGE, validity, storage_id, DB_TABLE_FOLDER, validity, storage_id, DB_TABLE_MEDIA, validity, storage_id);
+       }
        ret = _media_svc_sql_query_direct(sql, uid);
        SQLITE3_SAFE_FREE(sql);