Skip to content

Commit a16ca0a

Browse files
committed
Fix: preview album items
Signed-off-by: Surinder Kumar <surinder.kumar@t-systems.com>
1 parent 63d18bc commit a16ca0a

4 files changed

Lines changed: 26 additions & 8 deletions

File tree

app/src/main/java/com/owncloud/android/datamodel/VirtualFolderType.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
/*
22
* Nextcloud - Android Client
33
*
4+
* SPDX-FileCopyrightText: 2025 TSI-mc <surinder.kumar@t-systems.com>
45
* SPDX-FileCopyrightText: 2017 Tobias Kaminsky <tobias@kaminsky.me>
56
* SPDX-FileCopyrightText: 2017 Nextcloud GmbH
67
* SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-only
@@ -12,5 +13,5 @@
1213
* Type for virtual folders
1314
*/
1415
public enum VirtualFolderType {
15-
FAVORITE, GALLERY, NONE
16+
FAVORITE, GALLERY, ALBUM, NONE
1617
}

app/src/main/java/com/owncloud/android/operations/albums/CopyFileToAlbumOperation.kt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -70,11 +70,6 @@ class CopyFileToAlbumOperation(
7070
}
7171

7272
result = CopyFileToAlbumRemoteOperation(srcPath, targetPath).execute(client)
73-
74-
/** 3. local copy */
75-
if (result.isSuccess) {
76-
storageManager.copyLocalFile(file, targetPath)
77-
}
7873
}
7974
}
8075
return result

app/src/main/java/com/owncloud/android/ui/fragment/albums/AlbumItemsFragment.kt

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ package com.owncloud.android.ui.fragment.albums
99

1010
import android.annotation.SuppressLint
1111
import android.app.Activity
12+
import android.content.ContentValues
1213
import android.content.Context
1314
import android.content.Intent
1415
import android.content.res.Configuration
@@ -55,6 +56,8 @@ import com.owncloud.android.databinding.ListFragmentBinding
5556
import com.owncloud.android.datamodel.OCFile
5657
import com.owncloud.android.datamodel.SyncedFolderProvider
5758
import com.owncloud.android.datamodel.ThumbnailsCacheManager
59+
import com.owncloud.android.datamodel.VirtualFolderType
60+
import com.owncloud.android.db.ProviderMeta
5861
import com.owncloud.android.lib.common.OwnCloudClient
5962
import com.owncloud.android.lib.common.utils.Log_OC
6063
import 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)

app/src/main/java/com/owncloud/android/ui/preview/PreviewImagePagerAdapter.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
/*
22
* Nextcloud - Android Client
33
*
4+
* SPDX-FileCopyrightText: 2025 TSI-mc <surinder.kumar@t-systems.com>
45
* SPDX-FileCopyrightText: 2023 Alper Ozturk <alper.ozturk@nextcloud.com>
56
* SPDX-FileCopyrightText: 2018 Tobias Kaminsky <tobias@kaminsky.me>
67
* SPDX-FileCopyrightText: 2020 Chris Narkiewicz <hello@ezaquarii.com>
@@ -97,6 +98,9 @@ class PreviewImagePagerAdapter : FragmentStateAdapter {
9798
if (type == VirtualFolderType.GALLERY) {
9899
imageFiles = mStorageManager.allGalleryItems
99100
imageFiles = FileStorageUtils.sortOcFolderDescDateModifiedWithoutFavoritesFirst(imageFiles)
101+
} else if (type == VirtualFolderType.ALBUM) {
102+
imageFiles = mStorageManager.getVirtualFolderContent(type, false)
103+
imageFiles = FileStorageUtils.sortOcFolderDescDateModifiedWithoutFavoritesFirst(imageFiles)
100104
} else {
101105
imageFiles = mStorageManager.getVirtualFolderContent(type, true)
102106
}

0 commit comments

Comments
 (0)