update 可选不去重指令模式
This commit is contained in:
@@ -104,6 +104,11 @@ object Constant {
|
|||||||
var oldDevice: Boolean
|
var oldDevice: Boolean
|
||||||
get() = SPUtils.getInstance().getBoolean("oldDevice", false)
|
get() = SPUtils.getInstance().getBoolean("oldDevice", false)
|
||||||
set(value) = SPUtils.getInstance().put("oldDevice", value)
|
set(value) = SPUtils.getInstance().put("oldDevice", value)
|
||||||
|
var duplicationFilter: Boolean
|
||||||
|
get() = SPUtils.getInstance().getBoolean("apiDuplicationFilter", true)
|
||||||
|
set(value) {
|
||||||
|
SPUtils.getInstance().put("apiDuplicationFilter", value)
|
||||||
|
}
|
||||||
|
|
||||||
fun getWsUrl() = "$host/webserver/wework/$robotId"
|
fun getWsUrl() = "$host/webserver/wework/$robotId"
|
||||||
|
|
||||||
|
|||||||
@@ -100,15 +100,18 @@ object MyLooper {
|
|||||||
object : TypeToken<ArrayList<WeworkMessageBean>>() {}.type
|
object : TypeToken<ArrayList<WeworkMessageBean>>() {}.type
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
val list = if (Constant.duplicationFilter) LinkedHashSet(messageList.list).toList() else messageList.list
|
||||||
//去重处理 丢弃之前的重复指令 丢弃之前的获取新消息指令
|
//去重处理 丢弃之前的重复指令 丢弃之前的获取新消息指令
|
||||||
for (message in LinkedHashSet(messageList.list)) {
|
for (message in list) {
|
||||||
if (message.type == WeworkMessageBean.LOOP_RECEIVE_NEW_MESSAGE) {
|
if (message.type == WeworkMessageBean.LOOP_RECEIVE_NEW_MESSAGE) {
|
||||||
WeworkController.enableLoopRunning = true
|
WeworkController.enableLoopRunning = true
|
||||||
} else {
|
} else {
|
||||||
WeworkController.mainLoopRunning = false
|
WeworkController.mainLoopRunning = false
|
||||||
LogUtils.v("加入指令到执行队列", if (message.fileBase64.isNullOrEmpty()) GsonUtils.toJson(message) else message.type)
|
LogUtils.v("加入指令到执行队列", if (message.fileBase64.isNullOrEmpty()) GsonUtils.toJson(message) else message.type)
|
||||||
val messageWhat = message.type * message.hashCode() / 1000 + text.length
|
val messageWhat = message.type * message.hashCode() / 1000 + text.length
|
||||||
|
if (Constant.duplicationFilter) {
|
||||||
getInstance().removeMessages(messageWhat)
|
getInstance().removeMessages(messageWhat)
|
||||||
|
}
|
||||||
getInstance().sendMessage(Message.obtain().apply {
|
getInstance().sendMessage(Message.obtain().apply {
|
||||||
what = messageWhat
|
what = messageWhat
|
||||||
obj = message.apply {
|
obj = message.apply {
|
||||||
|
|||||||
Reference in New Issue
Block a user