Skip to content

Commit 2e32c25

Browse files
committed
refactor: Rename fn MediaEventContent::filename to MediaEventContent::filename_or_body since it was previously clashing with another function definition.
Also, make sure it returns either the filename or the body if that's missing - which should contain the actual filename in that case.
1 parent b868702 commit 2e32c25

File tree

2 files changed

+15
-15
lines changed

2 files changed

+15
-15
lines changed

crates/matrix-sdk-base/src/media.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ pub trait MediaEventContent {
143143
fn source(&self) -> Option<MediaSource>;
144144

145145
/// Get the name of the uploaded file for `Self`.
146-
fn filename(&self) -> Option<String>;
146+
fn filename_or_body(&self) -> Option<String>;
147147

148148
/// Get the source of the thumbnail for `Self`.
149149
///
@@ -156,7 +156,7 @@ impl MediaEventContent for StickerEventContent {
156156
Some(MediaSource::from(self.source.clone()))
157157
}
158158

159-
fn filename(&self) -> Option<String> {
159+
fn filename_or_body(&self) -> Option<String> {
160160
None
161161
}
162162

@@ -170,8 +170,8 @@ impl MediaEventContent for AudioMessageEventContent {
170170
Some(self.source.clone())
171171
}
172172

173-
fn filename(&self) -> Option<String> {
174-
self.filename.clone()
173+
fn filename_or_body(&self) -> Option<String> {
174+
Some(self.filename.clone().unwrap_or_else(|| self.body.clone()))
175175
}
176176

177177
fn thumbnail_source(&self) -> Option<MediaSource> {
@@ -184,8 +184,8 @@ impl MediaEventContent for FileMessageEventContent {
184184
Some(self.source.clone())
185185
}
186186

187-
fn filename(&self) -> Option<String> {
188-
self.filename.clone()
187+
fn filename_or_body(&self) -> Option<String> {
188+
Some(self.filename.clone().unwrap_or_else(|| self.body.clone()))
189189
}
190190

191191
fn thumbnail_source(&self) -> Option<MediaSource> {
@@ -198,7 +198,7 @@ impl MediaEventContent for ImageMessageEventContent {
198198
Some(self.source.clone())
199199
}
200200

201-
fn filename(&self) -> Option<String> {
201+
fn filename_or_body(&self) -> Option<String> {
202202
self.filename.clone()
203203
}
204204

@@ -215,8 +215,8 @@ impl MediaEventContent for VideoMessageEventContent {
215215
Some(self.source.clone())
216216
}
217217

218-
fn filename(&self) -> Option<String> {
219-
self.filename.clone()
218+
fn filename_or_body(&self) -> Option<String> {
219+
Some(self.filename.clone().unwrap_or_else(|| self.body.clone()))
220220
}
221221

222222
fn thumbnail_source(&self) -> Option<MediaSource> {
@@ -232,7 +232,7 @@ impl MediaEventContent for LocationMessageEventContent {
232232
None
233233
}
234234

235-
fn filename(&self) -> Option<String> {
235+
fn filename_or_body(&self) -> Option<String> {
236236
None
237237
}
238238

crates/matrix-sdk/src/send_queue/mod.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ use ruma::{
169169
};
170170
use tokio::sync::{broadcast, oneshot, Mutex, Notify, OwnedMutexGuard};
171171
use tracing::{debug, error, info, instrument, trace, warn};
172-
172+
use matrix_sdk_base::media::MediaEventContent;
173173
#[cfg(feature = "e2e-encryption")]
174174
use crate::crypto::{OlmError, SessionRecipientCollectionError};
175175
use crate::{
@@ -1284,10 +1284,10 @@ impl QueueStorage {
12841284
let store = client.state_store();
12851285

12861286
let mut filename = match &event.msgtype {
1287-
MessageType::Image(msgtype) => msgtype.filename.clone(),
1288-
MessageType::Audio(msgtype) => msgtype.filename.clone(),
1289-
MessageType::Video(msgtype) => msgtype.filename.clone(),
1290-
MessageType::File(msgtype) => msgtype.filename.clone(),
1287+
MessageType::Image(msgtype) => msgtype.filename_or_body(),
1288+
MessageType::Audio(msgtype) => msgtype.filename_or_body(),
1289+
MessageType::Video(msgtype) => msgtype.filename_or_body(),
1290+
MessageType::File(msgtype) => msgtype.filename_or_body(),
12911291
_ => None,
12921292
};
12931293

0 commit comments

Comments
 (0)