builder method
A function that builds the UI to be shown from the ViewModel - Required
viewModel
is the ViewModel passed in and child
is the staticChildBuilder result
Implementation
@override
Widget builder(
BuildContext context,
TestSweetsOverlayViewModel viewModel,
Widget? _,
) {
return viewModel.enabled
? Listener(
onPointerDown: (_) => viewModel.addTouchPointer(),
onPointerUp: (_) => viewModel.removeTouchPointer(),
child: Overlay(
initialEntries: [
OverlayEntry(
builder: (_) => tsCaptureModeActive
? WidgetCaptureView(
child: child,
projectId: projectId,
onRouteBannerLongPress: viewModel.toggleOverlayUI,
)
: DriverLayoutView(
child: child,
projectId: projectId,
onRouteBannerLongPress: viewModel.toggleOverlayUI,
)),
OverlayEntry(
builder: (_) => viewModel.showModeSwapUI
? ModeSwapBanner(
onClosePressed: viewModel.toggleOverlayUI,
onCaptureMode: viewModel.setCaptureMode,
captureModeActive: viewModel.captureMode,
showRestartMessage: viewModel.showRestartMessage,
)
: SizedBox.shrink(),
)
],
),
)
: child;
}