Commit 4cd223a7 authored by Collin Jackson's avatar Collin Jackson

Cancel timer when un-mounting date picker widget

parent d547103f
......@@ -299,12 +299,16 @@ class MonthPicker extends ScrollableWidgetList {
}
DateTime _currentDate;
Timer _timer;
void _updateCurrentDate() {
_currentDate = new DateTime.now();
DateTime tomorrow = new DateTime(_currentDate.year, _currentDate.month, _currentDate.day + 1);
Duration timeUntilTomorrow = tomorrow.difference(_currentDate);
timeUntilTomorrow += const Duration(seconds: 1); // so we don't miss it by rounding
new Timer(timeUntilTomorrow, () {
if (_timer != null)
_timer.cancel();
_timer = new Timer(timeUntilTomorrow, () {
setState(() {
_updateCurrentDate();
});
......@@ -332,6 +336,13 @@ class MonthPicker extends ScrollableWidgetList {
}
return result;
}
void didUnmount() {
super.didUnmount();
if (_timer != null) {
_timer.cancel();
}
}
}
// Scrollable list of years to allow picking a year
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment