diff --git a/lib/models/model.dart b/lib/models/model.dart index dfcc18c17..14c7759d4 100644 --- a/lib/models/model.dart +++ b/lib/models/model.dart @@ -244,8 +244,6 @@ class FfiModel with ChangeNotifier { if (isPeerAndroid) { _touchMode = true; - FFI.setByName('peer_option', '{"name": "view-style", "value": "shrink"}'); - FFI.canvasModel.updateViewStyle(); if (FFI.ffiModel.permissions['keyboard'] != false) { showMobileActionsOverlay(); } @@ -296,6 +294,13 @@ class ImageModel with ChangeNotifier { FFI.canvasModel.scale = max(xscale, yscale); } initializeCursorAndCanvas(); + Future.delayed(Duration(milliseconds: 1), () { + if (FFI.ffiModel.isPeerAndroid) { + FFI.setByName( + 'peer_option', '{"name": "view-style", "value": "shrink"}'); + FFI.canvasModel.updateViewStyle(); + } + }); } _image = image; if (image != null) notifyListeners(); diff --git a/lib/pages/remote_page.dart b/lib/pages/remote_page.dart index de7580ad9..9768262d5 100644 --- a/lib/pages/remote_page.dart +++ b/lib/pages/remote_page.dart @@ -536,10 +536,15 @@ class _RemotePageState extends State { FFI.canvasModel.panX(d.focalPointDelta.dx); FFI.canvasModel.panY(d.focalPointDelta.dy); }, - onTwoFingerScaleEnd: (d) => _scale = 1, - onTwoFingerVerticalDragUpdate: (d) { - FFI.scroll(d.delta.dy / 2); - }); + onTwoFingerScaleEnd: (d) { + _scale = 1; + FFI.setByName('peer_option', '{"name": "view-style", "value": ""}'); + }, + onTwoFingerVerticalDragUpdate: FFI.ffiModel.isPeerAndroid + ? null + : (d) { + FFI.scroll(d.delta.dy / 2); + }); } Widget getBodyForMobile() { @@ -933,7 +938,6 @@ void showOptions() { String quality = FFI.getByName('image_quality'); if (quality == '') quality = 'balanced'; String viewStyle = FFI.getByName('peer_option', 'view-style'); - if (viewStyle == '') viewStyle = 'original'; var displays = []; final pi = FFI.ffiModel.pi; final image = FFI.ffiModel.getConnectionImage(); diff --git a/lib/pages/server_page.dart b/lib/pages/server_page.dart index 3c6300a02..9377f495d 100644 --- a/lib/pages/server_page.dart +++ b/lib/pages/server_page.dart @@ -213,10 +213,6 @@ class _PermissionCheckerState extends State { "* ${translate("android_version_audio_tip")}", style: TextStyle(color: MyTheme.darkGray), ), - Text( - "DEBUG:VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR", - style: TextStyle(color: MyTheme.darkGray), - ), SizedBox(height: 8), Row( crossAxisAlignment: CrossAxisAlignment.center, diff --git a/lib/widgets/gestures.dart b/lib/widgets/gestures.dart index 8abef9d35..25f648541 100644 --- a/lib/widgets/gestures.dart +++ b/lib/widgets/gestures.dart @@ -155,7 +155,16 @@ class CustomTouchGestureRecognizer extends ScaleGestureRecognizer { _sumHorizontal += d.focalPointDelta.dx; _sumVertical += d.focalPointDelta.dy; // start - if (_sumScale.abs() > kScaleSlop) { + if (onTwoFingerVerticalDragUpdate != null && + _sumVertical.abs() > kPrecisePointerPanSlop && + _sumHorizontal.abs() < kPrecisePointerPanSlop) { + debugPrint("start Vertical"); + if (onTwoFingerVerticalDragStart != null) { + onTwoFingerVerticalDragStart!(_getDragStartDetails(d)); + } + _currentState = CustomTouchGestureState.twoFingerVerticalDrag; + _reset(); + } else if (onTwoFingerScaleUpdate != null && _sumScale.abs() > kScaleSlop) { debugPrint("start Scale"); _currentState = CustomTouchGestureState.twoFingerScale; if (onTwoFingerScaleStart != null) { @@ -163,14 +172,6 @@ class CustomTouchGestureRecognizer extends ScaleGestureRecognizer { localFocalPoint: d.localFocalPoint, focalPoint: d.focalPoint)); } _reset(); - } else if (_sumVertical.abs() > kPrecisePointerPanSlop && - _sumHorizontal.abs() < kPrecisePointerHitSlop) { - debugPrint("start Vertical"); - if (onTwoFingerVerticalDragStart != null) { - _getDragStartDetails(d); - } - _currentState = CustomTouchGestureState.twoFingerVerticalDrag; - _reset(); } }