Sfoglia il codice sorgente

[fix]键盘插件,处理键盘UI切换,从键盘选择页中切换到其他模式的键盘列表,点键盘按键,跳去登录页或VIP页,点返回,要回到键盘页,而不是键盘选择页

hezihao 7 mesi fa
parent
commit
be451dbfc0

+ 8 - 0
plugins/keyboard_android/android/src/main/kotlin/com/atmob/keyboard_android/component/child/impl/KeyboardSelectComponent.kt

@@ -133,6 +133,7 @@ class KeyboardSelectComponent @JvmOverloads constructor(
     @SuppressLint("NotifyDataSetChanged")
     private fun setupViewModel() {
         KeyboardHolder.getKeyboardService()?.run {
+            // 监听键盘列表更新
             getKeyboardViewModel().keyboardList.observe(getLifecycleOwner()) { newKeyboardList ->
                 mListItems.clear()
 
@@ -155,6 +156,13 @@ class KeyboardSelectComponent @JvmOverloads constructor(
 
                 mListAdapter.notifyDataSetChanged()
             }
+            // 监听键盘模式切换
+            getKeyboardViewModel().helpMode.observe(getLifecycleOwner()) {
+                // 如果自己已显示,则隐藏自己
+                if (getKeyboardViewModel().keyboardSelectPageShowing.value == true) {
+                    hide()
+                }
+            }
         }
     }
 

+ 9 - 0
plugins/keyboard_android/android/src/main/kotlin/com/atmob/keyboard_android/component/child/impl/SettingComponent.kt

@@ -60,6 +60,15 @@ class SettingComponent @JvmOverloads constructor(
      * 配置ViewModel
      */
     private fun setupViewModel() {
+        KeyboardHolder.getKeyboardService()?.run {
+            // 监听键盘模式切换
+            getKeyboardViewModel().helpMode.observe(getLifecycleOwner()) {
+                // 如果自己已显示,则隐藏自己
+                if (getKeyboardViewModel().settingPageShowing.value == true) {
+                    hide()
+                }
+            }
+        }
     }
 
     override fun onComponentShow() {