isInQuietHours method

bool isInQuietHours({
  1. required DateTime scheduledTime,
  2. required int quietStartHour,
  3. required int quietEndHour,
  4. List<int> quietDays = const <int>[],
})

Checks if a scheduled time conflicts with quiet hours.

Implementation

bool isInQuietHours({
  required DateTime scheduledTime,
  required int quietStartHour,
  required int quietEndHour,
  List<int> quietDays = const <int>[],
}) {
  final int weekday = scheduledTime.weekday;
  if (quietDays.isNotEmpty && !quietDays.contains(weekday)) {
    return false;
  }

  final int hour = scheduledTime.hour;

  if (quietStartHour <= quietEndHour) {
    // Same day quiet hours (e.g., 22:00 to 06:00 next day)
    return hour >= quietStartHour && hour < quietEndHour;
  } else {
    // Overnight quiet hours (e.g., 22:00 to 06:00 next day)
    return hour >= quietStartHour || hour < quietEndHour;
  }
}