From aa5dba949a0f5b2bbf887e14ffe859e49f768a75 Mon Sep 17 00:00:00 2001 From: Christian Schneppe Date: Sat, 4 Mar 2017 18:26:07 +0100 Subject: Keep draft even when correcting previously sent msg --- .../de/pixart/messenger/ui/ConversationFragment.java | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'src/main/java/de/pixart/messenger/ui/ConversationFragment.java') diff --git a/src/main/java/de/pixart/messenger/ui/ConversationFragment.java b/src/main/java/de/pixart/messenger/ui/ConversationFragment.java index 801c47e60..8e8fb5e46 100644 --- a/src/main/java/de/pixart/messenger/ui/ConversationFragment.java +++ b/src/main/java/de/pixart/messenger/ui/ConversationFragment.java @@ -355,11 +355,11 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa break; case CANCEL: if (conversation != null) { - if (conversation.getCorrectingMessage() != null) { - conversation.setCorrectingMessage(null); + if (conversation.setCorrectingMessage(null)) { mEditMessage.getEditableText().clear(); - } - if (conversation.getMode() == Conversation.MODE_MULTI) { + mEditMessage.getEditableText().append(conversation.getDraftMessage()); + conversation.setDraftMessage(null); + } else if (conversation.getMode() == Conversation.MODE_MULTI) { conversation.setNextCounterpart(null); } updateChatMsgHint(); @@ -873,6 +873,8 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa message = message.next(); } this.conversation.setCorrectingMessage(message); + final Editable editable = mEditMessage.getText(); + this.conversation.setDraftMessage(editable.toString()); this.mEditMessage.getEditableText().clear(); this.mEditMessage.getEditableText().append(message.getBody()); @@ -1107,8 +1109,12 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa } protected void messageSent() { - mEditMessage.getEditableText().clear(); - conversation.setCorrectingMessage(null); + Editable editable = mEditMessage.getEditableText(); + editable.clear(); + if (conversation.setCorrectingMessage(null)) { + editable.append(conversation.getDraftMessage()); + conversation.setDraftMessage(null); + } updateChatMsgHint(); new Handler().post(new Runnable() { @Override -- cgit v1.2.3