add/send info-message on protection changes

This commit is contained in:
B. Petersen
2020-10-04 13:47:29 +02:00
parent 49b5962568
commit 5e07a36cd2
5 changed files with 54 additions and 3 deletions

View File

@@ -221,7 +221,33 @@ impl ChatId {
context.emit_event(EventType::ChatModified(self));
if send_to_others {}
// make sure, the receivers will get all keys
reset_gossiped_timestamp(context, self).await?;
// add info message
let msg_text = context
.stock_system_msg(
match protect {
ProtectionStatus::Protected => StockMessage::ProtectionEnabled,
ProtectionStatus::Unprotected => StockMessage::ProtectionDisabled,
},
"",
"",
DC_CONTACT_ID_SELF as u32,
)
.await;
if send_to_others {
let mut msg = Message::default();
msg.viewtype = Viewtype::Text;
msg.text = Some(msg_text);
msg.param.set_cmd(match protect {
ProtectionStatus::Protected => SystemMessage::ChatProtectionEnabled,
ProtectionStatus::Unprotected => SystemMessage::ChatProtectionDisabled,
});
send_msg(context, self, &mut msg).await?;
} else {
add_info_msg(context, self, msg_text).await;
}
Ok(())
}

View File

@@ -846,6 +846,18 @@ impl<'a, 'b> MimeFactory<'a, 'b> {
};
}
}
SystemMessage::ChatProtectionEnabled => {
protected_headers.push(Header::new(
"Chat-Content".to_string(),
"protection-enabled".to_string(),
));
}
SystemMessage::ChatProtectionDisabled => {
protected_headers.push(Header::new(
"Chat-Content".to_string(),
"protection-disabled".to_string(),
));
}
_ => {}
}

View File

@@ -86,6 +86,10 @@ pub enum SystemMessage {
/// Chat ephemeral message timer is changed.
EphemeralTimerChanged = 10,
// Chat protection state changed
ChatProtectionEnabled = 11,
ChatProtectionDisabled = 12,
}
impl Default for SystemMessage {

View File

@@ -233,6 +233,12 @@ pub enum StockMessage {
fallback = "Could not find your mail server.\n\nPlease check your internet connection."
))]
ErrorNoNetwork = 87,
#[strum(props(fallback = "Chat protection enabled."))]
ProtectionEnabled = 88,
#[strum(props(fallback = "Chat protection disabled."))]
ProtectionDisabled = 89,
}
/*