From fe2bb72fb285d550bda5bffdd2d6374d98341854 Mon Sep 17 00:00:00 2001 From: "B. Petersen" Date: Fri, 21 Oct 2016 01:29:59 +0200 Subject: [PATCH] Set correct check marks. --- TMessagesProj/jni/mr_wrapper.c | 7 +++++++ .../java/org/telegram/messenger/MessageObject.java | 6 +++--- .../main/java/org/telegram/messenger/MrMailbox.java | 10 +++++++++- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/TMessagesProj/jni/mr_wrapper.c b/TMessagesProj/jni/mr_wrapper.c index fe1bcbcea..8e623fd3c 100644 --- a/TMessagesProj/jni/mr_wrapper.c +++ b/TMessagesProj/jni/mr_wrapper.c @@ -395,6 +395,13 @@ JNIEXPORT void Java_org_telegram_messenger_MrMailbox_MrMsgUnref(JNIEnv *env, jcl } +JNIEXPORT jint Java_org_telegram_messenger_MrMailbox_MrMsgGetId(JNIEnv *env, jclass c, jlong hMsg) +{ + mrmsg_t* ths = (mrmsg_t*)hMsg; if( ths == NULL ) { return 0; } + return ths->m_id; +} + + JNIEXPORT jstring Java_org_telegram_messenger_MrMailbox_MrMsgGetText(JNIEnv *env, jclass c, jlong hMsg) { mrmsg_t* ths = (mrmsg_t*)hMsg; if( ths == NULL ) { return JSTRING_NEW(NULL); } diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/MessageObject.java b/TMessagesProj/src/main/java/org/telegram/messenger/MessageObject.java index ae3013ac3..751b15c70 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/MessageObject.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/MessageObject.java @@ -1246,15 +1246,15 @@ public class MessageObject { } public boolean isSending() { - return messageOwner.send_state == MESSAGE_SEND_STATE_SENDING && messageOwner.id < 0; + return messageOwner.send_state == MESSAGE_SEND_STATE_SENDING /*&& messageOwner.id < 0-- EDIT BY MR, the ID is always set by us*/; } public boolean isSendError() { - return messageOwner.send_state == MESSAGE_SEND_STATE_SEND_ERROR && messageOwner.id < 0; + return messageOwner.send_state == MESSAGE_SEND_STATE_SEND_ERROR /*&& messageOwner.id < 0-- EDIT BY MR, the ID is always set by us*/; } public boolean isSent() { - return messageOwner.send_state == MESSAGE_SEND_STATE_SENT || messageOwner.id > 0; + return messageOwner.send_state == MESSAGE_SEND_STATE_SENT /*|| messageOwner.id > 0 -- EDIT BY MR, the ID is always set by us*/; } public String getSecretTimeString() { diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/MrMailbox.java b/TMessagesProj/src/main/java/org/telegram/messenger/MrMailbox.java index 0c84e98f8..9f6b60173 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/MrMailbox.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/MrMailbox.java @@ -64,14 +64,21 @@ public class MrMailbox { // TLRPC.TL_message is a normal message (also photos?) int state = MrMsgGetState(hMsg); + switch( state ) { + case MR_OUT_DELIVERED: ret.send_state = MessageObject.MESSAGE_SEND_STATE_SENT; break; + case MR_OUT_ERROR: ret.send_state = MessageObject.MESSAGE_SEND_STATE_SEND_ERROR; break; + case MR_OUT_PENDING: ret.send_state = MessageObject.MESSAGE_SEND_STATE_SENDING; break; + case MR_OUT_READ: ret.send_state = MessageObject.MESSAGE_SEND_STATE_SENT; break; + } + ret.id = MrMailbox.MrMsgGetId(hMsg); ret.from_id = MrMailbox.MrMsgGetFromId(hMsg); ret.to_id = new TLRPC.TL_peerUser(); ret.to_id.user_id = MrMailbox.MrMsgGetToId(hMsg); ret.message = MrMailbox.MrMsgGetText(hMsg); ret.date = (int)MrMsgGetTimestamp(hMsg); ret.dialog_id = MrMsgGetChatId(hMsg); - ret.unread = state==MR_IN_UNREAD; + ret.unread = state!=MR_OUT_READ; // the state of outgoing messages ret.media_unread = ret.unread; ret.flags = 0; ret.post = false; // ? true=avatar wird in gruppen nicht angezeigt @@ -162,6 +169,7 @@ public class MrMailbox { // MrMsg objects public native static void MrMsgUnref (long hMsg); + public native static int MrMsgGetId (long hMsg); public native static String MrMsgGetText (long hMsg); public native static long MrMsgGetTimestamp (long hMsg); public native static int MrMsgGetType (long hMsg);