Browse Source

RemoteFileBrowser: fix file filtering and move it to viewmodel

Signed-off-by: Álvaro Brey <alvaro.brey@nextcloud.com>
Álvaro Brey 3 years ago
parent
commit
2fd97856d8

+ 1 - 5
app/src/main/java/com/nextcloud/talk/remotefilebrowser/activities/RemoteFileBrowserActivity.kt

@@ -139,11 +139,7 @@ class RemoteFileBrowserActivity : AppCompatActivity(), SelectionInterface, Swipe
                         onItemClicked(remoteFileBrowserItem)
                     }
                         .apply {
-                            items = if (remoteFileBrowserItems.size > 1) {
-                                remoteFileBrowserItems.subList(1, remoteFileBrowserItems.size)
-                            } else {
-                                ArrayList()
-                            }
+                            items = remoteFileBrowserItems
                         }
 
                     binding.recyclerView.adapter = adapter

+ 4 - 1
app/src/main/java/com/nextcloud/talk/remotefilebrowser/viewmodels/RemoteFileBrowserItemsViewModel.kt

@@ -88,7 +88,8 @@ class RemoteFileBrowserItemsViewModel @Inject constructor(
         override fun onSubscribe(d: Disposable) = Unit
 
         override fun onNext(response: List<RemoteFileBrowserItem>) {
-            newRemoteFileBrowserItems = fileSortOrder.value!!.sortCloudFiles(response)
+            val itemsWithoutRoot = response.filterNot { it.mimeType == MIME_DIRECTORY && it.path == ROOT_PATH }
+            newRemoteFileBrowserItems = fileSortOrder.value!!.sortCloudFiles(itemsWithoutRoot)
         }
 
         override fun onError(e: Throwable) {
@@ -127,5 +128,7 @@ class RemoteFileBrowserItemsViewModel @Inject constructor(
 
     companion object {
         private val TAG = RemoteFileBrowserItemsViewModel::class.simpleName
+        private const val ROOT_PATH = "/"
+        private const val MIME_DIRECTORY = "inode/directory"
     }
 }