handle incoming profile-images

This commit is contained in:
B. Petersen
2019-12-09 01:55:56 +01:00
committed by holger krekel
parent a1f496b019
commit ca63d6ba1c
2 changed files with 31 additions and 1 deletions

View File

@@ -14,7 +14,6 @@ use crate::error::Result;
use crate::events::Event;
use crate::headerdef::HeaderDef;
use crate::job::*;
use crate::location;
use crate::message::{self, MessageState, MsgId};
use crate::mimeparser::*;
use crate::param::*;
@@ -22,6 +21,7 @@ use crate::peerstate::*;
use crate::securejoin::handle_securejoin_handshake;
use crate::sql;
use crate::stock::StockMessage;
use crate::{contact, location};
// IndexSet is like HashSet but maintains order of insertion
type ContactIds = indexmap::IndexSet<u32>;
@@ -238,6 +238,19 @@ pub fn dc_receive_imf(
);
}
if let Some(profile_image) = mime_parser.profile_image {
match contact::set_profile_image(&context, from_id, profile_image) {
Ok(()) => {
context.call_cb(Event::ChatModified(chat_id));
true
}
Err(err) => {
warn!(context, "reveive_imf cannot update profile image: {}", err);
false
}
};
}
// if we delete we don't need to try moving messages
if needs_delete_job && !created_db_entries.is_empty() {
job_add(