diff --git a/packages/stream_video_flutter/lib/src/call_controls/controls/toggle_closed_captions_option.dart b/packages/stream_video_flutter/lib/src/call_controls/controls/toggle_closed_captions_option.dart index 19e8539ee..2dd21d1e6 100644 --- a/packages/stream_video_flutter/lib/src/call_controls/controls/toggle_closed_captions_option.dart +++ b/packages/stream_video_flutter/lib/src/call_controls/controls/toggle_closed_captions_option.dart @@ -40,25 +40,27 @@ class ToggleClosedCaptionsOption extends StatelessWidget { @override Widget build(BuildContext context) { - final enabled = call.state.value.isCaptioning; - - return CallControlOption( - icon: enabled - ? Icon(enabledClosedCaptionIcon) - : Icon(disabledClosedCaptionIcon), - iconColor: enabled - ? enabledClosedCaptionIconColor - : disabledClosedCaptionIconColor, - backgroundColor: enabled - ? enabledClosedCaptionBackgroundColor - : disabledClosedCaptionBackgroundColor, - onPressed: () { - if (!enabled) { - call.startClosedCaptions(); - } else { - call.stopClosedCaptions(); - } - }, + return PartialCallStateBuilder( + call: call, + selector: (state) => state.isCaptioning, + builder: (_, enabled) => CallControlOption( + icon: enabled + ? Icon(enabledClosedCaptionIcon) + : Icon(disabledClosedCaptionIcon), + iconColor: enabled + ? enabledClosedCaptionIconColor + : disabledClosedCaptionIconColor, + backgroundColor: enabled + ? enabledClosedCaptionBackgroundColor + : disabledClosedCaptionBackgroundColor, + onPressed: () { + if (!enabled) { + call.startClosedCaptions(); + } else { + call.stopClosedCaptions(); + } + }, + ), ); } } diff --git a/packages/stream_video_flutter/lib/src/call_controls/controls/toggle_recording_option.dart b/packages/stream_video_flutter/lib/src/call_controls/controls/toggle_recording_option.dart index 63aa5b7d1..58cf69f2a 100644 --- a/packages/stream_video_flutter/lib/src/call_controls/controls/toggle_recording_option.dart +++ b/packages/stream_video_flutter/lib/src/call_controls/controls/toggle_recording_option.dart @@ -40,23 +40,25 @@ class ToggleRecordingOption extends StatelessWidget { @override Widget build(BuildContext context) { - final enabled = call.state.value.isRecording; - - return CallControlOption( - icon: enabled ? Icon(enabledRecordingIcon) : Icon(disabledRecordingIcon), - iconColor: enabled - ? enabledRecordingIconColor - : disabledRecordingIconColor, - backgroundColor: enabled - ? enabledRecordingBackgroundColor - : disabledRecordingBackgroundColor, - onPressed: () { - if (!enabled) { - call.startRecording(); - } else { - call.stopRecording(); - } - }, + return PartialCallStateBuilder( + call: call, + selector: (state) => state.isRecording, + builder: (_, enabled) => CallControlOption( + icon: enabled ? Icon(enabledRecordingIcon) : Icon(disabledRecordingIcon), + iconColor: enabled + ? enabledRecordingIconColor + : disabledRecordingIconColor, + backgroundColor: enabled + ? enabledRecordingBackgroundColor + : disabledRecordingBackgroundColor, + onPressed: () { + if (!enabled) { + call.startRecording(); + } else { + call.stopRecording(); + } + }, + ), ); } }