StreamFullScreenMediaBuilder class

A wrapper widget for conditionally providing the proper StreamFullScreenMedia widget when writing an application that targets all available Flutter platforms (Android, iOS, macOS, Windows, Linux, & Web).

This is required because:

  • package:video_player and package:chewie do not support macOS, Windows, & Linux, but do support Android, iOS, & Web.
  • package:dart_vlc does support macOS, Windows, & Linux via FFI. This has the unfortunate consequence of not supporting Web.

This widget makes use of dart's conditional imports to ensure that Stream's desktop implementation of StreamFullScreenMedia is not imported when building applications that target web. Additionally, this widget ensures that applications targeting mobile platforms do not build the version of StreamFullScreenMedia that targets desktop platforms (even though package:dart_vlc technically supports iOS).

Inheritance

Constructors

StreamFullScreenMediaBuilder({Key? key, required List<StreamAttachmentPackage> mediaAttachmentPackages, required int startIndex, required String userName, ShowMessageCallback? onShowMessage, ReplyMessageCallback? onReplyMessage, AttachmentActionsBuilder? attachmentActionsModalBuilder, bool autoplayVideos = false})
A wrapper widget for conditionally providing the proper StreamFullScreenMedia widget when writing an application that targets all available Flutter platforms (Android, iOS, macOS, Windows, Linux, & Web).
const

Properties

attachmentActionsModalBuilder AttachmentActionsBuilder?
Widget builder for attachment actions modal defaultActionsModal is the default AttachmentActionsModal config Use defaultActionsModal.copyWith to easily customize it
final
autoplayVideos bool
Auto-play videos when page is opened
final
hashCode int
The hash code for this object.
no setterinherited
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
mediaAttachmentPackages List<StreamAttachmentPackage>
The url of the image
final
onReplyMessage ReplyMessageCallback?
Callback for when reply message is tapped
final
onShowMessage ShowMessageCallback?
Callback for when show message is tapped
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
startIndex int
First index of media shown
final
userName String
Username of sender
final

Methods

build(BuildContext context) Widget
Describes the part of the user interface represented by this widget.
override
createElement() StatelessElement
Creates a StatelessElement to manage this widget's location in the tree.
inherited
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object.
inherited
toStringShort() String
A short, textual description of this widget.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited