Merge branch 'hotfix/video' of /Users/deven9852/Stream/stream-chat-flutter with conflicts.

This commit is contained in:
Deven Joshi
2021-02-01 21:35:12 +05:30
parent 711c20b967
commit a1045acfc9
5 changed files with 368 additions and 65 deletions
@@ -142,6 +142,8 @@ class MessageWidget extends StatefulWidget {
/// Function called when quotedMessage is tapped
final OnQuotedMessageTap onQuotedMessageTap;
Map<String, VideoPackage> videoPackages = {};
///
MessageWidget({
Key key,
@@ -190,6 +192,7 @@ class MessageWidget extends StatefulWidget {
this.attachmentPadding = EdgeInsets.zero,
this.allRead = false,
this.onQuotedMessageTap,
this.videoPackages,
}) : attachmentBuilders = {
'image': (context, message, attachment) {
return ImageAttachment(
@@ -832,6 +835,41 @@ class _MessageWidgetState extends State<MessageWidget> {
children: widget.message.attachments
?.where((element) => element.ogScrapeUrl == null)
?.map((attachment) {
if (attachment.type == 'video') {
VideoPackage package;
if (widget.videoPackages == null) {
package = VideoPackage(context, attachment, () {});
} else {
package = widget?.videoPackages[
'${widget.message.id}${widget.message.attachments.indexOf(attachment)}'] ??
VideoPackage(context, attachment, () {});
}
if (widget.videoPackages != null) {
widget.videoPackages[
'${widget.message.id}${widget.message.attachments.indexOf(attachment)}'] =
package;
}
return Transform(
transform: Matrix4.rotationY(widget.reverse ? pi : 0),
alignment: Alignment.center,
child: VideoAttachment(
attachment: attachment,
messageTheme: widget.messageTheme,
size: Size(
MediaQuery.of(context).size.width * 0.8,
MediaQuery.of(context).size.height * 0.3,
),
message: widget.message,
onShowMessage: widget.onShowMessage,
onReturnAction: widget.onReturnAction,
videoPackage: package,
),
);
}
final attachmentBuilder =
widget.attachmentBuilders[attachment.type];