Max Onishi

fix modal dismiss issue

@@ -265,14 +265,18 @@ class _ModalBottomSheetState extends State<ModalBottomSheet> @@ -265,14 +265,18 @@ class _ModalBottomSheetState extends State<ModalBottomSheet>
265 assert(notification.context != null); 265 assert(notification.context != null);
266 //Check if scrollController is used 266 //Check if scrollController is used
267 if (!_scrollController.hasClients) return; 267 if (!_scrollController.hasClients) return;
268 - //Check if there is more than 1 attached ScrollController e.g. swiping page in PageView  
269 - // ignore: invalid_use_of_protected_member  
270 - if (_scrollController.positions.length > 1) return;  
271 -  
272 - if (_scrollController !=  
273 - Scrollable.of(notification.context!)!.widget.controller) return;  
274 268
275 - final scrollPosition = _scrollController.position; 269 + ScrollPosition scrollPosition;
  270 + // ignore: invalid_use_of_protected_member
  271 + if (_scrollController.positions.length > 1) {
  272 + // ignore: invalid_use_of_protected_member
  273 + scrollPosition = _scrollController.positions
  274 + .firstWhere((p) => p.isScrollingNotifier.value,
  275 + // ignore: invalid_use_of_protected_member
  276 + orElse: () => _scrollController.positions.first);
  277 + } else {
  278 + scrollPosition = _scrollController.position;
  279 + }
276 280
277 if (scrollPosition.axis == Axis.horizontal) return; 281 if (scrollPosition.axis == Axis.horizontal) return;
278 282