ios simulator cursor fix

pull/652/head
Andriy Trubchanin 3 years ago
parent ac933e07fb
commit c4b5b38b99
  1. 12
      lib/src/utils/platform.dart
  2. 7
      lib/src/widgets/raw_editor.dart
  3. 1
      pubspec.yaml

@ -1,3 +1,6 @@
import 'dart:io';
import 'package:device_info_plus/device_info_plus.dart';
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
bool isMobile([TargetPlatform? targetPlatform]) { bool isMobile([TargetPlatform? targetPlatform]) {
@ -23,3 +26,12 @@ bool isAppleOS([TargetPlatform? targetPlatform]) {
TargetPlatform.iOS, TargetPlatform.iOS,
}.contains(targetPlatform); }.contains(targetPlatform);
} }
Future<bool> isIosSimulator() async {
if (Platform.isIOS) {
final deviceInfo = DeviceInfoPlugin();
final iosInfo = await deviceInfo.iosInfo;
return !iosInfo.isPhysicalDevice;
}
return false;
}

@ -556,6 +556,11 @@ class RawEditorState extends EditorState
if (isKeyboardOS()) { if (isKeyboardOS()) {
_keyboardVisible = true; _keyboardVisible = true;
} else {
// treat iOS Simulator like a keyboard OS
isIosSimulator().then((isIosSimulator) {
if (isIosSimulator) {
_keyboardVisible = true;
} else { } else {
_keyboardVisibilityController = KeyboardVisibilityController(); _keyboardVisibilityController = KeyboardVisibilityController();
_keyboardVisible = _keyboardVisibilityController!.isVisible; _keyboardVisible = _keyboardVisibilityController!.isVisible;
@ -567,6 +572,8 @@ class RawEditorState extends EditorState
} }
}); });
} }
});
}
_focusAttachment = widget.focusNode.attach(context); _focusAttachment = widget.focusNode.attach(context);
widget.focusNode.addListener(_handleFocusChanged); widget.focusNode.addListener(_handleFocusChanged);

@ -28,6 +28,7 @@ dependencies:
diff_match_patch: ^0.4.1 diff_match_patch: ^0.4.1
i18n_extension: ^4.2.0 i18n_extension: ^4.2.0
gallery_saver: ^2.3.2 gallery_saver: ^2.3.2
device_info_plus: ^3.2.1
dev_dependencies: dev_dependencies:
flutter_test: flutter_test:

Loading…
Cancel
Save