Fix issue in display of messages when using liblinphone storage

This commit is contained in:
Sylvain Berfini 2013-08-12 14:04:40 +02:00
parent e1153f938f
commit 679c89b2ea

View file

@ -365,7 +365,15 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC
scrollToEnd();
}
private int checkId(int id) {
if (id <= 0) {
return previousMessageID + 1;
}
return id;
}
private void displayMessage(int id, String message, String time, boolean isIncoming, LinphoneChatMessage.State status, RelativeLayout layout) {
id = checkId(id);
BubbleChat bubble = new BubbleChat(layout.getContext(), id, message, null, time, isIncoming, status, previousMessageID);
if (!isIncoming) {
lastSentMessageBubble = bubble;
@ -377,13 +385,15 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC
registerForContextMenu(v);
}
private void displayImageMessage(final int id, Bitmap image, String time, boolean isIncoming, LinphoneChatMessage.State status, RelativeLayout layout, final String url) {
private void displayImageMessage(int id, Bitmap image, String time, boolean isIncoming, LinphoneChatMessage.State status, RelativeLayout layout, final String url) {
id = checkId(id);
BubbleChat bubble = new BubbleChat(layout.getContext(), id, null, image, time, isIncoming, status, previousMessageID);
if (!isIncoming) {
lastSentMessageBubble = bubble;
}
final View v = bubble.getView();
final int finalId = id;
bubble.setDownloadImageButtonListener(new OnClickListener() {
@Override
public void onClick(View view) {
@ -392,7 +402,7 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC
public void run() {
final Bitmap bm = ChatFragment.downloadImage(url);
if (bm != null) {
LinphoneActivity.instance().getChatStorage().saveImage(id, bm);
LinphoneActivity.instance().getChatStorage().saveImage(finalId, bm);
mHandler.post(new Runnable() {
@Override
public void run() {