Browse Source

Merge pull request #10388 from nextcloud/unsetEncryptedFolder

Only allow folder to unset if not in e2e subtree
Tobias Kaminsky 2 năm trước cách đây
mục cha
commit
d14ba71b10

+ 9 - 2
app/src/main/java/com/owncloud/android/files/FileMenuFilter.java

@@ -319,8 +319,8 @@ public class FileMenuFilter {
     }
 
     private void filterUnsetEncrypted(List<Integer> toShow, List<Integer> toHide, boolean endToEndEncryptionEnabled) {
-        if (files.isEmpty() || !isSingleSelection() || isSingleFile() || !isEncryptedFolder()
-                || !endToEndEncryptionEnabled) {
+        if (files.isEmpty() || !isSingleSelection() || isSingleFile() || !isEncryptedFolder() || hasEncryptedParent()
+            || !endToEndEncryptionEnabled) {
             toHide.add(R.id.action_unset_encrypted);
         } else {
             toShow.add(R.id.action_unset_encrypted);
@@ -550,6 +550,13 @@ public class FileMenuFilter {
         return files.iterator().next().isGroupFolder();
     }
 
+    private boolean hasEncryptedParent() {
+        OCFile folder = files.iterator().next();
+        OCFile parent = componentsGetter.getStorageManager().getFileById(folder.getParentId());
+
+        return parent != null && parent.isEncrypted();
+    }
+
     private boolean isSingleImage() {
         return isSingleSelection() && MimeTypeUtil.isImage(files.iterator().next());
     }