needReload method
Implementation
bool needReload() {
if (_lastReloadTime == null) {
return true;
}
final now = TZDateTime.now(_timezone);
// 마지막 리로드가 오래되었다면, 리로드 필요.
if (_lastReloadTime!.isBefore(now.subtract(_reloadDuration))) {
return true;
}
// 날짜가 달라졌다면, 리로드 필요.
if (formatDate(now) != formatDate(_lastReloadTime!)) {
return true;
}
// 날짜가 바뀌기 직전이라면, 리로드 필요.
final nextMidnight = now.add(const Duration(days: 1)).subtract(Duration(
hours: now.hour,
minutes: now.minute,
seconds: now.second,
milliseconds: now.millisecond,
microseconds: now.microsecond));
if (nextMidnight.difference(now).inMilliseconds < 300 * 1000) {
return true;
}
return false;
}