adjustForQuietHours method
Adjusts scheduled time to avoid quiet hours.
Implementation
DateTime adjustForQuietHours({
required DateTime scheduledTime,
required int quietStartHour,
required int quietEndHour,
List<int> quietDays = const <int>[],
}) {
if (!isInQuietHours(
scheduledTime: scheduledTime,
quietStartHour: quietStartHour,
quietEndHour: quietEndHour,
quietDays: quietDays,
)) {
return scheduledTime;
}
// Move to the end of quiet hours
DateTime adjustedTime = DateTime(
scheduledTime.year,
scheduledTime.month,
scheduledTime.day,
quietEndHour,
);
// If quiet hours end the next day, add a day
if (quietStartHour > quietEndHour && scheduledTime.hour >= quietStartHour) {
adjustedTime = adjustedTime.add(const Duration(days: 1));
}
return adjustedTime;
}