Bläddra i källkod

FileMenuFilter: Allow "Send" for single files if in file detail fragment

Signed-off-by: Álvaro Brey Vilas <alvaro.brey@nextcloud.com>
Álvaro Brey Vilas 3 år sedan
förälder
incheckning
7d258f9793
1 ändrade filer med 12 tillägg och 6 borttagningar
  1. 12 6
      src/main/java/com/owncloud/android/files/FileMenuFilter.java

+ 12 - 6
src/main/java/com/owncloud/android/files/FileMenuFilter.java

@@ -193,7 +193,7 @@ public class FileMenuFilter {
         filterCancelSync(toShow, toHide, synchronizing);
         filterSync(toShow, toHide, synchronizing);
         filterShareFile(toShow, toHide, capability);
-        filterSendFiles(toShow, toHide);
+        filterSendFiles(toShow, toHide, inSingleFileFragment);
         filterDetails(toShow, toHide);
         filterFavorite(toShow, toHide, synchronizing);
         filterUnfavorite(toShow, toHide, synchronizing);
@@ -213,12 +213,18 @@ public class FileMenuFilter {
         }
     }
 
-    private void filterSendFiles(List<Integer> toShow, List<Integer> toHide) {
-        if (containsEncryptedFile() || isSingleSelection() || overflowMenu || !anyFileDown() ||
-            SEND_OFF.equalsIgnoreCase(context.getString(R.string.send_files_to_other_apps))) {
-            toHide.add(R.id.action_send_file);
-        } else {
+    private void filterSendFiles(List<Integer> toShow, List<Integer> toHide, boolean inSingleFileFragment) {
+        boolean show = true;
+        if (containsEncryptedFile() || overflowMenu || SEND_OFF.equalsIgnoreCase(context.getString(R.string.send_files_to_other_apps))) {
+            show = false;
+        }
+        if (!inSingleFileFragment && (isSingleSelection() || !anyFileDown())) {
+            show = false;
+        }
+        if (show) {
             toShow.add(R.id.action_send_file);
+        } else {
+            toHide.add(R.id.action_send_file);
         }
     }