mitchhymel / local_notifications

No longer in development -Flutter plugin for creating notifications
BSD 2-Clause "Simplified" License
108 stars 14 forks source link

Cannot reuse a MaterialPageRoute<dynamic> after disposing it and during local notification display #24

Open LSmint opened 5 years ago

LSmint commented 5 years ago

Step To Reproduce in iOS simulater: 1) open any child navigation screen. 2) open and close the screen from second -> first route screen using the swipe mechanism while local notification display. 3) error occurred after swiped (tried multiple times).

══╡ EXCEPTION CAUGHT BY ANIMATION LIBRARY ╞═════════════════════════════════════════════════════════ flutter: The following assertion was thrown while notifying status listeners for AnimationController: flutter: Cannot reuse a MaterialPageRoute after disposing it. flutter: 'package:flutter/src/widgets/routes.dart': Failed assertion: line 217 pos 12: flutter: '!_transitionCompleter.isCompleted' flutter: flutter: Either the assertion indicates an error in the framework itself, or we should provide substantially flutter: more information in this error message to help you determine and fix the underlying cause. flutter: In either case, please report this assertion by filing a bug on GitHub: flutter: https://github.com/flutter/flutter/issues/new?template=BUG.md flutter: flutter: When the exception was thrown, this was the stack: flutter: #2 TransitionRoute.didPopNext (package:flutter/src/widgets/routes.dart:217:12) flutter: #3 NavigatorState.pop (package:flutter/src/widgets/navigator.dart:1944:23) flutter: #4 _CupertinoBackGestureController._handleStatusChanged (package:flutter/src/cupertino/route.dart:655:17) flutter: #5 _AnimationController&Animation&AnimationEagerListenerMixin&AnimationLocalListenersMixin&AnimationLocalStatusListenersMixin.notifyStatusListeners (package:flutter/src/animation/listener_helpers.dart:192:19) flutter: #6 AnimationController._checkStatusChanged (package:flutter/src/animation/animation_controller.dart:736:7) flutter: #7 AnimationController._tick (package:flutter/src/animation/animation_controller.dart:752:5) flutter: #8 Ticker._tick (package:flutter/src/scheduler/ticker.dart:228:5) flutter: #9 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:988:15) flutter: #10 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleBeginFrame. (package:flutter/src/scheduler/binding.dart:904:11) flutter: #11 __InternalLinkedHashMap&_HashVMBase&MapMixin&_LinkedHashMapMixin.forEach (dart:collection/runtime/libcompact_hash.dart:367:8) flutter: #12 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleBeginFrame (package:flutter/src/scheduler/binding.dart:902:17) flutter: #13 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._handleBeginFrame (package:flutter/src/scheduler/binding.dart:832:5) flutter: #17 _invoke1 (dart:ui/hooks.dart:223:10) flutter: #18 _beginFrame (dart:ui/hooks.dart:162:3) flutter: (elided 5 frames from class _AssertionError and package dart:async) flutter: flutter: The AnimationController notifying status listeners was: flutter: AnimationController#340eb(⏮ 0.000; paused; DISPOSED; for MaterialPageRoute(null)) flutter: ════════════════════════════════════════════════════════════════════════════════════════════════════