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)) {