|
|
@@ -7,6 +7,7 @@ import android.widget.TextView
|
|
|
import com.atmob.keyboard_android.R
|
|
|
import com.atmob.keyboard_android.component.base.BaseUIComponent
|
|
|
import com.atmob.keyboard_android.component.child.IPasteBarComponent
|
|
|
+import com.atmob.keyboard_android.enums.HelpMode
|
|
|
import com.atmob.keyboard_android.ext.click
|
|
|
import com.atmob.keyboard_android.ext.setGone
|
|
|
import com.atmob.keyboard_android.ext.setVisible
|
|
|
@@ -41,11 +42,18 @@ class PasteBarComponent @JvmOverloads constructor(
|
|
|
}
|
|
|
|
|
|
private fun setData() {
|
|
|
- // 监听用户的剪切板复制内容
|
|
|
KeyboardHolder.getKeyboardService()?.run {
|
|
|
+ // 监听用户的剪切板复制内容
|
|
|
getKeyboardViewModel().userClipboardData.observe(getLifecycleOwner()) { userClipboardData ->
|
|
|
render(userClipboardData)
|
|
|
}
|
|
|
+ // 监听帮助模式切换
|
|
|
+ getKeyboardViewModel().helpMode.observe(getLifecycleOwner()) {
|
|
|
+ val userClipboardData = getKeyboardViewModel().userClipboardData.value ?: ""
|
|
|
+ if (userClipboardData.isBlank()) {
|
|
|
+ updatePasteTip()
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -58,7 +66,7 @@ class PasteBarComponent @JvmOverloads constructor(
|
|
|
// 没有复制内容,显示前面的标识图标和提示文案,隐藏清除按钮
|
|
|
if (userClipboardData.isBlank()) {
|
|
|
vTipSymbol.setVisible()
|
|
|
- vTip.text = context.resources.getString(R.string.paste_tip)
|
|
|
+ updatePasteTip()
|
|
|
vClear.setGone()
|
|
|
} else {
|
|
|
// 有复制内容,显示用户复制的内容和清除内容图标,隐藏前面的标识图标
|
|
|
@@ -68,6 +76,20 @@ class PasteBarComponent @JvmOverloads constructor(
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 根据帮助模式,更新提示文案
|
|
|
+ */
|
|
|
+ private fun updatePasteTip() {
|
|
|
+ val helpMode = KeyboardHolder.getKeyboardService()?.getKeyboardViewModel()?.helpMode?.value
|
|
|
+ if (HelpMode.HELP_CHAT == helpMode) {
|
|
|
+ // 帮聊
|
|
|
+ vTip.text = context.resources.getString(R.string.paste_tip)
|
|
|
+ } else if (HelpMode.TEACH_YOU_SAY == helpMode) {
|
|
|
+ // 教你说
|
|
|
+ vTip.text = context.resources.getString(R.string.paste_tip2)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
override fun getComponentInterfaceClazz(): Class<IPasteBarComponent> {
|
|
|
return IPasteBarComponent::class.java
|
|
|
}
|