Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion example/lib/app/app.dart
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ class _ChewieDemoState extends State<ChewieDemo> {
additionalOptions: (context) {
return <OptionItem>[
OptionItem(
onTap: toggleVideo,
onTap: (context) => toggleVideo(),
iconData: Icons.live_tv_sharp,
title: 'Toggle Video Src',
),
Expand Down
2 changes: 1 addition & 1 deletion lib/src/cupertino/widgets/cupertino_options_dialog.dart
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ class _CupertinoOptionsDialogState extends State<CupertinoOptionsDialog> {
actions: widget.options
.map(
(option) => CupertinoActionSheetAction(
onPressed: () => option.onTap!(),
onPressed: () => option.onTap(context),
child: Text(option.title),
),
)
Expand Down
12 changes: 8 additions & 4 deletions lib/src/material/material_controls.dart
Original file line number Diff line number Diff line change
Expand Up @@ -162,10 +162,10 @@ class _MaterialControlsState extends State<MaterialControls>
);
}

Widget _buildOptionsButton() {
List<OptionItem> _buildOptions(BuildContext context) {
final options = <OptionItem>[
OptionItem(
onTap: () async {
onTap: (context) async {
Navigator.pop(context);
_onSpeedButtonTap();
},
Expand All @@ -179,7 +179,10 @@ class _MaterialControlsState extends State<MaterialControls>
chewieController.additionalOptions!(context).isNotEmpty) {
options.addAll(chewieController.additionalOptions!(context));
}
return options;
}

Widget _buildOptionsButton() {
return AnimatedOpacity(
opacity: notifier.hideStuff ? 0.0 : 1.0,
duration: const Duration(milliseconds: 250),
Expand All @@ -188,14 +191,15 @@ class _MaterialControlsState extends State<MaterialControls>
_hideTimer?.cancel();

if (chewieController.optionsBuilder != null) {
await chewieController.optionsBuilder!(context, options);
await chewieController.optionsBuilder!(
context, _buildOptions(context));
} else {
await showModalBottomSheet<OptionItem>(
context: context,
isScrollControlled: true,
useRootNavigator: chewieController.useRootNavigator,
builder: (context) => OptionsDialog(
options: options,
options: _buildOptions(context),
cancelButtonText:
chewieController.optionsTranslation?.cancelButtonText,
),
Expand Down
2 changes: 1 addition & 1 deletion lib/src/material/material_desktop_controls.dart
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,7 @@ class _MaterialDesktopControlsState extends State<MaterialDesktopControls>
}) {
final options = <OptionItem>[
OptionItem(
onTap: () async {
onTap: (context) async {
Navigator.pop(context);
_onSpeedButtonTap();
},
Expand Down
2 changes: 1 addition & 1 deletion lib/src/material/widgets/options_dialog.dart
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ class _OptionsDialogState extends State<OptionsDialog> {
itemCount: widget.options.length,
itemBuilder: (context, i) {
return ListTile(
onTap: widget.options[i].onTap,
onTap: () => widget.options[i].onTap(context),
leading: Icon(widget.options[i].iconData),
title: Text(widget.options[i].title),
subtitle: widget.options[i].subtitle != null
Expand Down
10 changes: 5 additions & 5 deletions lib/src/models/option_item.dart
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,13 @@ class OptionItem {
this.subtitle,
});

Function()? onTap;
IconData iconData;
String title;
String? subtitle;
final void Function(BuildContext context) onTap;
final IconData iconData;
final String title;
final String? subtitle;

OptionItem copyWith({
Function()? onTap,
Function(BuildContext context)? onTap,
IconData? iconData,
String? title,
String? subtitle,
Expand Down
Loading