Added boolean to disable chat message notification + fix copy/paste in chat if using liblinphone storage

This commit is contained in:
Sylvain Berfini 2013-08-13 12:11:15 +02:00
parent d18ba33e44
commit aaf4af3b26
4 changed files with 11 additions and 4 deletions

View file

@ -61,6 +61,7 @@
<bool name="allow_edit_in_dialer">true</bool> <bool name="allow_edit_in_dialer">true</bool>
<bool name="forbid_self_call">false</bool> <bool name="forbid_self_call">false</bool>
<bool name="disable_chat">false</bool> <bool name="disable_chat">false</bool>
<bool name="disable_chat__message_notification">false</bool>
<bool name="disable_chat_send_file">false</bool> <bool name="disable_chat_send_file">false</bool>
<bool name="use_linphone_chat_storage">false</bool> <bool name="use_linphone_chat_storage">false</bool>

View file

@ -606,7 +606,7 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC
} }
private void copyTextMessageToClipboard(int id) { private void copyTextMessageToClipboard(int id) {
String msg = LinphoneActivity.instance().getChatStorage().getTextMessageForId(id); String msg = LinphoneActivity.instance().getChatStorage().getTextMessageForId(chatRoom, id);
if (msg != null) { if (msg != null) {
Compatibility.copyTextToClipboard(getActivity(), msg); Compatibility.copyTextToClipboard(getActivity(), msg);
LinphoneActivity.instance().displayCustomToast(getString(R.string.text_copied_to_clipboard), Toast.LENGTH_SHORT); LinphoneActivity.instance().displayCustomToast(getString(R.string.text_copied_to_clipboard), Toast.LENGTH_SHORT);

View file

@ -295,11 +295,15 @@ public class ChatStorage {
return chatMessages; return chatMessages;
} }
public String getTextMessageForId(int id) { public String getTextMessageForId(LinphoneChatRoom chatroom, int id) {
String message = null; String message = null;
if (useNativeAPI) { if (useNativeAPI) {
//TODO LinphoneChatMessage[] history = chatroom.getHistory();
if (history.length > id-1) {
LinphoneChatMessage msg = history[id-1];
message = msg.getText();
}
} else { } else {
Cursor c = db.query(TABLE_NAME, null, "id LIKE " + id, null, null, null, null); Cursor c = db.query(TABLE_NAME, null, "id LIKE " + id, null, null, null, null);

View file

@ -1152,7 +1152,9 @@ public class LinphoneManager implements LinphoneCoreListener {
try { try {
LinphoneUtils.findUriPictureOfContactAndSetDisplayName(from, mServiceContext.getContentResolver()); 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) { } } catch (Exception e) { }
for (LinphoneSimpleListener listener : getSimpleListeners(LinphoneOnMessageReceivedListener.class)) { for (LinphoneSimpleListener listener : getSimpleListeners(LinphoneOnMessageReceivedListener.class)) {