Merge branch 'setAsWallpaper' into beta
authortobiasKaminsky <tobias@kaminsky.me>
Mon, 2 Nov 2015 08:38:24 +0000 (09:38 +0100)
committertobiasKaminsky <tobias@kaminsky.me>
Mon, 2 Nov 2015 08:38:24 +0000 (09:38 +0100)
res/menu/file_actions_menu.xml
res/values/strings.xml
src/com/owncloud/android/files/FileOperationsHelper.java
src/com/owncloud/android/ui/preview/PreviewImageFragment.java

index 9b742d1..44caabf 100644 (file)
         android:icon="@android:drawable/ic_menu_set_as"
         android:orderInCategory="1" />
     <item
+        android:id="@+id/action_set_as_wallpaper"
+        android:title="@string/set_picture_as"
+        android:icon="@android:drawable/ic_menu_set_as"
+        android:orderInCategory="1" />
+    <item
         android:id="@+id/action_see_details"
         android:title="@string/actionbar_see_details"
         android:icon="@android:drawable/ic_menu_info_details"
index 2e35e5f..c4b93e0 100644 (file)
     <string name="error_log_title">Error Log</string>
     <string name="action_stream_file">Stream file with external player</string>
     <string name="stream_expose_password">Do you want to stream this file with an external app?\n\nCAUTION: This may expose your password!</string>
+    <string name="set_picture_as">Set picture as</string>
 
 </resources>
index e799e17..8722ccf 100644 (file)
@@ -51,6 +51,7 @@ import com.owncloud.android.ui.dialog.ShareLinkToDialog;
 
 import org.apache.http.protocol.HTTP;
 
+import java.io.File;
 import java.util.List;
 
 import java.io.ByteArrayOutputStream;
@@ -248,6 +249,19 @@ public class FileOperationsHelper {
         }
     }
 
+    public void setPictureAs(OCFile file) {
+        if (file != null || file.isDown()) {
+            File externalFile=new File(file.getStoragePath());
+            Uri sendUri = Uri.fromFile(externalFile);
+            Intent intent = new Intent(Intent.ACTION_ATTACH_DATA);
+            intent.setDataAndType(sendUri, file.getMimetype());
+            intent.putExtra("mimeType", file.getMimetype());
+            mFileActivity.startActivityForResult(Intent.createChooser(intent, "Set As"), 200);
+        } else {
+            Log_OC.wtf(TAG, "Trying to send a NULL OCFile");
+        }
+    }
+
     public void sendCachedImage(OCFile file) {
         if (file != null) {
             Intent sendIntent = new Intent(android.content.Intent.ACTION_SEND);
index dc96b9f..2e4ffb5 100644 (file)
@@ -367,6 +367,10 @@ public class PreviewImageFragment extends FileFragment {
                 mContainerActivity.getFileOperationsHelper().toggleFavorite(getFile(), false);
                 return true;
             }
+            case R.id.action_set_as_wallpaper:{
+                mContainerActivity.getFileOperationsHelper().setPictureAs(getFile());
+                return true;
+            }
             default:
                 return false;
         }