diff --git a/deltachat-ffi/src/lib.rs b/deltachat-ffi/src/lib.rs index 8e95669a8..4754f0266 100644 --- a/deltachat-ffi/src/lib.rs +++ b/deltachat-ffi/src/lib.rs @@ -2724,7 +2724,7 @@ pub unsafe extern "C" fn dc_msg_get_ephemeral_timer(msg: *mut dc_msg_t) -> u32 { return 0; } let ffi_msg = &*msg; - ffi_msg.message.get_ephemeral_timer() + ffi_msg.message.get_ephemeral_timer().to_u32() } #[no_mangle] diff --git a/src/message.rs b/src/message.rs index 072737853..90dec0e5a 100644 --- a/src/message.rs +++ b/src/message.rs @@ -11,6 +11,7 @@ use crate::constants::*; use crate::contact::*; use crate::context::*; use crate::dc_tools::*; +use crate::ephemeral::Timer as EphemeralTimer; use crate::error::{ensure, Error}; use crate::events::EventType; use crate::job::{self, Action}; @@ -255,7 +256,7 @@ pub struct Message { pub(crate) timestamp_sort: i64, pub(crate) timestamp_sent: i64, pub(crate) timestamp_rcvd: i64, - pub(crate) ephemeral_timer: u32, + pub(crate) ephemeral_timer: EphemeralTimer, pub(crate) ephemeral_timestamp: i64, pub(crate) text: Option, pub(crate) rfc724_mid: String, @@ -523,7 +524,7 @@ impl Message { self.param.get_int(Param::GuaranteeE2ee).unwrap_or_default() != 0 } - pub fn get_ephemeral_timer(&self) -> u32 { + pub fn get_ephemeral_timer(&self) -> EphemeralTimer { self.ephemeral_timer } @@ -1065,8 +1066,8 @@ pub async fn get_msg_info(context: &Context, msg_id: MsgId) -> String { ret += "\n"; } - if msg.ephemeral_timer != 0 { - ret += &format!("Ephemeral timer: {}\n", msg.ephemeral_timer); + if let EphemeralTimer::Enabled { duration } = msg.ephemeral_timer { + ret += &format!("Ephemeral timer: {}\n", duration); } if msg.ephemeral_timestamp != 0 {