|
|
@@ -5,8 +5,10 @@ import 'package:keyboard/module/keyboard_guide/enums/keyboard_guide_msg_type.dar
|
|
|
import 'package:keyboard/resource/string.gen.dart';
|
|
|
import '../../base/base_controller.dart';
|
|
|
import '../../data/bean/keyboard_guide_msg.dart';
|
|
|
+import '../../dialog/login/login_dialog.dart';
|
|
|
import '../../utils/clipboard_util.dart';
|
|
|
import '../../utils/default_keyboard_helper.dart';
|
|
|
+import '../../utils/event_bus.dart';
|
|
|
import '../../utils/floating_window_helper.dart';
|
|
|
import '../../utils/keyboard_guide_record_util.dart';
|
|
|
import '../../utils/keyboard_tutorial_util.dart';
|
|
|
@@ -44,6 +46,7 @@ class KeyboardGuidePageController extends BaseController {
|
|
|
@override
|
|
|
void onInit() {
|
|
|
super.onInit();
|
|
|
+ eventBus.register(eventLoginDialogShow, _handleLoginDialogShow);
|
|
|
inputFocusNode.addListener(_handleTextFieldFocusChange);
|
|
|
// 初始化消息列表
|
|
|
_initMsgList();
|
|
|
@@ -56,6 +59,7 @@ class KeyboardGuidePageController extends BaseController {
|
|
|
@override
|
|
|
void onClose() {
|
|
|
// 取消监听
|
|
|
+ eventBus.unRegister(eventLoginDialogShow, _handleLoginDialogShow);
|
|
|
inputFocusNode.removeListener(_handleTextFieldFocusChange);
|
|
|
inputFocusNode.dispose();
|
|
|
editingController.dispose();
|
|
|
@@ -63,6 +67,11 @@ class KeyboardGuidePageController extends BaseController {
|
|
|
super.onClose();
|
|
|
}
|
|
|
|
|
|
+ /// 登陆弹窗显示,让输入框失去焦点
|
|
|
+ void _handleLoginDialogShow(args) {
|
|
|
+ clearInputFocus();
|
|
|
+ }
|
|
|
+
|
|
|
/// 手动将教程标志位,代表教程结束,因为有可能用户已经手动将所有设置都完成了
|
|
|
/// 然后重装app,就会导致标志位没有机会设置为false,启动app时就回不断跳到这个页面
|
|
|
void setNotFirstShowKeyboardTutorial() {
|
|
|
@@ -193,6 +202,11 @@ class KeyboardGuidePageController extends BaseController {
|
|
|
inputFocusNode.requestFocus();
|
|
|
}
|
|
|
|
|
|
+ /// 让输入框失去焦点
|
|
|
+ void clearInputFocus() {
|
|
|
+ inputFocusNode.unfocus();
|
|
|
+ }
|
|
|
+
|
|
|
/// 显示引导覆盖层弹窗
|
|
|
void showGuideOverlayDialog() {
|
|
|
// 显示过引导弹窗,则不显示
|