diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 62031a373..62607fc2d 100755
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -109,6 +109,14 @@
+
+
+
+
+
+
+
+
diff --git a/app/src/main/java/org/linphone/LinphoneLauncherActivity.java b/app/src/main/java/org/linphone/LinphoneLauncherActivity.java
index a1eecc243..6ff4f5782 100644
--- a/app/src/main/java/org/linphone/LinphoneLauncherActivity.java
+++ b/app/src/main/java/org/linphone/LinphoneLauncherActivity.java
@@ -28,6 +28,7 @@ import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
+import java.util.ArrayList;
import org.linphone.assistant.RemoteProvisioningActivity;
import org.linphone.call.CallActivity;
import org.linphone.contacts.ContactsManager;
@@ -129,7 +130,14 @@ public class LinphoneLauncherActivity extends Activity {
}
} else if (Intent.ACTION_SEND_MULTIPLE.equals(action) && type != null) {
if (type.startsWith("image/")) {
- // TODO : Manage multiple files sharing
+ ArrayList imageUris =
+ intent.getParcelableArrayListExtra(Intent.EXTRA_STREAM);
+ String filePaths = "";
+ for (Uri uri : imageUris) {
+ filePaths += FileUtils.getFilePath(getBaseContext(), uri);
+ filePaths += ":";
+ }
+ newIntent.putExtra("fileShared", filePaths);
}
} else if (ACTION_CALL_LINPHONE.equals(action)
&& (intent.getStringExtra("NumberToCall") != null)) {
diff --git a/app/src/main/java/org/linphone/chat/ChatMessagesFragment.java b/app/src/main/java/org/linphone/chat/ChatMessagesFragment.java
index dbcbbf338..e2d41c1f9 100644
--- a/app/src/main/java/org/linphone/chat/ChatMessagesFragment.java
+++ b/app/src/main/java/org/linphone/chat/ChatMessagesFragment.java
@@ -316,19 +316,13 @@ public class ChatMessagesFragment extends Fragment
if (getArguments() != null) {
String fileSharedUri = getArguments().getString("fileSharedUri");
if (fileSharedUri != null) {
- if (FileUtils.isExtensionImage(fileSharedUri)) {
- addImageToPendingList(fileSharedUri);
- } else {
- if (fileSharedUri.startsWith("content://")
- || fileSharedUri.startsWith("file://")) {
- fileSharedUri =
- FileUtils.getFilePath(
- getActivity().getApplicationContext(),
- Uri.parse(fileSharedUri));
- } else if (fileSharedUri.contains("com.android.contacts/contacts/")) {
- fileSharedUri = FileUtils.getCVSPathFromLookupUri(fileSharedUri).toString();
+ if (fileSharedUri.contains(":")) {
+ String[] files = fileSharedUri.split(":");
+ for (String file : files) {
+ addFileIntoSharingArea(file);
}
- addFileToPendingList(fileSharedUri);
+ } else {
+ addFileIntoSharingArea(fileSharedUri);
}
}
@@ -580,6 +574,21 @@ public class ChatMessagesFragment extends Fragment
return super.onContextItemSelected(item);
}
+ private void addFileIntoSharingArea(String fileSharedUri) {
+ if (FileUtils.isExtensionImage(fileSharedUri)) {
+ addImageToPendingList(fileSharedUri);
+ } else {
+ if (fileSharedUri.startsWith("content://") || fileSharedUri.startsWith("file://")) {
+ fileSharedUri =
+ FileUtils.getFilePath(
+ getActivity().getApplicationContext(), Uri.parse(fileSharedUri));
+ } else if (fileSharedUri.contains("com.android.contacts/contacts/")) {
+ fileSharedUri = FileUtils.getCVSPathFromLookupUri(fileSharedUri).toString();
+ }
+ addFileToPendingList(fileSharedUri);
+ }
+ }
+
private void loadMoreData(final int totalItemsCount) {
mHandler.post(
new Runnable() {