onBubbleTap method

  1. @override
void onBubbleTap(
  1. BuildContext context
)
override

Implementation

@override
void onBubbleTap(BuildContext context) {
  context.read<RCKAudioPlayerProvider>().stopVoiceMessage();
  context.read<RCKVoiceRecordProvider>().cancelRecord();

  RCIMIWMediaMessage imageMessage = message as RCIMIWMediaMessage;

  final chatProvider = context.read<RCKChatProvider>();

  var messages = chatProvider.messages;
  var imageCopy = messages.toList();
  imageCopy.removeWhere((element) =>
      element is! RCIMIWImageMessage && element is! RCIMIWGIFMessage);
  List<RCIMIWMediaMessage> images = imageCopy.cast<RCIMIWMediaMessage>();
  int currentIndex = imageCopy.indexOf(imageMessage);

  chatProvider.saveScrollOffset();

  final inputProvider = context.read<RCKMessageInputProvider>();
  inputProvider.setInputType(RCIMIWMessageInputType.initial);

  Navigator.pushNamed(context, '/photo_preview', arguments: {
    'currentIndex': currentIndex,
    'images': images,
  }).then((value) {
    chatProvider.jumpToScrollOffset();
  });
}