private void MarkBottommostMessageRead()
 {
     if (Collection != null)
     {
         int  bottomIndex    = GetBottommostIndex();
         int  rawBottomIndex = Collection.GetRawIndex(bottomIndex);
         long lastSeenIndex  = SignalConversation.LastSeenMessageIndex;
         if (lastSeenIndex <= rawBottomIndex && LastMarkReadRequest < rawBottomIndex)
         {
             LastMarkReadRequest = rawBottomIndex;
             Task.Run(async() =>
             {
                 await App.Handle.SetMessageRead(rawBottomIndex, ((SignalMessageContainer)Collection[bottomIndex]).Message, SignalConversation);
             });
         }
     }
 }
 private void MarkBottommostMessageRead()
 {
     if (Collection != null)
     {
         int  bottomIndex    = GetBottommostIndex();
         int  rawBottomIndex = Collection.GetRawIndex(bottomIndex);
         long lastSeenIndex  = SignalConversation.LastSeenMessageIndex;
         if (lastSeenIndex <= rawBottomIndex && LastMarkReadRequest < rawBottomIndex)
         {
             LastMarkReadRequest = rawBottomIndex;
             var msg = ((IMessageView)Collection[bottomIndex]).Model;
             if (msg.Author != null)
             {
                 Task.Run(async() =>
                 {
                     await App.Handle.SetMessageRead(msg);
                 });
             }
         }
     }
 }