From 2cff08cdf15bda7caa3604ceaefbb44d34081ae6 Mon Sep 17 00:00:00 2001 From: dab246 Date: Thu, 21 Mar 2024 01:39:24 +0700 Subject: [PATCH] TF-1534 Fix cannot selection text on iOS --- .../views/html_viewer/html_content_viewer_widget.dart | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/core/lib/presentation/views/html_viewer/html_content_viewer_widget.dart b/core/lib/presentation/views/html_viewer/html_content_viewer_widget.dart index 11e8156fb..bd1496cbd 100644 --- a/core/lib/presentation/views/html_viewer/html_content_viewer_widget.dart +++ b/core/lib/presentation/views/html_viewer/html_content_viewer_widget.dart @@ -65,12 +65,12 @@ class _HtmlContentViewState extends State { super.initState(); if (PlatformInfo.isAndroid) { _gestureRecognizers = { - Factory(() => LongPressGestureRecognizer()), + Factory(() => LongPressGestureRecognizer(duration: _longPressGestureDuration)), Factory(() => ScaleGestureRecognizer()), }; } else { _gestureRecognizers = { - Factory(() => LongPressGestureRecognizer()), + Factory(() => LongPressGestureRecognizer(duration: _longPressGestureDuration)), }; } if (PlatformInfo.isAndroid) { @@ -153,9 +153,9 @@ class _HtmlContentViewState extends State { } void _onLoadStop(InAppWebViewController controller, WebUri? webUri) async { - log('_HtmlContentViewState::_onLoadStop:'); await _getActualSizeHtmlViewer(); _loadingBarNotifier.value = false; + log('_HtmlContentViewState::_onLoadStop: GestureRecognizers = $_gestureRecognizers'); } void _onContentSizeChanged( @@ -211,7 +211,7 @@ class _HtmlContentViewState extends State { if (!isScrollActivated && PlatformInfo.isIOS) { newGestureRecognizers = { - Factory(() => LongPressGestureRecognizer()), + Factory(() => LongPressGestureRecognizer(duration: _longPressGestureDuration)), Factory(() => HorizontalDragGestureRecognizer()) }; } @@ -272,6 +272,8 @@ class _HtmlContentViewState extends State { return NavigationActionPolicy.CANCEL; } + Duration? get _longPressGestureDuration => const Duration(milliseconds: 100); + @override void dispose() { _loadingBarNotifier.dispose();