浏览代码

Only allow folder to unset if not in e2e subtree

Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
tobiasKaminsky 2 年之前
父节点
当前提交
d31ba4b3e6
共有 1 个文件被更改,包括 9 次插入2 次删除
  1. 9 2
      app/src/main/java/com/owncloud/android/files/FileMenuFilter.java

+ 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());
     }