refreshMessageAtIndex method
Implementation
Future<void> refreshMessageAtIndex(InboxMessage updatedMessage, int index) async {
try {
if (!updatedMessage.isArchived && mounted) {
final itemId = getItemId(updatedMessage);
final listItemRef = _listItemRefs[itemId];
// If the item is in view, animate the refresh
if (listItemRef?.currentState != null && listItemRef?.currentState?.mounted == true) {
await listItemRef?.currentState?.refresh(updatedMessage);
}
// Update the state regardless
setState(() {
widget.messages[index] = updatedMessage;
});
}
} catch (e) {
Courier.log('Error refreshing message: $e');
}
}