@@ -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