diff --git a/res/values/non_localizable_custom.xml b/res/values/non_localizable_custom.xml index 64d0cfc76..e9436e0a4 100644 --- a/res/values/non_localizable_custom.xml +++ b/res/values/non_localizable_custom.xml @@ -61,6 +61,7 @@ true false false + false false false diff --git a/src/org/linphone/ChatFragment.java b/src/org/linphone/ChatFragment.java index 4e3e8b0cb..da4a611f5 100644 --- a/src/org/linphone/ChatFragment.java +++ b/src/org/linphone/ChatFragment.java @@ -606,7 +606,7 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC } private void copyTextMessageToClipboard(int id) { - String msg = LinphoneActivity.instance().getChatStorage().getTextMessageForId(id); + String msg = LinphoneActivity.instance().getChatStorage().getTextMessageForId(chatRoom, id); if (msg != null) { Compatibility.copyTextToClipboard(getActivity(), msg); LinphoneActivity.instance().displayCustomToast(getString(R.string.text_copied_to_clipboard), Toast.LENGTH_SHORT); diff --git a/src/org/linphone/ChatStorage.java b/src/org/linphone/ChatStorage.java index 666e2f004..90bc8a4bb 100644 --- a/src/org/linphone/ChatStorage.java +++ b/src/org/linphone/ChatStorage.java @@ -295,11 +295,15 @@ public class ChatStorage { return chatMessages; } - public String getTextMessageForId(int id) { + public String getTextMessageForId(LinphoneChatRoom chatroom, int id) { String message = null; if (useNativeAPI) { - //TODO + LinphoneChatMessage[] history = chatroom.getHistory(); + if (history.length > id-1) { + LinphoneChatMessage msg = history[id-1]; + message = msg.getText(); + } } else { Cursor c = db.query(TABLE_NAME, null, "id LIKE " + id, null, null, null, null); diff --git a/src/org/linphone/LinphoneManager.java b/src/org/linphone/LinphoneManager.java index c73704e95..d644087b5 100644 --- a/src/org/linphone/LinphoneManager.java +++ b/src/org/linphone/LinphoneManager.java @@ -1152,7 +1152,9 @@ public class LinphoneManager implements LinphoneCoreListener { try { LinphoneUtils.findUriPictureOfContactAndSetDisplayName(from, mServiceContext.getContentResolver()); - //LinphoneService.instance().displayMessageNotification(from.asStringUriOnly(), from.getDisplayName(), notificationText); + if (!mServiceContext.getResources().getBoolean(R.bool.disable_chat__message_notification)) { + LinphoneService.instance().displayMessageNotification(from.asStringUriOnly(), from.getDisplayName(), textMessage); + } } catch (Exception e) { } for (LinphoneSimpleListener listener : getSimpleListeners(LinphoneOnMessageReceivedListener.class)) {