From: tobiasKaminsky Date: Mon, 2 Nov 2015 19:10:21 +0000 (+0100) Subject: Merge remote-tracking branch 'upstream/beta' into beta X-Git-Tag: beta-20151122~45^2~2 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/c43335f474f302dffbf17675904e83675967c196?hp=01115a1cd50362a22924845ddc72c74467ad5d10 Merge remote-tracking branch 'upstream/beta' into beta --- diff --git a/AndroidManifest.xml b/AndroidManifest.xml index b069594a..df50e724 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -118,7 +118,8 @@ + android:authorities="com.owncloud.imageCache.providerBeta" + android:exported="true"> + Error Log Stream file with external player Do you want to stream this file with an external app?\n\nCAUTION: This may expose your password! + Set picture as diff --git a/src/com/owncloud/android/files/FileOperationsHelper.java b/src/com/owncloud/android/files/FileOperationsHelper.java index e799e176..68c5662e 100644 --- a/src/com/owncloud/android/files/FileOperationsHelper.java +++ b/src/com/owncloud/android/files/FileOperationsHelper.java @@ -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,40 @@ public class FileOperationsHelper { } } + public void setPictureAs(OCFile file) { + if (file != null){ + if (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 { + // TODO re-enable after resized images is available + Uri sendUri = Uri.parse("content://" + DiskLruImageCacheFileProvider.AUTHORITY + file.getRemotePath()); + 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); + +// Intent sendIntent = new Intent(android.content.Intent.ACTION_SEND); +// // set MimeType +// sendIntent.setType(file.getMimetype()); +//// sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("content://" + DiskLruImageCacheFileProvider.AUTHORITY + "/#" + file.getRemoteId() + "#" + file.getFileName())); +// sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("content://" + DiskLruImageCacheFileProvider.AUTHORITY + file.getRemotePath())); +// sendIntent.putExtra(Intent.ACTION_SEND, true); // Send Action +// +// // Show dialog, without the own app +// String[] packagesToExclude = new String[] { mFileActivity.getPackageName() }; +// DialogFragment chooserDialog = ShareLinkToDialog.newInstance(sendIntent, packagesToExclude, file); +// chooserDialog.show(mFileActivity.getSupportFragmentManager(), FTAG_CHOOSER_DIALOG); + } + } 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); diff --git a/src/com/owncloud/android/ui/adapter/DiskLruImageCacheFileProvider.java b/src/com/owncloud/android/ui/adapter/DiskLruImageCacheFileProvider.java index fe3f6ea2..5c32ad51 100644 --- a/src/com/owncloud/android/ui/adapter/DiskLruImageCacheFileProvider.java +++ b/src/com/owncloud/android/ui/adapter/DiskLruImageCacheFileProvider.java @@ -47,10 +47,11 @@ import java.io.IOException; public class DiskLruImageCacheFileProvider extends ContentProvider { private static String TAG = FileDataStorageManager.class.getSimpleName(); - public static final String AUTHORITY = "com.owncloud.imageCache.provider"; + public static final String AUTHORITY = "com.owncloud.imageCache.providerBeta"; @Override public ParcelFileDescriptor openFile(Uri uri, String mode) throws FileNotFoundException { + Log_OC.d(TAG, "try to send: " + uri); Account account = AccountUtils.getCurrentOwnCloudAccount(MainApp.getAppContext()); FileDataStorageManager fileDataStorageManager = new FileDataStorageManager(account, MainApp.getAppContext().getContentResolver()); diff --git a/src/com/owncloud/android/ui/preview/PreviewImageFragment.java b/src/com/owncloud/android/ui/preview/PreviewImageFragment.java index dc96b9f2..f01528a2 100644 --- a/src/com/owncloud/android/ui/preview/PreviewImageFragment.java +++ b/src/com/owncloud/android/ui/preview/PreviewImageFragment.java @@ -264,6 +264,9 @@ public class PreviewImageFragment extends FileFragment { public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { 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()); } /** @@ -367,6 +370,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; }