From a2747d3734641f798cf6c50ec3ce9f0bbc610d96 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Tue, 17 Mar 2015 10:46:07 +0100 Subject: [PATCH] Added cancel for file upload and fix crash when clicking on sent picture --- src/org/linphone/ChatFragment.java | 13 ++++++++++--- src/org/linphone/ui/BubbleChat.java | 1 + 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/org/linphone/ChatFragment.java b/src/org/linphone/ChatFragment.java index 29357f913..2f4d33de8 100644 --- a/src/org/linphone/ChatFragment.java +++ b/src/org/linphone/ChatFragment.java @@ -105,6 +105,7 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC private LinphoneCoreListenerBase mListener; private ByteArrayOutputStream mDownloadedImageStream; private int mDownloadedImageStreamSize; + private LinphoneChatMessage currentMessageInFileTransferUploadState; public static boolean isInstanciated() { return instance != null; @@ -173,9 +174,13 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC cancelUpload.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - uploadLayout.setVisibility(View.GONE); - textLayout.setVisibility(View.VISIBLE); - progressBar.setProgress(0); + if (currentMessageInFileTransferUploadState != null) { + uploadLayout.setVisibility(View.GONE); + textLayout.setVisibility(View.VISIBLE); + progressBar.setProgress(0); + currentMessageInFileTransferUploadState.cancelFileTransfer(); + currentMessageInFileTransferUploadState = null; + } } }); @@ -507,6 +512,7 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC textLayout.setVisibility(View.GONE); chatRoom.sendChatMessage(message); + currentMessageInFileTransferUploadState = message; } else { Log.e("Error, bitmap factory can't read " + path); } @@ -641,6 +647,7 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC uploadLayout.setVisibility(View.GONE); textLayout.setVisibility(View.VISIBLE); progressBar.setProgress(0); + currentMessageInFileTransferUploadState = null; } invalidate(); } diff --git a/src/org/linphone/ui/BubbleChat.java b/src/org/linphone/ui/BubbleChat.java index 57a9d7029..d2bca2e15 100644 --- a/src/org/linphone/ui/BubbleChat.java +++ b/src/org/linphone/ui/BubbleChat.java @@ -200,6 +200,7 @@ public class BubbleChat { } } else { bm = BitmapFactory.decodeFile(appData); + appData = "file://" + appData; } if (bm != null) {