[3.3.0][魔方] 移除之前在调试面板上的魔方调试入口,迁移到运营面板上;添加[魔方指令测试]开关,打开后用户点击魔方按键只显示Toast不给工控机下发指令

This commit is contained in:
renwj
2023-06-24 14:25:48 +08:00
parent 65b36f0bb5
commit 58e74dcbff
7 changed files with 92 additions and 58 deletions

View File

@@ -15,7 +15,9 @@ import com.mogo.eagle.core.function.api.devatools.mofang.IMoGoMoFangProvider.OnM
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
import com.mogo.eagle.core.utilcode.util.Utils
import java.util.concurrent.ConcurrentHashMap
import java.util.concurrent.atomic.AtomicBoolean
import java.util.concurrent.atomic.AtomicInteger
import java.util.concurrent.atomic.AtomicReference
internal class MoGoMoFangProviderImpl: IMoGoMoFangProvider, OnMoFangDeviceListener {
@@ -31,6 +33,18 @@ internal class MoGoMoFangProviderImpl: IMoGoMoFangProvider, OnMoFangDeviceListen
private val linkedLog by lazy { MoFangLinkedLog().also { executor.setLinkedLog(it) } }
private val isTest by lazy { AtomicBoolean(false) }
private val toast by lazy { AtomicReference<Toast>() }
override fun enableTest(enable: Boolean) {
isTest.set(enable)
}
override fun isEnableTest(): Boolean {
return isTest.get()
}
override fun init(app: Application) {
try {
linkedLog.record(mapOf("init" to "start"))
@@ -135,6 +149,13 @@ internal class MoGoMoFangProviderImpl: IMoGoMoFangProvider, OnMoFangDeviceListen
}
override fun onBluetoothKeyBoardCombineClicked(vararg keyCodes: Int) {
if (isTest.get()) {
toast.get()?.cancel()
Toast.makeText(Utils.getApp(), "组合键[${keyCodes.joinToString(",") { KeyEvent.keyCodeToString(it) }}]触发了\n[正式使用时,请关闭运营面板上的\"魔方指令\"测试开关]", Toast.LENGTH_SHORT).also {
toast.set(it)
}.show()
return
}
try {
linkedLog.record(mapOf("command" to "combine_clicked: ${keyCodes.joinToString(",") { KeyEvent.keyCodeToString(it) } }"))
executor.handleCombineClick(*keyCodes)
@@ -146,6 +167,13 @@ internal class MoGoMoFangProviderImpl: IMoGoMoFangProvider, OnMoFangDeviceListen
}
override fun onBluetoothKeyBoardLongClicked(keyCode: Int) {
if (isTest.get()) {
toast.get()?.cancel()
Toast.makeText(Utils.getApp(), "长按键[${KeyEvent.keyCodeToString(keyCode)}]触发了\n[正式使用时,请关闭运营面板上的\"魔方指令\"测试开关]", Toast.LENGTH_SHORT).also {
toast.set(it)
}.show()
return
}
try {
linkedLog.record(mapOf("command" to "long_clicked: ${ KeyEvent.keyCodeToString(keyCode) }"))
executor.handleLongClick(keyCode)
@@ -159,6 +187,13 @@ internal class MoGoMoFangProviderImpl: IMoGoMoFangProvider, OnMoFangDeviceListen
}
override fun onBluetoothKeyboardClicked(keyCode: Int) {
if (isTest.get()) {
toast.get()?.cancel()
Toast.makeText(Utils.getApp(), "单击键[${KeyEvent.keyCodeToString(keyCode)}]触发了\n[正式使用时,请关闭运营面板上的\"魔方指令\"测试开关]", Toast.LENGTH_SHORT).also {
toast.set(it)
}.show()
return
}
try {
linkedLog.record(mapOf("command" to "clicked: ${ KeyEvent.keyCodeToString(keyCode) }"))
executor.handleSingleClick(keyCode)