diff --git a/src/org/linphone/ChatFragment.java b/src/org/linphone/ChatFragment.java index cec09d33a..a97ac14f5 100644 --- a/src/org/linphone/ChatFragment.java +++ b/src/org/linphone/ChatFragment.java @@ -311,8 +311,25 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC }); } - public void changeDisplayedChat(String sipUri, String displayName, String pictureUri) { - this.sipUri = sipUri; + public void changeDisplayedChat(String newSipUri, String displayName, String pictureUri) { + if (!message.getText().toString().equals("") && LinphoneActivity.isInstanciated()) { + ChatStorage chatStorage = LinphoneActivity.instance().getChatStorage(); + if (chatStorage.getDraft(sipUri) == null) { + chatStorage.saveDraft(sipUri, message.getText().toString()); + } else { + chatStorage.updateDraft(sipUri, message.getText().toString()); + } + } else if (LinphoneActivity.isInstanciated()) { + LinphoneActivity.instance().getChatStorage().deleteDraft(sipUri); + } + + sipUri = newSipUri; + if (LinphoneActivity.isInstanciated()) { + String draft = LinphoneActivity.instance().getChatStorage().getDraft(sipUri); + if (draft == null) + draft = ""; + message.setText(draft); + } displayChat(displayName, pictureUri); } diff --git a/src/org/linphone/ChatListFragment.java b/src/org/linphone/ChatListFragment.java index f27326893..4f0a4a224 100644 --- a/src/org/linphone/ChatListFragment.java +++ b/src/org/linphone/ChatListFragment.java @@ -21,7 +21,6 @@ import java.util.List; import org.linphone.core.LinphoneAddress; import org.linphone.core.LinphoneCoreFactory; -import org.linphone.core.Log; import android.os.Bundle; import android.os.Handler;