Эх сурвалжийг харах

Hide download is only working for >=NC15

Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
tobiasKaminsky 6 жил өмнө
parent
commit
c72076ae21

+ 1 - 1
src/main/java/com/owncloud/android/ui/fragment/FileDetailSharingFragment.java

@@ -309,7 +309,7 @@ public class FileDetailSharingFragment extends Fragment implements UserListAdapt
                 publicShare.getPermissions()
         );
         SharingMenuHelper.setupHideFileDownload(menu.findItem(R.id.action_hide_file_download),
-            publicShare.isHideFileDownload(), file.isFolder());
+            publicShare.isHideFileDownload(), file.isFolder(), capabilities);
         SharingMenuHelper.setupPasswordMenuItem(
                 menu.findItem(R.id.action_password),
                 publicShare.isPasswordProtected()

+ 9 - 7
src/main/java/com/owncloud/android/ui/fragment/util/SharingMenuHelper.java

@@ -25,6 +25,7 @@ import android.view.MenuItem;
 
 import com.owncloud.android.R;
 import com.owncloud.android.lib.resources.shares.OCShare;
+import com.owncloud.android.lib.resources.status.OCCapability;
 
 import java.text.SimpleDateFormat;
 import java.util.Date;
@@ -64,16 +65,17 @@ public final class SharingMenuHelper {
 
     /**
      * Sets checked/visibility state on the given {@link MenuItem} based on the given criteria.
-     *
-     * @param fileListing the {@link MenuItem} to be setup
+     *  @param menuItem the {@link MenuItem} to be setup
      * @param isFolder    flag if it is a folder
+     * @param capabilities
      */
-    public static void setupHideFileDownload(MenuItem fileListing, boolean hideFileDownload, boolean isFolder) {
-        if (isFolder) {
-            fileListing.setVisible(false);
+    public static void setupHideFileDownload(MenuItem menuItem, boolean hideFileDownload, boolean isFolder,
+                                             OCCapability capabilities) {
+        if (isFolder || !capabilities.getVersion().isHideFileDownloadSupported()) {
+            menuItem.setVisible(false);
         } else {
-            fileListing.setVisible(true);
-            fileListing.setChecked(hideFileDownload);
+            menuItem.setVisible(true);
+            menuItem.setChecked(hideFileDownload);
         }
     }