Skip to content

Commit 8979c44

Browse files
committed
fix #263
1 parent 02045e8 commit 8979c44

File tree

1 file changed

+24
-8
lines changed

1 file changed

+24
-8
lines changed

lib/src/views/chats/chat_list.view.dart

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,7 @@ class _UserListItem extends State<UserListItem> {
298298
late StreamSubscription<List<Message>> lastMessageStream;
299299

300300
List<Message> previewMessages = [];
301+
bool hasNonOpenedMediaFile = false;
301302

302303
@override
303304
void initState() {
@@ -352,6 +353,17 @@ class _UserListItem extends State<UserListItem> {
352353
}
353354
}
354355

356+
final msgs =
357+
previewMessages.where((x) => x.kind == MessageKind.media).toList();
358+
if (msgs.isNotEmpty &&
359+
msgs.first.kind == MessageKind.media &&
360+
msgs.first.messageOtherId != null &&
361+
msgs.first.openedAt == null) {
362+
hasNonOpenedMediaFile = true;
363+
} else {
364+
hasNonOpenedMediaFile = false;
365+
}
366+
355367
lastMessages = newLastMessages;
356368
messagesNotOpened = newMessagesNotOpened;
357369
setState(() {
@@ -368,12 +380,10 @@ class _UserListItem extends State<UserListItem> {
368380
));
369381
return;
370382
}
371-
final msgs =
372-
previewMessages.where((x) => x.kind == MessageKind.media).toList();
373-
if (msgs.isNotEmpty &&
374-
msgs.first.kind == MessageKind.media &&
375-
msgs.first.messageOtherId != null &&
376-
msgs.first.openedAt == null) {
383+
384+
if (hasNonOpenedMediaFile) {
385+
final msgs =
386+
previewMessages.where((x) => x.kind == MessageKind.media).toList();
377387
switch (msgs.first.downloadState) {
378388
case DownloadState.pending:
379389
await startDownloadMedia(msgs.first, true);
@@ -447,12 +457,18 @@ class _UserListItem extends State<UserListItem> {
447457
onPressed: () {
448458
Navigator.push(context, MaterialPageRoute(
449459
builder: (context) {
450-
return CameraSendToView(widget.user);
460+
if (hasNonOpenedMediaFile) {
461+
return ChatMessagesView(widget.user);
462+
} else {
463+
return CameraSendToView(widget.user);
464+
}
451465
},
452466
));
453467
},
454468
icon: FaIcon(
455-
FontAwesomeIcons.camera,
469+
hasNonOpenedMediaFile
470+
? FontAwesomeIcons.solidComments
471+
: FontAwesomeIcons.camera,
456472
color: context.color.outline.withAlpha(150),
457473
),
458474
),

0 commit comments

Comments
 (0)