Cancel timer when un-mounting date picker widget
This commit is contained in:
parent
d547103f6a
commit
4cd223a7e5
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user