Merge pull request #1051 from owncloud/fix_send
authorDavid A. Velasco <dvelasco@owncloud.com>
Wed, 29 Jul 2015 06:47:14 +0000 (08:47 +0200)
committerDavid A. Velasco <dvelasco@owncloud.com>
Wed, 29 Jul 2015 06:47:14 +0000 (08:47 +0200)
Fix sending of files to external apps when their pathname includes charactes requireing URL encoding.

src/com/owncloud/android/files/FileOperationsHelper.java

index 2f2907d..ddee205 100644 (file)
@@ -188,12 +188,14 @@ public class FileOperationsHelper {
     
     public void sendDownloadedFile(OCFile file) {
         if (file != null) {
+            String storagePath = file.getStoragePath();
+            String encodedStoragePath = WebdavUtils.encodePath(storagePath);
             Intent sendIntent = new Intent(android.content.Intent.ACTION_SEND);
             // set MimeType
             sendIntent.setType(file.getMimetype());
-            sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + file.getStoragePath()));
+            sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + encodedStoragePath));
             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);