Skip to content

Commit 8a58b2e

Browse files
Merge pull request #16108 from nextcloud/fix/sub-file-visibility
fix: sub file visibility
2 parents 7416f51 + 6809763 commit 8a58b2e

File tree

5 files changed

+60
-50
lines changed

5 files changed

+60
-50
lines changed

app/src/main/java/com/nextcloud/model/OCFileFilterType.kt

Lines changed: 0 additions & 13 deletions
This file was deleted.

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

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@
4343
import com.nextcloud.client.database.entity.OfflineOperationEntity;
4444
import com.nextcloud.client.jobs.offlineOperations.repository.OfflineOperationsRepository;
4545
import com.nextcloud.client.jobs.offlineOperations.repository.OfflineOperationsRepositoryType;
46-
import com.nextcloud.model.OCFileFilterType;
4746
import com.nextcloud.model.OfflineOperationRawType;
4847
import com.nextcloud.model.OfflineOperationType;
4948
import com.nextcloud.model.ShareeEntry;
@@ -2755,29 +2754,6 @@ public boolean isPartOfInternalTwoWaySync(OCFile file) {
27552754
return false;
27562755
}
27572756

2758-
public List<OCFile> filter(OCFile file, OCFileFilterType filterType) {
2759-
if (!file.isRootDirectory()) {
2760-
return getFolderContent(file,false);
2761-
}
2762-
2763-
final List<OCFile> result = new ArrayList<>();
2764-
final List<OCFile> allFiles = getAllFiles();
2765-
for (OCFile ocFile: allFiles) {
2766-
boolean condition = false;
2767-
if (filterType == OCFileFilterType.Shared) {
2768-
condition = ocFile.isShared();
2769-
} else if (filterType == OCFileFilterType.Favorite) {
2770-
condition = ocFile.isFavorite();
2771-
}
2772-
2773-
if (condition) {
2774-
result.add(ocFile);
2775-
}
2776-
}
2777-
2778-
return result;
2779-
}
2780-
27812757
@Nullable
27822758
public FileEntity getFileEntity(OCFile file) {
27832759
if (file == null) {

app/src/main/java/com/owncloud/android/datamodel/OCFileListAdapterDataProviderImpl.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ package com.owncloud.android.datamodel
1010
import com.nextcloud.client.database.entity.FileEntity
1111
import com.owncloud.android.ui.adapter.helper.OCFileListAdapterDataProvider
1212

13+
@Suppress("ReturnCount")
1314
class OCFileListAdapterDataProviderImpl(private val storageManager: FileDataStorageManager) :
1415
OCFileListAdapterDataProvider {
1516
override fun convertToOCFiles(id: Long): List<OCFile> =

app/src/main/java/com/owncloud/android/ui/adapter/helper/OCFileListAdapterHelper.kt

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,7 @@ import com.nextcloud.client.preferences.AppPreferences
1212
import com.nextcloud.utils.extensions.filterFilenames
1313
import com.nextcloud.utils.extensions.isTempFile
1414
import com.owncloud.android.MainApp
15-
import com.owncloud.android.R
1615
import com.owncloud.android.datamodel.OCFile
17-
import com.owncloud.android.ui.activity.DrawerActivity
1816
import com.owncloud.android.utils.FileSortOrder
1917
import com.owncloud.android.utils.MimeTypeUtil
2018
import kotlinx.coroutines.CoroutineScope
@@ -23,7 +21,6 @@ import kotlinx.coroutines.Job
2321
import kotlinx.coroutines.SupervisorJob
2422
import kotlinx.coroutines.launch
2523
import kotlinx.coroutines.withContext
26-
import java.util.ArrayList
2724

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

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

93-
if (isSharedView && !file.isShared) {
94-
continue
95-
}
96-
97-
if (isFavoritesView && !file.isFavorite) {
98-
continue
99-
}
100-
10188
if (file.isTempFile()) {
10289
continue
10390
}

app/src/test/java/com/owncloud/android/ui/adapter/OCFileListAdapterHelperTest.kt

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ class OCFileListAdapterHelperTest {
7979
this.localId = localId
8080
etag = "etag_$id"
8181
storagePath = localPath
82+
sharees = emptyList()
8283
}
8384

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

134+
@Test
135+
fun `prepareFileList favorites tab`() = runBlocking {
136+
val env = Sut()
137+
val root = env.root
138+
139+
val sub1 = env.directory("/subDir", 1).apply {
140+
isFavorite = true
141+
}
142+
val file1 = env.file(sub1, "image.jpg", 11, MimeType.JPEG)
143+
val file2 = env.file(sub1, "image2.jpg", 12, MimeType.JPEG)
144+
val file3 = env.file(sub1, "image3.jpg", 13, MimeType.JPEG)
145+
val file4 = env.file(sub1, "vid4.mp4", 14, MimeType.MP4)
146+
val file5 = env.file(sub1, "image5.jpg", 15, MimeType.JPEG)
147+
148+
val sub2 = env.directory("/subDir2", 2).apply {
149+
isFavorite = true
150+
}
151+
val file6 = env.file(sub2, "image6.jpg", 16, MimeType.JPEG)
152+
153+
env.prepare(listOf(root, sub1, sub2, file1, file2, file3, file4, file5, file6))
154+
stubPreferences(sort = FileSortOrder.SORT_A_TO_Z, favFirst = true)
155+
val (list, sort) = env.run(sub1)
156+
assertEquals(
157+
listOf("image.jpg", "image2.jpg", "image3.jpg", "image5.jpg", "vid4.mp4"),
158+
list.map { it.fileName }
159+
)
160+
assertEquals(FileSortOrder.SORT_A_TO_Z, sort)
161+
}
162+
163+
@Test
164+
fun `prepareFileList share tab`() = runBlocking {
165+
val env = Sut()
166+
val root = env.root
167+
168+
val sub1 = env.directory("/subDir", 1).apply {
169+
isSharedViaLink = true
170+
}
171+
val file1 = env.file(sub1, "image.jpg", 11, MimeType.JPEG)
172+
val file2 = env.file(sub1, "image2.jpg", 12, MimeType.JPEG)
173+
val file3 = env.file(sub1, "image3.jpg", 13, MimeType.JPEG)
174+
val file4 = env.file(sub1, "vid4.mp4", 14, MimeType.MP4)
175+
val file5 = env.file(sub1, "image5.jpg", 15, MimeType.JPEG)
176+
177+
val sub2 = env.directory("/subDir2", 2).apply {
178+
isFavorite = true
179+
}
180+
val file6 = env.file(sub2, "image6.jpg", 16, MimeType.JPEG)
181+
182+
env.prepare(listOf(root, sub1, sub2, file1, file2, file3, file4, file5, file6))
183+
stubPreferences(sort = FileSortOrder.SORT_A_TO_Z, favFirst = true)
184+
val (list, sort) = env.run(sub1)
185+
assertEquals(
186+
listOf("image.jpg", "image2.jpg", "image3.jpg", "image5.jpg", "vid4.mp4"),
187+
list.map { it.fileName }
188+
)
189+
assertEquals(FileSortOrder.SORT_A_TO_Z, sort)
190+
}
191+
133192
@Test
134193
fun `prepareFileList with multiple folders and favorites first`() = runBlocking {
135194
val env = Sut()

0 commit comments

Comments
 (0)