From f02d3cab8294d885d04a91f7a63354775ada9800 Mon Sep 17 00:00:00 2001 From: "B. Petersen" Date: Mon, 14 Oct 2024 00:54:46 +0200 Subject: [PATCH] mark saved messages --- jni/dc_wrapper.c | 6 ++++++ src/main/java/com/b44t/messenger/DcMsg.java | 7 ++++--- .../securesms/components/ConversationItemFooter.java | 6 +++++- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/jni/dc_wrapper.c b/jni/dc_wrapper.c index 530b6ca902..ddca8971ea 100644 --- a/jni/dc_wrapper.c +++ b/jni/dc_wrapper.c @@ -1735,6 +1735,12 @@ JNIEXPORT jint Java_com_b44t_messenger_DcMsg_getOriginalChatId(JNIEnv *env, jobj } +JNIEXPORT jint Java_com_b44t_messenger_DcMsg_getSavedMsgId(JNIEnv *env, jobject obj) +{ + return (jint)dc_msg_get_saved_msg_id(get_dc_msg(env, obj)); +} + + JNIEXPORT jstring Java_com_b44t_messenger_DcMsg_getError(JNIEnv *env, jobject obj) { char* temp = dc_msg_get_error(get_dc_msg(env, obj)); diff --git a/src/main/java/com/b44t/messenger/DcMsg.java b/src/main/java/com/b44t/messenger/DcMsg.java index 153f99cc79..70e721cf85 100644 --- a/src/main/java/com/b44t/messenger/DcMsg.java +++ b/src/main/java/com/b44t/messenger/DcMsg.java @@ -184,14 +184,15 @@ public DcMsg getParent() { return cPtr != 0 ? new DcMsg(cPtr) : null; } + public boolean hasOriginal () { return getOriginalChatId() != 0; } + public native int getOriginalChatId (); + public native int getSavedMsgId (); + public DcMsg getOriginalMsg() { long cPtr = getOriginalMsgCPtr(); return cPtr != 0 ? new DcMsg(cPtr) : null; } - public native int getOriginalChatId (); - public boolean hasOriginal () { return getOriginalChatId() != 0; } - public File getFileAsFile() { if(getFile()==null) throw new AssertionError("expected a file to be present."); diff --git a/src/main/java/org/thoughtcrime/securesms/components/ConversationItemFooter.java b/src/main/java/org/thoughtcrime/securesms/components/ConversationItemFooter.java index 624ddbd6f4..46fe126fe4 100644 --- a/src/main/java/org/thoughtcrime/securesms/components/ConversationItemFooter.java +++ b/src/main/java/org/thoughtcrime/securesms/components/ConversationItemFooter.java @@ -72,7 +72,11 @@ private void setTextColor(int color) { private void presentDate(@NonNull DcMsg messageRecord) { dateView.forceLayout(); - dateView.setText(DateUtils.getExtendedRelativeTimeSpanString(getContext(), messageRecord.getTimestamp())); + String text = DateUtils.getExtendedRelativeTimeSpanString(getContext(), messageRecord.getTimestamp()); + if (messageRecord.getSavedMsgId() != 0) { + text += " ★"; + } + dateView.setText(text); } private void presentDeliveryStatus(@NonNull DcMsg messageRecord) {