@@ -9,6 +9,7 @@ package com.owncloud.android.ui.fragment.albums
99
1010import android.annotation.SuppressLint
1111import android.app.Activity
12+ import android.content.ContentValues
1213import android.content.Context
1314import android.content.Intent
1415import android.content.res.Configuration
@@ -55,6 +56,8 @@ import com.owncloud.android.databinding.ListFragmentBinding
5556import com.owncloud.android.datamodel.OCFile
5657import com.owncloud.android.datamodel.SyncedFolderProvider
5758import com.owncloud.android.datamodel.ThumbnailsCacheManager
59+ import com.owncloud.android.datamodel.VirtualFolderType
60+ import com.owncloud.android.db.ProviderMeta
5861import com.owncloud.android.lib.common.OwnCloudClient
5962import com.owncloud.android.lib.common.utils.Log_OC
6063import com.owncloud.android.lib.resources.albums.ReadAlbumItemsRemoteOperation
@@ -309,7 +312,10 @@ class AlbumItemsFragment : Fragment(), OCFileListFragmentInterface, Injectable {
309312 val ocFileList = mutableListOf<OCFile >()
310313
311314 if (result?.isSuccess == true && result.resultData != null ) {
312- for (remoteFile in result.getResultData()) {
315+ mContainerActivity?.storageManager?.deleteVirtuals(VirtualFolderType .ALBUM )
316+ val contentValues = mutableListOf<ContentValues >()
317+
318+ for (remoteFile in result.resultData) {
313319 var ocFile = mContainerActivity?.storageManager?.getFileByLocalId(remoteFile.localId)
314320 if (ocFile == null ) {
315321 ocFile = FileStorageUtils .fillOCFile(remoteFile)
@@ -320,7 +326,15 @@ class AlbumItemsFragment : Fragment(), OCFileListFragmentInterface, Injectable {
320326 ocFile.decryptedRemotePath = remoteFile.remotePath
321327 }
322328 ocFileList.add(ocFile!! )
329+
330+ val cv = ContentValues ()
331+ cv.put(ProviderMeta .ProviderTableMeta .VIRTUAL_TYPE , VirtualFolderType .ALBUM .toString())
332+ cv.put(ProviderMeta .ProviderTableMeta .VIRTUAL_OCFILE_ID , ocFile.fileId)
333+
334+ contentValues.add(cv)
323335 }
336+
337+ mContainerActivity?.storageManager?.saveVirtuals(contentValues)
324338 }
325339 withContext(Dispatchers .Main ) {
326340 if (result?.isSuccess == true && result.resultData != null ) {
@@ -482,7 +496,11 @@ class AlbumItemsFragment : Fragment(), OCFileListFragmentInterface, Injectable {
482496 toggleItemToCheckedList(file)
483497 } else {
484498 if (PreviewImageFragment .canBePreviewed(file)) {
485- (mContainerActivity as FileDisplayActivity ).startImagePreview(file, ! file.isDown)
499+ (mContainerActivity as FileDisplayActivity ).startImagePreview(
500+ file,
501+ VirtualFolderType .ALBUM ,
502+ ! file.isDown
503+ )
486504 } else if (file.isDown) {
487505 if (canBePreviewed(file)) {
488506 (mContainerActivity as FileDisplayActivity ).startMediaPreview(file, 0 , true , true , false , true )
0 commit comments