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
andpackage: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
-
- Object
- DiagnosticableTree
- Widget
- StatelessWidget
- StreamFullScreenMediaBuilder
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 UsedefaultActionsModal.copyWith
to easily customize itfinal - 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