瀏覽代碼

Show "unset encryption" only when E2E is setup

Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
tobiasKaminsky 2 年之前
父節點
當前提交
f18225eda6

+ 1 - 1
app/src/androidTest/java/com/owncloud/android/files/FileMenuFilterIT.kt

@@ -208,7 +208,7 @@ class FileMenuFilterIT : AbstractIT() {
                 sut = filterFactory.newInstance(encryptedEmptyFolder, mockComponentsGetter, true, user)
                 toHide = sut.getToHide(false)
 
-                assertFalse(toHide.contains(R.id.action_unset_encrypted))
+                assertTrue(toHide.contains(R.id.action_unset_encrypted))
                 assertTrue(toHide.contains(R.id.action_remove_file))
                 assertTrue(toHide.contains(R.id.action_encrypted))
 

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

@@ -39,6 +39,7 @@ import com.owncloud.android.files.services.FileUploader.FileUploaderBinder;
 import com.owncloud.android.lib.resources.status.OCCapability;
 import com.owncloud.android.services.OperationsService.OperationsServiceBinder;
 import com.owncloud.android.ui.activity.ComponentsGetter;
+import com.owncloud.android.ui.helpers.FileOperationsHelper;
 import com.owncloud.android.utils.MimeTypeUtil;
 import com.owncloud.android.utils.NextcloudServer;
 
@@ -253,7 +254,7 @@ public class FileMenuFilter {
 
     private void filterUnsetEncrypted(List<Integer> toHide, boolean endToEndEncryptionEnabled) {
         if (!endToEndEncryptionEnabled || files.isEmpty() || !isSingleSelection() || isSingleFile() || !isEncryptedFolder() || hasEncryptedParent()
-            || !isEmptyFolder()) {
+            || !isEmptyFolder() || !FileOperationsHelper.isEndToEndEncryptionSetup(context, user)) {
             toHide.add(R.id.action_unset_encrypted);
         }
     }
@@ -298,7 +299,8 @@ public class FileMenuFilter {
     }
 
     private void filterSync(List<Integer> toHide, boolean synchronizing) {
-        if (files.isEmpty() || (!anyFileDown() && !containsFolder()) || synchronizing) {
+        if (files.isEmpty() || (!anyFileDown() && !containsFolder()) || synchronizing || containsEncryptedFile()
+            || containsEncryptedFolder()) {
             toHide.add(R.id.action_sync_file);
         }
     }