copyWith method
AlarmSettings
copyWith({
- int? id,
- DateTime? dateTime,
- String? assetAudioPath,
- VolumeSettings? volumeSettings,
- NotificationSettings? notificationSettings,
- bool? loopAudio,
- bool? vibrate,
- @Deprecated('This parameter is ignored. Use volumeSettings instead.') double? volume,
- @Deprecated('This parameter is ignored. Use volumeSettings instead.') bool? volumeEnforced,
- @Deprecated('This parameter is ignored. Use volumeSettings instead.') double? fadeDuration,
- @Deprecated('This parameter is ignored. Use volumeSettings instead.') List<
double> ? fadeStopTimes, - @Deprecated('This parameter is ignored. Use volumeSettings instead.') List<
double> ? fadeStopVolumes, - @Deprecated('This parameter is ignored. Use notificationSettings instead.') String? notificationTitle,
- @Deprecated('This parameter is ignored. Use notificationSettings instead.') String? notificationBody,
- bool? warningNotificationOnKill,
- bool? androidFullScreenIntent,
- bool? allowAlarmOverlap,
- bool? allowSameSecondScheduling,
- bool? iOSBackgroundAudio,
- bool? androidStopAlarmOnTermination,
- bool? preferConnectedAudioDevice,
- String? payload()?,
- Duration? androidSnoozeDuration()?,
Creates a copy of AlarmSettings but with the given fields replaced with
the new values.
Implementation
AlarmSettings copyWith({
int? id,
DateTime? dateTime,
String? assetAudioPath,
VolumeSettings? volumeSettings,
NotificationSettings? notificationSettings,
bool? loopAudio,
bool? vibrate,
@Deprecated('This parameter is ignored. Use volumeSettings instead.')
double? volume,
@Deprecated('This parameter is ignored. Use volumeSettings instead.')
bool? volumeEnforced,
@Deprecated('This parameter is ignored. Use volumeSettings instead.')
double? fadeDuration,
@Deprecated('This parameter is ignored. Use volumeSettings instead.')
List<double>? fadeStopTimes,
@Deprecated('This parameter is ignored. Use volumeSettings instead.')
List<double>? fadeStopVolumes,
@Deprecated('This parameter is ignored. Use notificationSettings instead.')
String? notificationTitle,
@Deprecated('This parameter is ignored. Use notificationSettings instead.')
String? notificationBody,
bool? warningNotificationOnKill,
bool? androidFullScreenIntent,
bool? allowAlarmOverlap,
bool? allowSameSecondScheduling,
bool? iOSBackgroundAudio,
bool? androidStopAlarmOnTermination,
bool? preferConnectedAudioDevice,
String? Function()? payload,
Duration? Function()? androidSnoozeDuration,
}) {
return AlarmSettings(
id: id ?? this.id,
dateTime: dateTime ?? this.dateTime,
assetAudioPath: assetAudioPath ?? this.assetAudioPath,
volumeSettings: volumeSettings ?? this.volumeSettings,
notificationSettings: notificationSettings ?? this.notificationSettings,
loopAudio: loopAudio ?? this.loopAudio,
vibrate: vibrate ?? this.vibrate,
warningNotificationOnKill:
warningNotificationOnKill ?? this.warningNotificationOnKill,
androidFullScreenIntent:
androidFullScreenIntent ?? this.androidFullScreenIntent,
allowAlarmOverlap: allowAlarmOverlap ?? this.allowAlarmOverlap,
allowSameSecondScheduling:
allowSameSecondScheduling ?? this.allowSameSecondScheduling,
iOSBackgroundAudio: iOSBackgroundAudio ?? this.iOSBackgroundAudio,
androidStopAlarmOnTermination:
androidStopAlarmOnTermination ?? this.androidStopAlarmOnTermination,
preferConnectedAudioDevice:
preferConnectedAudioDevice ?? this.preferConnectedAudioDevice,
// The function wrapper allows callers to clear the payload by
// explicitly returning null.
payload: payload != null ? payload() : this.payload,
// Wrapped like payload so a caller can remove an existing snooze by
// returning null, which a plain nullable parameter cannot express.
androidSnoozeDuration: androidSnoozeDuration != null
? androidSnoozeDuration()
: this.androidSnoozeDuration,
);
}