Parcourir la source

properly show menu item & support wallpaper from list view too

Andy Scherzinger il y a 9 ans
Parent
commit
2a5d8a8aa6

+ 5 - 2
src/com/owncloud/android/files/FileMenuFilter.java

@@ -244,12 +244,11 @@ public class FileMenuFilter {
         }
 
         // SET PICTURE AS
-        if (mFile == null || !mFile.isImage()){
+        if (!isSingleImage()) {
             toHide.add(R.id.action_set_as_wallpaper);
         } else {
             toShow.add(R.id.action_set_as_wallpaper);
         }
-
     }
 
     private boolean anyFileSynchronizing() {
@@ -305,6 +304,10 @@ public class FileMenuFilter {
         return isSingleSelection() && !mFiles.iterator().next().isFolder();
     }
 
+    private boolean isSingleImage() {
+        return isSingleSelection() && mFiles.iterator().next().isImage();
+    }
+
     private boolean allFiles() {
         return mFiles != null && !containsFolder();
     }

+ 4 - 0
src/com/owncloud/android/ui/fragment/OCFileListFragment.java

@@ -684,6 +684,10 @@ public class OCFileListFragment extends ExtendedListFragment {
                     }
                     return true;
                 }
+                case R.id.action_set_as_wallpaper: {
+                    mContainerActivity.getFileOperationsHelper().setPictureAs(singleFile);
+                    return true;
+                }
             }
         }
 

+ 3 - 2
src/com/owncloud/android/ui/preview/PreviewImageFragment.java

@@ -227,8 +227,9 @@ public class PreviewImageFragment extends FileFragment {
         super.onCreateOptionsMenu(menu, inflater);
         inflater.inflate(R.menu.file_actions_menu, menu);
 
-        MenuItem item = menu.findItem(R.id.action_set_as_wallpaper);
-        item.setVisible(getFile().isDown());
+        if(getFile().isDown() && getFile().isImage()) {
+            menu.findItem(R.id.action_set_as_wallpaper).setVisible(false);
+        }
     }
 
     /**