onEnterFullScreen method

void onEnterFullScreen()

Implementation

void onEnterFullScreen() {
  final videoWidth = widget.controller.videoPlayerController.value.size.width;
  final videoHeight =
      widget.controller.videoPlayerController.value.size.height;

  SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: []);

  // if (widget.controller.systemOverlaysOnEnterFullScreen != null) {
  //   /// Optional user preferred settings
  //   SystemChrome.setEnabledSystemUIMode(
  //     SystemUiMode.manual,
  //     overlays: widget.controller.systemOverlaysOnEnterFullScreen,
  //   );
  // } else {
  //   /// Default behavior
  //   SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: SystemUiOverlay.values);
  // }

  if (widget.controller.deviceOrientationsOnEnterFullScreen != null) {
    /// Optional user preferred settings
    SystemChrome.setPreferredOrientations(
      widget.controller.deviceOrientationsOnEnterFullScreen!,
    );
  } else {
    final isLandscapeVideo = videoWidth > videoHeight;
    final isPortraitVideo = videoWidth < videoHeight;

    /// Default behavior
    /// Video w > h means we force landscape
    if (isLandscapeVideo) {
      SystemChrome.setPreferredOrientations([
        DeviceOrientation.landscapeLeft,
        DeviceOrientation.landscapeRight,
      ]);
    }

    /// Video h > w means we force portrait
    else if (isPortraitVideo) {
      SystemChrome.setPreferredOrientations([
        DeviceOrientation.portraitUp,
        DeviceOrientation.portraitDown,
      ]);
    }

    /// Otherwise if h == w (square video)
    else {
      SystemChrome.setPreferredOrientations(DeviceOrientation.values);
    }
  }
}