-
-
Notifications
You must be signed in to change notification settings - Fork 67
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Android physic back button doesn't close showModalBottomSheet when is open #39
Comments
I believe we're having a similar issue with a webview. We open the webview and if we press the Android physical back button it does nothing. The leading icon (in the appbar) does work until you press the physical button at which time that causes an exception to be thrown. |
Here is the exception that is throws. I hope this helps. E/flutter ( 3806): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: 'package:flutter/src/widgets/navigator.dart': Failed assertion: line 3815 pos 12: '!_debugLocked': is not true.
E/flutter ( 3806): #0 _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:46:39)
E/flutter ( 3806): #1 _AssertionError._throwNew (dart:core-patch/errors_patch.dart:36:5)
E/flutter ( 3806): #2 NavigatorState.pop
package:flutter/…/widgets/navigator.dart:3815
E/flutter ( 3806): #3 NavigatorState.maybePop
package:flutter/…/widgets/navigator.dart:3781
E/flutter ( 3806): <asynchronous suspension>
E/flutter ( 3806): #4 Navigator.maybePop
package:flutter/…/widgets/navigator.dart:2018
E/flutter ( 3806): #5 BackButton.build.<anonymous closure>
package:flutter/…/material/back_button.dart:110
E/flutter ( 3806): #6 _InkResponseState._handleTap
package:flutter/…/material/ink_well.dart:993
E/flutter ( 3806): #7 _InkResponseState.build.<anonymous closure>
package:flutter/…/material/ink_well.dart:1111
E/flutter ( 3806): #8 GestureRecognizer.invokeCallback
package:flutter/…/gestures/recognizer.dart:183
E/flutter ( 3806): #9 TapGestureRecognizer.handleTapUp
package:flutter/…/gestures/tap.dart:598
E/flutter ( 3806): #10 BaseTapGestureRecognizer._checkUp
package:flutter/…/gestures/tap.dart:287
E/flutter ( 3806): #11 BaseTapGestureRecognizer.acceptGesture
package:flutter/…/gestures/tap.dart:259
E/flutter ( 3806): #12 GestureArenaManager.sweep
package:flutter/…/gestures/arena.dart:157
E/flutter ( 3806): #13 GestureBinding.handleEvent
package:flutter/…/gestures/binding.dart:362
E/flutter ( 3806): #14 GestureBinding.dispatchEvent
package:flutter/…/gestures/binding.dart:338
E/flutter ( 3806): #15 RendererBinding.dispatchEvent
package:flutter/…/rendering/binding.dart:267
E/flutter ( 3806): #16 GestureBinding._handlePointerEvent
package:flutter/…/gestures/binding.dart:295
E/flutter ( 3806): #17 GestureBinding._flushPointerEventQueue
package:flutter/…/gestures/binding.dart:240
E/flutter ( 3806): #18 GestureBinding._handlePointerDataPacket
package:flutter/…/gestures/binding.dart:213
E/flutter ( 3806): #19 _rootRunUnary (dart:async/zone.dart:1206:13)
E/flutter ( 3806): #20 _CustomZone.runUnary (dart:async/zone.dart:1100:19) |
Thanks @chadrickman 🙏 |
For @chadrickman's problem, we found a temporary work around wrapping our (This may be unrelated to the issue of OP)
|
It would be my pleasure! Here you go @felangel |
I'm having the same issue! |
Sorry for the delay! I'll take a look at this asap 👍 |
The problem appears to stem from using Future.microtask() to handle navigation. Future.microtask(() async {
await Navigator.of(context).push(ExampleWebView.route());
}); Here's an easy fix (no progress indicator): class _OnboardingUsageState extends State<OnboardingUsage> {
@override
Widget build(BuildContext context) {
return ExampleWebView();
}
} If progress indicator is desired, something like this would work well. |
Any update? i have the same problem without WebView. |
When i use showModalBottomSheet and pressed back button on Android, it pops the Flow pages instead of close ModalBottomSheet.
Navigator.pop(context ""bottomsheet context"") close the bottomsheet
I tried to put a WillPopScope in the BottomSheet children and call Navigator.pop but it doesn't catch the event
Do you have any idea ?
My use case:
MaterialApp > FlowBuilder > [FlowBuilder > BottomSheet] <== is poped (and not BottomSheet itself)
The text was updated successfully, but these errors were encountered: