// coverage:ignore-file
// GENERATED CODE - DO NOT MODIFY BY HAND
// ignore_for_file: type=lint
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark

part of 'video_player_settings.dart';

// **************************************************************************
// FreezedGenerator
// **************************************************************************

T _$identity<T>(T value) => value;

final _privateConstructorUsedError = UnsupportedError(
    'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models');

VideoPlayerSettingsModel _$VideoPlayerSettingsModelFromJson(
    Map<String, dynamic> json) {
  return _VideoPlayerSettingsModel.fromJson(json);
}

/// @nodoc
mixin _$VideoPlayerSettingsModel {
  double? get screenBrightness => throw _privateConstructorUsedError;
  BoxFit get videoFit => throw _privateConstructorUsedError;
  bool get fillScreen => throw _privateConstructorUsedError;
  bool get hardwareAccel => throw _privateConstructorUsedError;
  bool get useLibass => throw _privateConstructorUsedError;
  PlayerOptions? get playerOptions => throw _privateConstructorUsedError;
  double get internalVolume => throw _privateConstructorUsedError;
  Set<DeviceOrientation>? get allowedOrientations =>
      throw _privateConstructorUsedError;
  AutoNextType get nextVideoType => throw _privateConstructorUsedError;
  String? get audioDevice => throw _privateConstructorUsedError;

  /// Serializes this VideoPlayerSettingsModel to a JSON map.
  Map<String, dynamic> toJson() => throw _privateConstructorUsedError;

  /// Create a copy of VideoPlayerSettingsModel
  /// with the given fields replaced by the non-null parameter values.
  @JsonKey(includeFromJson: false, includeToJson: false)
  $VideoPlayerSettingsModelCopyWith<VideoPlayerSettingsModel> get copyWith =>
      throw _privateConstructorUsedError;
}

/// @nodoc
abstract class $VideoPlayerSettingsModelCopyWith<$Res> {
  factory $VideoPlayerSettingsModelCopyWith(VideoPlayerSettingsModel value,
          $Res Function(VideoPlayerSettingsModel) then) =
      _$VideoPlayerSettingsModelCopyWithImpl<$Res, VideoPlayerSettingsModel>;
  @useResult
  $Res call(
      {double? screenBrightness,
      BoxFit videoFit,
      bool fillScreen,
      bool hardwareAccel,
      bool useLibass,
      PlayerOptions? playerOptions,
      double internalVolume,
      Set<DeviceOrientation>? allowedOrientations,
      AutoNextType nextVideoType,
      String? audioDevice});
}

/// @nodoc
class _$VideoPlayerSettingsModelCopyWithImpl<$Res,
        $Val extends VideoPlayerSettingsModel>
    implements $VideoPlayerSettingsModelCopyWith<$Res> {
  _$VideoPlayerSettingsModelCopyWithImpl(this._value, this._then);

  // ignore: unused_field
  final $Val _value;
  // ignore: unused_field
  final $Res Function($Val) _then;

  /// Create a copy of VideoPlayerSettingsModel
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? screenBrightness = freezed,
    Object? videoFit = null,
    Object? fillScreen = null,
    Object? hardwareAccel = null,
    Object? useLibass = null,
    Object? playerOptions = freezed,
    Object? internalVolume = null,
    Object? allowedOrientations = freezed,
    Object? nextVideoType = null,
    Object? audioDevice = freezed,
  }) {
    return _then(_value.copyWith(
      screenBrightness: freezed == screenBrightness
          ? _value.screenBrightness
          : screenBrightness // ignore: cast_nullable_to_non_nullable
              as double?,
      videoFit: null == videoFit
          ? _value.videoFit
          : videoFit // ignore: cast_nullable_to_non_nullable
              as BoxFit,
      fillScreen: null == fillScreen
          ? _value.fillScreen
          : fillScreen // ignore: cast_nullable_to_non_nullable
              as bool,
      hardwareAccel: null == hardwareAccel
          ? _value.hardwareAccel
          : hardwareAccel // ignore: cast_nullable_to_non_nullable
              as bool,
      useLibass: null == useLibass
          ? _value.useLibass
          : useLibass // ignore: cast_nullable_to_non_nullable
              as bool,
      playerOptions: freezed == playerOptions
          ? _value.playerOptions
          : playerOptions // ignore: cast_nullable_to_non_nullable
              as PlayerOptions?,
      internalVolume: null == internalVolume
          ? _value.internalVolume
          : internalVolume // ignore: cast_nullable_to_non_nullable
              as double,
      allowedOrientations: freezed == allowedOrientations
          ? _value.allowedOrientations
          : allowedOrientations // ignore: cast_nullable_to_non_nullable
              as Set<DeviceOrientation>?,
      nextVideoType: null == nextVideoType
          ? _value.nextVideoType
          : nextVideoType // ignore: cast_nullable_to_non_nullable
              as AutoNextType,
      audioDevice: freezed == audioDevice
          ? _value.audioDevice
          : audioDevice // ignore: cast_nullable_to_non_nullable
              as String?,
    ) as $Val);
  }
}

