소스 검색

Merge pull request #1051 from owncloud/fix_send

Fix sending of files to external apps when their pathname includes charactes requireing URL encoding.
David A. Velasco 10 년 전
부모
커밋
5d421b61e3
1개의 변경된 파일4개의 추가작업 그리고 2개의 파일을 삭제
  1. 4 2
      src/com/owncloud/android/files/FileOperationsHelper.java

+ 4 - 2
src/com/owncloud/android/files/FileOperationsHelper.java

@@ -188,12 +188,14 @@ public class FileOperationsHelper {
     
     
     public void sendDownloadedFile(OCFile file) {
     public void sendDownloadedFile(OCFile file) {
         if (file != null) {
         if (file != null) {
+            String storagePath = file.getStoragePath();
+            String encodedStoragePath = WebdavUtils.encodePath(storagePath);
             Intent sendIntent = new Intent(android.content.Intent.ACTION_SEND);
             Intent sendIntent = new Intent(android.content.Intent.ACTION_SEND);
             // set MimeType
             // set MimeType
             sendIntent.setType(file.getMimetype());
             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
             sendIntent.putExtra(Intent.ACTION_SEND, true);      // Send Action
-            
+
             // Show dialog, without the own app
             // Show dialog, without the own app
             String[] packagesToExclude = new String[] { mFileActivity.getPackageName() };
             String[] packagesToExclude = new String[] { mFileActivity.getPackageName() };
             DialogFragment chooserDialog = ShareLinkToDialog.newInstance(sendIntent, packagesToExclude, file);
             DialogFragment chooserDialog = ShareLinkToDialog.newInstance(sendIntent, packagesToExclude, file);