Mark messages as read if using liblinphone storage

This commit is contained in:
Sylvain Berfini 2013-08-12 14:33:16 +02:00
parent 679c89b2ea
commit d18ba33e44
3 changed files with 15 additions and 7 deletions

View file

@ -182,6 +182,8 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC
LinphoneCore lc = LinphoneManager.getLcIfManagerNotDestroyedOrNull(); LinphoneCore lc = LinphoneManager.getLcIfManagerNotDestroyedOrNull();
if (lc != null) { if (lc != null) {
chatRoom = lc.getOrCreateChatRoom(sipUri); chatRoom = lc.getOrCreateChatRoom(sipUri);
//Only works if using liblinphone storage
LinphoneActivity.instance().getChatStorage().markConversationAsRead(chatRoom);
} }
if (savedInstanceState != null) { if (savedInstanceState != null) {
@ -315,8 +317,10 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC
displayImageMessage(msg.getId(), msg.getImage(), msg.getTimestamp(), msg.isIncoming(), msg.getStatus(), messagesLayout, msg.getUrl()); displayImageMessage(msg.getId(), msg.getImage(), msg.getTimestamp(), msg.isIncoming(), msg.getStatus(), messagesLayout, msg.getUrl());
} }
if (!msg.isRead()) if (!msg.isRead()) {
// Only works if not using liblinphone storage
chatStorage.markMessageAsRead(msg.getId()); chatStorage.markMessageAsRead(msg.getId());
}
} }
LinphoneActivity.instance().updateMissedChatCount(); LinphoneActivity.instance().updateMissedChatCount();

View file

@ -359,15 +359,19 @@ public class ChatStorage {
} }
public void markMessageAsRead(int id) { public void markMessageAsRead(int id) {
if (useNativeAPI) { if (!useNativeAPI) {
//TODO
} else {
ContentValues values = new ContentValues(); ContentValues values = new ContentValues();
values.put("read", READ); values.put("read", READ);
db.update(TABLE_NAME, values, "id LIKE " + id, null); db.update(TABLE_NAME, values, "id LIKE " + id, null);
} }
} }
public void markConversationAsRead(LinphoneChatRoom chatroom) {
if (useNativeAPI) {
chatroom.markAsRead();
}
}
public int getUnreadMessageCount() { public int getUnreadMessageCount() {
int count; int count;
if (!useNativeAPI) { if (!useNativeAPI) {

@ -1 +1 @@
Subproject commit 55b640b0d733ea88885d438c7888cf021269510e Subproject commit 679624223898212549d46757e52646a95b9ab8b8