/// @nodoc
abstract class _$$VideoPlayerSettingsModelImplCopyWith<$Res>
    implements $VideoPlayerSettingsModelCopyWith<$Res> {
  factory _$$VideoPlayerSettingsModelImplCopyWith(
          _$VideoPlayerSettingsModelImpl value,
          $Res Function(_$VideoPlayerSettingsModelImpl) then) =
      __$$VideoPlayerSettingsModelImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {double? screenBrightness,
      BoxFit videoFit,
      bool fillScreen,
      bool hardwareAccel,
      bool useLibass,
      PlayerOptions? playerOptions,
      double internalVolume,
      Set<DeviceOrientation>? allowedOrientations,
      AutoNextType nextVideoType,
      String? audioDevice});
}

/// @nodoc
class __$$VideoPlayerSettingsModelImplCopyWithImpl<$Res>
    extends _$VideoPlayerSettingsModelCopyWithImpl<$Res,
        _$VideoPlayerSettingsModelImpl>
    implements _$$VideoPlayerSettingsModelImplCopyWith<$Res> {
  __$$VideoPlayerSettingsModelImplCopyWithImpl(
      _$VideoPlayerSettingsModelImpl _value,
      $Res Function(_$VideoPlayerSettingsModelImpl) _then)
      : super(_value, _then);

  /// Create a copy of VideoPlayerSettingsModel
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? screenBrightness = freezed,
    Object? videoFit = null,
    Object? fillScreen = null,
    Object? hardwareAccel = null,
    Object? useLibass = null,
    Object? playerOptions = freezed,
    Object? internalVolume = null,
    Object? allowedOrientations = freezed,
    Object? nextVideoType = null,
    Object? audioDevice = freezed,
  }) {
    return _then(_$VideoPlayerSettingsModelImpl(
      screenBrightness: freezed == screenBrightness
          ? _value.screenBrightness
          : screenBrightness // ignore: cast_nullable_to_non_nullable
              as double?,
      videoFit: null == videoFit
          ? _value.videoFit
          : videoFit // ignore: cast_nullable_to_non_nullable
              as BoxFit,
      fillScreen: null == fillScreen
          ? _value.fillScreen
          : fillScreen // ignore: cast_nullable_to_non_nullable
              as bool,
      hardwareAccel: null == hardwareAccel
          ? _value.hardwareAccel
          : hardwareAccel // ignore: cast_nullable_to_non_nullable
              as bool,
      useLibass: null == useLibass
          ? _value.useLibass
          : useLibass // ignore: cast_nullable_to_non_nullable
              as bool,
      playerOptions: freezed == playerOptions
          ? _value.playerOptions
          : playerOptions // ignore: cast_nullable_to_non_nullable
              as PlayerOptions?,
      internalVolume: null == internalVolume
          ? _value.internalVolume
          : internalVolume // ignore: cast_nullable_to_non_nullable
              as double,
      allowedOrientations: freezed == allowedOrientations
          ? _value._allowedOrientations
          : allowedOrientations // ignore: cast_nullable_to_non_nullable
              as Set<DeviceOrientation>?,
      nextVideoType: null == nextVideoType
          ? _value.nextVideoType
          : nextVideoType // ignore: cast_nullable_to_non_nullable
              as AutoNextType,
      audioDevice: freezed == audioDevice
          ? _value.audioDevice
          : audioDevice // ignore: cast_nullable_to_non_nullable
              as String?,
    ));
  }
}

