diff --git a/src/org/linphone/ChatFragment.java b/src/org/linphone/ChatFragment.java index bfd8d5187..a1f27785b 100644 --- a/src/org/linphone/ChatFragment.java +++ b/src/org/linphone/ChatFragment.java @@ -392,7 +392,7 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC private void displayImageMessage(int id, Bitmap image, long time, boolean isIncoming, LinphoneChatMessage.State status, RelativeLayout layout, final String url, boolean show) { id = checkId(id); - BubbleChat bubble = new BubbleChat(layout.getContext(), id, null, image, time, isIncoming, status, url, previousMessageID); + final BubbleChat bubble = new BubbleChat(layout.getContext(), id, null, image, time, isIncoming, status, url, previousMessageID); if (!isIncoming) { lastSentMessageBubble = bubble; } @@ -411,7 +411,8 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC final Bitmap bm = ChatFragment.downloadImage(url); if (bm != null) { if (useLinphoneMessageStorage) { - saveImage(bm, finalId, null); + String newFileUrl = saveImage(bm, finalId, null); + bubble.updateUrl(newFileUrl); } else { LinphoneActivity.instance().getChatStorage().saveImage(finalId, bm); } diff --git a/src/org/linphone/ui/BubbleChat.java b/src/org/linphone/ui/BubbleChat.java index a154145de..73af4b434 100644 --- a/src/org/linphone/ui/BubbleChat.java +++ b/src/org/linphone/ui/BubbleChat.java @@ -88,9 +88,11 @@ public class BubbleChat { private RelativeLayout view; private ImageView statusView; private Button downloadOrShow; + private String imageUrl; - public BubbleChat(final Context context, int id, String message, Bitmap image, long time, boolean isIncoming, LinphoneChatMessage.State status, final String url, int previousID) { + public BubbleChat(final Context context, int id, String message, Bitmap image, long time, boolean isIncoming, LinphoneChatMessage.State status, String url, int previousID) { view = new RelativeLayout(context); + imageUrl = url; LayoutParams layoutParams = new LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); @@ -156,7 +158,7 @@ public class BubbleChat { @Override public void onClick(View v) { Intent intent = new Intent(Intent.ACTION_VIEW); - intent.setDataAndType(Uri.parse("file://" + url), "image/*"); + intent.setDataAndType(Uri.parse("file://" + imageUrl), "image/*"); context.startActivity(intent); } }); @@ -292,4 +294,8 @@ public class BubbleChat { downloadOrShow.setText(buttonName); } } + + public void updateUrl(String newFileUrl) { + imageUrl = newFileUrl; + } }