diff --git a/app/src/main/java/com/owncloud/android/files/FileMenuFilter.java b/app/src/main/java/com/owncloud/android/files/FileMenuFilter.java index 1f8e301f09..e214c66c2f 100644 --- a/app/src/main/java/com/owncloud/android/files/FileMenuFilter.java +++ b/app/src/main/java/com/owncloud/android/files/FileMenuFilter.java @@ -319,8 +319,8 @@ public class FileMenuFilter { } private void filterUnsetEncrypted(List toShow, List 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()); }