Browse Source

fix root filtering after press back

Signed-off-by: alperozturk <alper_ozturk@proton.me>
alperozturk 9 months ago
parent
commit
514fd7e8ce

+ 33 - 0
app/src/main/java/com/owncloud/android/datamodel/FileDataStorageManager.java

@@ -2593,4 +2593,37 @@ public class FileDataStorageManager {
         }
         return false;
     }
+
+    // TODO remove duplicated codes
+    public List<OCFile> getSharedFiles(OCFile file) {
+        if (!file.isRootDirectory()) {
+            return getFolderContent(file,false);
+        }
+
+        final List<OCFile> result = new ArrayList<>();
+        final List<OCFile> allFiles = getAllFiles();
+        for (OCFile ocFile: allFiles) {
+            if (ocFile.isShared()) {
+                result.add(ocFile);
+            }
+        }
+
+        return result;
+    }
+
+    public List<OCFile> getFavoriteFiles(OCFile file) {
+        if (!file.isRootDirectory()) {
+            return getFolderContent(file,false);
+        }
+
+        final List<OCFile> result = new ArrayList<>();
+        final List<OCFile> allFiles = getAllFiles();
+        for (OCFile ocFile: allFiles) {
+            if (ocFile.isFavorite()) {
+                result.add(ocFile);
+            }
+        }
+
+        return result;
+    }
 }

+ 4 - 32
app/src/main/java/com/owncloud/android/ui/adapter/OCFileListAdapter.java

@@ -734,34 +734,6 @@ public class OCFileListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
         return !TextUtils.isEmpty(currentDirectory.getRichWorkspace().trim());
     }
 
-    private List<OCFile> filterSharedFiles(Iterable<OCFile> files) {
-        List<OCFile> ret = new ArrayList<>();
-
-        for (OCFile file : files) {
-            if (file.isShared()) {
-                ret.add(file);
-            }
-        }
-
-        return ret;
-    }
-
-    private List<OCFile> filterFavoriteFiles(Iterable<OCFile> files) {
-        List<OCFile> ret = new ArrayList<>();
-
-        for (OCFile file : files) {
-            if (file.isFavorite()) {
-                ret.add(file);
-            }
-        }
-
-        return ret;
-    }
-
-    private boolean isCurrentDirectoryRoot() {
-        return currentDirectory != null && currentDirectory.isRootDirectory();
-    }
-
     /**
      * Change the adapted directory for a new one
      *
@@ -797,11 +769,11 @@ public class OCFileListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
             }
 
             // TODO refactor add DrawerState instead of using static menuItemId
-            if (DrawerActivity.menuItemId == R.id.nav_shared && isCurrentDirectoryRoot()) {
-                mFiles = filterSharedFiles(mFiles);
+            if (DrawerActivity.menuItemId == R.id.nav_shared && currentDirectory != null) {
+                mFiles = updatedStorageManager.getSharedFiles(currentDirectory);
             }
-            if (DrawerActivity.menuItemId == R.id.nav_favorites && isCurrentDirectoryRoot()) {
-                mFiles = filterFavoriteFiles(mFiles);
+            if (DrawerActivity.menuItemId == R.id.nav_favorites && currentDirectory != null) {
+                mFiles = updatedStorageManager.getFavoriteFiles(currentDirectory);
             }
 
             sortOrder = preferences.getSortOrderByFolder(directory);