fix mobile show chat window

Signed-off-by: fufesou <shuanglongchen@yeah.net>
This commit is contained in:
fufesou 2023-04-04 09:51:41 +08:00
parent c804ad9942
commit 6c78e7bf74
3 changed files with 13 additions and 7 deletions

View File

@ -388,6 +388,15 @@ class BlockableOverlayState extends OverlayKeyState {
_middleBlocked.value = blocked; _middleBlocked.value = blocked;
} }
} }
void applyFfi(FFI ffi) {
ffi.dialogManager.setOverlayState(this);
ffi.chatModel.setOverlayState(this);
// make remote page penetrable automatically, effective for chat over remote
onMiddleBlockedClick = () {
setMiddleBlocked(false);
};
}
} }
class BlockableOverlay extends StatelessWidget { class BlockableOverlay extends StatelessWidget {

View File

@ -158,12 +158,7 @@ class _RemotePageState extends State<RemotePage>
// _isCustomCursorInited = true; // _isCustomCursorInited = true;
// } // }
_ffi.dialogManager.setOverlayState(_blockableOverlayState); _blockableOverlayState.applyFfi(_ffi);
_ffi.chatModel.setOverlayState(_blockableOverlayState);
// make remote page penetrable automatically, effective for chat over remote
_blockableOverlayState.onMiddleBlockedClick = () {
_blockableOverlayState.setMiddleBlocked(false);
};
} }
@override @override

View File

@ -20,7 +20,6 @@ import '../../models/input_model.dart';
import '../../models/model.dart'; import '../../models/model.dart';
import '../../models/platform_model.dart'; import '../../models/platform_model.dart';
import '../../utils/image.dart'; import '../../utils/image.dart';
import '../widgets/dialog.dart';
import '../widgets/gestures.dart'; import '../widgets/gestures.dart';
final initText = '\1' * 1024; final initText = '\1' * 1024;
@ -43,6 +42,8 @@ class _RemotePageState extends State<RemotePage> {
double _mouseScrollIntegral = 0; // mouse scroll speed controller double _mouseScrollIntegral = 0; // mouse scroll speed controller
Orientation? _currentOrientation; Orientation? _currentOrientation;
final _blockableOverlayState = BlockableOverlayState();
final keyboardVisibilityController = KeyboardVisibilityController(); final keyboardVisibilityController = KeyboardVisibilityController();
late final StreamSubscription<bool> keyboardSubscription; late final StreamSubscription<bool> keyboardSubscription;
final FocusNode _mobileFocusNode = FocusNode(); final FocusNode _mobileFocusNode = FocusNode();
@ -67,6 +68,7 @@ class _RemotePageState extends State<RemotePage> {
gFFI.qualityMonitorModel.checkShowQualityMonitor(widget.id); gFFI.qualityMonitorModel.checkShowQualityMonitor(widget.id);
keyboardSubscription = keyboardSubscription =
keyboardVisibilityController.onChange.listen(onSoftKeyboardChanged); keyboardVisibilityController.onChange.listen(onSoftKeyboardChanged);
_blockableOverlayState.applyFfi(gFFI);
} }
@override @override