Jaime Blasco

fix WillPop issue

 Fix issue that moved the bottom sheet after will pop returns false
@@ -149,11 +149,17 @@ class _ModalBottomSheetState extends State<ModalBottomSheet> @@ -149,11 +149,17 @@ class _ModalBottomSheetState extends State<ModalBottomSheet>
149 } 149 }
150 150
151 void _cancelClose() { 151 void _cancelClose() {
152 - widget.animationController.forward(); 152 + widget.animationController.forward().then((value) {
  153 + // When using WillPop, animation doesn't end at 1.
  154 + // Check more in detail the problem
  155 + if (!widget.animationController.isCompleted)
  156 + widget.animationController.value = 1;
  157 + });
153 _bounceDragController.reverse(); 158 _bounceDragController.reverse();
154 } 159 }
155 160
156 bool _isCheckingShouldClose = false; 161 bool _isCheckingShouldClose = false;
  162 +
157 FutureOr<bool> shouldClose() async { 163 FutureOr<bool> shouldClose() async {
158 if (_isCheckingShouldClose) return false; 164 if (_isCheckingShouldClose) return false;
159 if (widget.shouldClose == null) return null; 165 if (widget.shouldClose == null) return null;
@@ -178,6 +184,8 @@ class _ModalBottomSheetState extends State<ModalBottomSheet> @@ -178,6 +184,8 @@ class _ModalBottomSheetState extends State<ModalBottomSheet>
178 _close(); 184 _close();
179 print('close'); 185 print('close');
180 return; 186 return;
  187 + } else {
  188 + _cancelClose();
181 } 189 }
182 } 190 }
183 191
@@ -218,6 +226,8 @@ class _ModalBottomSheetState extends State<ModalBottomSheet> @@ -218,6 +226,8 @@ class _ModalBottomSheetState extends State<ModalBottomSheet>
218 } else { 226 } else {
219 _cancelClose(); 227 _cancelClose();
220 } 228 }
  229 + } else {
  230 + _cancelClose();
221 } 231 }
222 } 232 }
223 233