/// @nodoc
@JsonSerializable()
class _$VideoPlayerSettingsModelImpl extends _VideoPlayerSettingsModel
    with DiagnosticableTreeMixin {
  _$VideoPlayerSettingsModelImpl(
      {this.screenBrightness,
      this.videoFit = BoxFit.contain,
      this.fillScreen = false,
      this.hardwareAccel = true,
      this.useLibass = false,
      this.playerOptions,
      this.internalVolume = 100,
      final Set<DeviceOrientation>? allowedOrientations,
      this.nextVideoType = AutoNextType.smart,
      this.audioDevice})
      : _allowedOrientations = allowedOrientations,
        super._();

  factory _$VideoPlayerSettingsModelImpl.fromJson(Map<String, dynamic> json) =>
      _$$VideoPlayerSettingsModelImplFromJson(json);

  @override
  final double? screenBrightness;
  @override
  @JsonKey()
  final BoxFit videoFit;
  @override
  @JsonKey()
  final bool fillScreen;
  @override
  @JsonKey()
  final bool hardwareAccel;
  @override
  @JsonKey()
  final bool useLibass;
  @override
  final PlayerOptions? playerOptions;
  @override
  @JsonKey()
  final double internalVolume;
  final Set<DeviceOrientation>? _allowedOrientations;
  @override
  Set<DeviceOrientation>? get allowedOrientations {
    final value = _allowedOrientations;
    if (value == null) return null;
    if (_allowedOrientations is EqualUnmodifiableSetView)
      return _allowedOrientations;
    // ignore: implicit_dynamic_type
    return EqualUnmodifiableSetView(value);
  }

  @override
  @JsonKey()
  final AutoNextType nextVideoType;
  @override
  final String? audioDevice;

  @override
  String toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) {
    return 'VideoPlayerSettingsModel(screenBrightness: $screenBrightness, videoFit: $videoFit, fillScreen: $fillScreen, hardwareAccel: $hardwareAccel, useLibass: $useLibass, playerOptions: $playerOptions, internalVolume: $internalVolume, allowedOrientations: $allowedOrientations, nextVideoType: $nextVideoType, audioDevice: $audioDevice)';
  }

  @override
  void debugFillProperties(DiagnosticPropertiesBuilder properties) {
    super.debugFillProperties(properties);
    properties
      ..add(DiagnosticsProperty('type', 'VideoPlayerSettingsModel'))
      ..add(DiagnosticsProperty('screenBrightness', screenBrightness))
      ..add(DiagnosticsProperty('videoFit', videoFit))
      ..add(DiagnosticsProperty('fillScreen', fillScreen))
      ..add(DiagnosticsProperty('hardwareAccel', hardwareAccel))
      ..add(DiagnosticsProperty('useLibass', useLibass))
      ..add(DiagnosticsProperty('playerOptions', playerOptions))
      ..add(DiagnosticsProperty('internalVolume', internalVolume))
      ..add(DiagnosticsProperty('allowedOrientations', allowedOrientations))
      ..add(DiagnosticsProperty('nextVideoType', nextVideoType))
      ..add(DiagnosticsProperty('audioDevice', audioDevice));
  }

  /// Create a copy of VideoPlayerSettingsModel
  /// with the given fields replaced by the non-null parameter values.
  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  @pragma('vm:prefer-inline')
  _$$VideoPlayerSettingsModelImplCopyWith<_$VideoPlayerSettingsModelImpl>
      get copyWith => __$$VideoPlayerSettingsModelImplCopyWithImpl<
          _$VideoPlayerSettingsModelImpl>(this, _$identity);

  @override
  Map<String, dynamic> toJson() {
    return _$$VideoPlayerSettingsModelImplToJson(
      this,
    );
  }
}

abstract class _VideoPlayerSettingsModel extends VideoPlayerSettingsModel {
  factory _VideoPlayerSettingsModel(
      {final double? screenBrightness,
      final BoxFit videoFit,
      final bool fillScreen,
      final bool hardwareAccel,
      final bool useLibass,
      final PlayerOptions? playerOptions,
      final double internalVolume,
      final Set<DeviceOrientation>? allowedOrientations,
      final AutoNextType nextVideoType,
      final String? audioDevice}) = _$VideoPlayerSettingsModelImpl;
  _VideoPlayerSettingsModel._() : super._();

  factory _VideoPlayerSettingsModel.fromJson(Map<String, dynamic> json) =
      _$VideoPlayerSettingsModelImpl.fromJson;

  @override
  double? get screenBrightness;
  @override
  BoxFit get videoFit;
  @override
  bool get fillScreen;
  @override
  bool get hardwareAccel;
  @override
  bool get useLibass;
  @override
  PlayerOptions? get playerOptions;
  @override
  double get internalVolume;
  @override
  Set<DeviceOrientation>? get allowedOrientations;
  @override
  AutoNextType get nextVideoType;
  @override
  String? get audioDevice;

  /// Create a copy of VideoPlayerSettingsModel
  /// with the given fields replaced by the non-null parameter values.
  @override
  @JsonKey(includeFromJson: false, includeToJson: false)
  _$$VideoPlayerSettingsModelImplCopyWith<_$VideoPlayerSettingsModelImpl>
      get copyWith => throw _privateConstructorUsedError;
}
