builder method

  1. @override
Widget builder(
  1. BuildContext context,
  2. TestSweetsOverlayViewModel viewModel,
  3. Widget? _
)

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;
}