mirror of
https://github.com/twonlyapp/twonly-app.git
synced 2026-01-15 15:28:40 +00:00
fix crash
This commit is contained in:
parent
2919d8093b
commit
41493894cb
2 changed files with 26 additions and 18 deletions
|
|
@ -187,9 +187,18 @@ class MessagesDao extends DatabaseAccessor<TwonlyDatabase>
|
|||
return select(messages)..where((t) => t.messageId.equals(messageId));
|
||||
}
|
||||
|
||||
SingleOrNullSelectable<Message> getMessageByMediaUploadId(int mediaUploadId) {
|
||||
return select(messages)
|
||||
..where((t) => t.mediaUploadId.equals(mediaUploadId));
|
||||
Future<Message?> getMessageByMediaUploadId(int mediaUploadId) async {
|
||||
List<Message> msgs = await (select(messages)
|
||||
..where((t) => t.mediaUploadId.equals(mediaUploadId)))
|
||||
.get();
|
||||
if (msgs.isEmpty) return null;
|
||||
if (msgs.length == 1) return msgs[0];
|
||||
|
||||
/// when there are multiple message ids with this id delete all but the last one
|
||||
for (var i = 0; i < (msgs.length - 1); i++) {
|
||||
await deleteMessageById(msgs[i].messageId);
|
||||
}
|
||||
return msgs[msgs.length - 1];
|
||||
}
|
||||
|
||||
SingleOrNullSelectable<Message> getMessageByOtherMessageId(
|
||||
|
|
|
|||
|
|
@ -333,24 +333,23 @@ Future<void> purgeMediaFiles(Directory directory) async {
|
|||
// Parse the integer and add it to the list
|
||||
int fileId = int.parse(match.group(0)!);
|
||||
|
||||
Message? message = (directory.path.endsWith("send"))
|
||||
? await twonlyDatabase.messagesDao
|
||||
.getMessageByMediaUploadId(fileId)
|
||||
.getSingleOrNull()
|
||||
: await twonlyDatabase.messagesDao
|
||||
.getMessageByMessageId(fileId)
|
||||
.getSingleOrNull();
|
||||
try {
|
||||
Message? message = (directory.path.endsWith("send"))
|
||||
? await twonlyDatabase.messagesDao
|
||||
.getMessageByMediaUploadId(fileId)
|
||||
: await twonlyDatabase.messagesDao
|
||||
.getMessageByMessageId(fileId)
|
||||
.getSingleOrNull();
|
||||
|
||||
if ((message == null) ||
|
||||
(message.openedAt != null &&
|
||||
!message.mediaStored &&
|
||||
message.acknowledgeByServer == true) ||
|
||||
message.errorWhileSending) {
|
||||
try {
|
||||
if ((message == null) ||
|
||||
(message.openedAt != null &&
|
||||
!message.mediaStored &&
|
||||
message.acknowledgeByServer == true) ||
|
||||
message.errorWhileSending) {
|
||||
file.deleteSync();
|
||||
} catch (e) {
|
||||
Logger("media_received.dart").shout("$e");
|
||||
}
|
||||
} catch (e) {
|
||||
Logger("media_received.dart").shout("$e");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue