private async void OnItemLongPressed(object sender, ItemLongPressedEventArgs e) { if (newMessageInputShown) { return; } var message = (Message)e.Item; // Possible to delete current user messages that is not older than 1d if (dialogId == AuthorizationManager.UserId || message.Profile?.Id != AuthorizationManager.UserId || message.Date < DateTime.Now.AddDays(-1) || message.Deleted) { longTappedMessageId = null; return; } // Delete by double long press if (longTappedMessageId != message.Id) { longTappedMessageId = message.Id; return; } longTappedMessageId = null; activityIndicator.IsVisible = true; await NetExceptionCatchHelpers.CatchNetException( () => messagesManager.DeleteMessage(dialogId, message.Id), () => { OnItemLongPressed(sender, e); return(Task.CompletedTask); }, LocalizedStrings.DeleteMessageNoInternetError); activityIndicator.IsVisible = false; }