Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 0 additions & 13 deletions app/src/main/java/com/nextcloud/model/OCFileFilterType.kt

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,6 @@
import com.nextcloud.client.database.entity.OfflineOperationEntity;
import com.nextcloud.client.jobs.offlineOperations.repository.OfflineOperationsRepository;
import com.nextcloud.client.jobs.offlineOperations.repository.OfflineOperationsRepositoryType;
import com.nextcloud.model.OCFileFilterType;
import com.nextcloud.model.OfflineOperationRawType;
import com.nextcloud.model.OfflineOperationType;
import com.nextcloud.model.ShareeEntry;
Expand Down Expand Up @@ -2755,29 +2754,6 @@ public boolean isPartOfInternalTwoWaySync(OCFile file) {
return false;
}

public List<OCFile> filter(OCFile file, OCFileFilterType filterType) {
if (!file.isRootDirectory()) {
return getFolderContent(file,false);
}

final List<OCFile> result = new ArrayList<>();
final List<OCFile> allFiles = getAllFiles();
for (OCFile ocFile: allFiles) {
boolean condition = false;
if (filterType == OCFileFilterType.Shared) {
condition = ocFile.isShared();
} else if (filterType == OCFileFilterType.Favorite) {
condition = ocFile.isFavorite();
}

if (condition) {
result.add(ocFile);
}
}

return result;
}

@Nullable
public FileEntity getFileEntity(OCFile file) {
if (file == null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ package com.owncloud.android.datamodel
import com.nextcloud.client.database.entity.FileEntity
import com.owncloud.android.ui.adapter.helper.OCFileListAdapterDataProvider

@Suppress("ReturnCount")
class OCFileListAdapterDataProviderImpl(private val storageManager: FileDataStorageManager) :
OCFileListAdapterDataProvider {
override fun convertToOCFiles(id: Long): List<OCFile> =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,7 @@ import com.nextcloud.client.preferences.AppPreferences
import com.nextcloud.utils.extensions.filterFilenames
import com.nextcloud.utils.extensions.isTempFile
import com.owncloud.android.MainApp
import com.owncloud.android.R
import com.owncloud.android.datamodel.OCFile
import com.owncloud.android.ui.activity.DrawerActivity
import com.owncloud.android.utils.FileSortOrder
import com.owncloud.android.utils.MimeTypeUtil
import kotlinx.coroutines.CoroutineScope
Expand All @@ -23,7 +21,6 @@ import kotlinx.coroutines.Job
import kotlinx.coroutines.SupervisorJob
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import java.util.ArrayList

class OCFileListAdapterHelper {
private val scope = CoroutineScope(Dispatchers.IO + SupervisorJob())
Expand Down Expand Up @@ -65,8 +62,6 @@ class OCFileListAdapterHelper {
val showHiddenFiles = preferences.isShowHiddenFilesEnabled()
val hasMimeTypeFilter = limitToMimeType.isNotEmpty()
val isRootAndPersonalOnly = (OCFile.ROOT_PATH == directory.remotePath && MainApp.isOnlyPersonFiles())
val isSharedView = (DrawerActivity.menuItemId == R.id.nav_shared)
val isFavoritesView = (DrawerActivity.menuItemId == R.id.nav_favorites)

val rawResult = getFolderContent(directory, dataProvider, onlyOnDevice)
val filtered = ArrayList<OCFile>(rawResult.size)
Expand All @@ -90,14 +85,6 @@ class OCFileListAdapterHelper {
}
}

if (isSharedView && !file.isShared) {
continue
}

if (isFavoritesView && !file.isFavorite) {
continue
}

if (file.isTempFile()) {
continue
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ class OCFileListAdapterHelperTest {
this.localId = localId
etag = "etag_$id"
storagePath = localPath
sharees = emptyList()
}

fun prepare(files: List<OCFile>, offline: OCFile? = null) {
Expand Down Expand Up @@ -130,6 +131,64 @@ class OCFileListAdapterHelperTest {
assertEquals(FileSortOrder.SORT_Z_TO_A, sort)
}

@Test
fun `prepareFileList favorites tab`() = runBlocking {
val env = Sut()
val root = env.root

val sub1 = env.directory("/subDir", 1).apply {
isFavorite = true
}
val file1 = env.file(sub1, "image.jpg", 11, MimeType.JPEG)
val file2 = env.file(sub1, "image2.jpg", 12, MimeType.JPEG)
val file3 = env.file(sub1, "image3.jpg", 13, MimeType.JPEG)
val file4 = env.file(sub1, "vid4.mp4", 14, MimeType.MP4)
val file5 = env.file(sub1, "image5.jpg", 15, MimeType.JPEG)

val sub2 = env.directory("/subDir2", 2).apply {
isFavorite = true
}
val file6 = env.file(sub2, "image6.jpg", 16, MimeType.JPEG)

env.prepare(listOf(root, sub1, sub2, file1, file2, file3, file4, file5, file6))
stubPreferences(sort = FileSortOrder.SORT_A_TO_Z, favFirst = true)
val (list, sort) = env.run(sub1)
assertEquals(
listOf("image.jpg", "image2.jpg", "image3.jpg", "image5.jpg", "vid4.mp4"),
list.map { it.fileName }
)
assertEquals(FileSortOrder.SORT_A_TO_Z, sort)
}

@Test
fun `prepareFileList share tab`() = runBlocking {
val env = Sut()
val root = env.root

val sub1 = env.directory("/subDir", 1).apply {
isSharedViaLink = true
}
val file1 = env.file(sub1, "image.jpg", 11, MimeType.JPEG)
val file2 = env.file(sub1, "image2.jpg", 12, MimeType.JPEG)
val file3 = env.file(sub1, "image3.jpg", 13, MimeType.JPEG)
val file4 = env.file(sub1, "vid4.mp4", 14, MimeType.MP4)
val file5 = env.file(sub1, "image5.jpg", 15, MimeType.JPEG)

val sub2 = env.directory("/subDir2", 2).apply {
isFavorite = true
}
val file6 = env.file(sub2, "image6.jpg", 16, MimeType.JPEG)

env.prepare(listOf(root, sub1, sub2, file1, file2, file3, file4, file5, file6))
stubPreferences(sort = FileSortOrder.SORT_A_TO_Z, favFirst = true)
val (list, sort) = env.run(sub1)
assertEquals(
listOf("image.jpg", "image2.jpg", "image3.jpg", "image5.jpg", "vid4.mp4"),
list.map { it.fileName }
)
assertEquals(FileSortOrder.SORT_A_TO_Z, sort)
}

@Test
fun `prepareFileList with multiple folders and favorites first`() = runBlocking {
val env = Sut()
Expand Down
Loading