From 0585aba4f2a55572b6e09f549d70f32f656a7235 Mon Sep 17 00:00:00 2001 From: heyawei <379135467@qq.com> Date: Wed, 8 Sep 2021 16:23:42 +0800 Subject: [PATCH] =?UTF-8?q?=E8=85=BE=E8=AE=AF=E8=BF=9E=E8=BF=9E=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E5=AD=97=E7=AC=A6=E4=B8=B2=E6=9E=9A=E4=B8=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit http://tapd.oa.com/NEW_IOT/prong/stories/view/1020393192866423729 Change-Id: I056611c5d7eb630ffeb6748f2d79584715c3a5b6 --- .../kitlink/activity/DeviceModeInfoActivity.kt | 2 +- .../kitlink/activity/EditAutoicTaskActivity.kt | 2 +- .../kitlink/activity/EditManualTaskActivity.kt | 2 +- .../kitlink/entity/DevicePropertyEntity.kt | 18 ++++++++++++++++-- .../link/kitlink/fragment/HomeFragment.kt | 6 +++--- .../link/core/auth/entity/ControlPanel.kt | 2 +- .../link/core/auth/entity/EventParam.kt | 5 +++-- .../link/core/auth/entity/ProductProperty.kt | 5 +++-- 8 files changed, 29 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/com/tencent/iot/explorer/link/kitlink/activity/DeviceModeInfoActivity.kt b/app/src/main/java/com/tencent/iot/explorer/link/kitlink/activity/DeviceModeInfoActivity.kt index 4aebea560..361c23397 100644 --- a/app/src/main/java/com/tencent/iot/explorer/link/kitlink/activity/DeviceModeInfoActivity.kt +++ b/app/src/main/java/com/tencent/iot/explorer/link/kitlink/activity/DeviceModeInfoActivity.kt @@ -64,7 +64,7 @@ class DeviceModeInfoActivity : BaseActivity(), MyCallback { if (devModeInfo.define == null) return var type = devModeInfo.define!!.get("type") - if (type == "bool" || type == "enum") { + if (type == "bool" || type == "enum" || type == "stringenum") { showMapDialog(pos, devModeInfo) } else if (type == "int") { showNumDialog(true, pos, devModeInfo) diff --git a/app/src/main/java/com/tencent/iot/explorer/link/kitlink/activity/EditAutoicTaskActivity.kt b/app/src/main/java/com/tencent/iot/explorer/link/kitlink/activity/EditAutoicTaskActivity.kt index 21d9360f3..a96339802 100644 --- a/app/src/main/java/com/tencent/iot/explorer/link/kitlink/activity/EditAutoicTaskActivity.kt +++ b/app/src/main/java/com/tencent/iot/explorer/link/kitlink/activity/EditAutoicTaskActivity.kt @@ -834,7 +834,7 @@ class EditAutoicTaskActivity : BaseActivity(), MyCallback { if (devModeInfo.id == task.actionId) { task.taskTip = devModeInfo.name var type = devModeInfo.define!!.get("type") - if (type == "bool" || type == "enum") { + if (type == "bool" || type == "enum" || type == "stringenum") { var mapJson = devModeInfo.define!!.getJSONObject("mapping") for (key in mapJson.keys) { if (key == task.taskKey) { diff --git a/app/src/main/java/com/tencent/iot/explorer/link/kitlink/activity/EditManualTaskActivity.kt b/app/src/main/java/com/tencent/iot/explorer/link/kitlink/activity/EditManualTaskActivity.kt index 7cc89a44c..e6c735393 100644 --- a/app/src/main/java/com/tencent/iot/explorer/link/kitlink/activity/EditManualTaskActivity.kt +++ b/app/src/main/java/com/tencent/iot/explorer/link/kitlink/activity/EditManualTaskActivity.kt @@ -164,7 +164,7 @@ class EditManualTaskActivity : BaseActivity(), MyCallback { if (devModeInfo.id == task.actionId) { task.taskTip = devModeInfo.name var type = devModeInfo.define!!.get("type") - if (type == "bool" || type == "enum") { + if (type == "bool" || type == "enum" || type == "stringenum") { var mapJson = devModeInfo.define!!.getJSONObject("mapping") for (key in mapJson.keys) { if (key == task.taskKey) { diff --git a/app/src/main/java/com/tencent/iot/explorer/link/kitlink/entity/DevicePropertyEntity.kt b/app/src/main/java/com/tencent/iot/explorer/link/kitlink/entity/DevicePropertyEntity.kt index 935dc6ceb..c431e3336 100644 --- a/app/src/main/java/com/tencent/iot/explorer/link/kitlink/entity/DevicePropertyEntity.kt +++ b/app/src/main/java/com/tencent/iot/explorer/link/kitlink/entity/DevicePropertyEntity.kt @@ -79,7 +79,21 @@ class DevicePropertyEntity { fun getValue(): String { return when { - isEnumType() -> value?.toString() ?: "0" + isEnumType() -> { + if (valueType == "enum") { + value?.toString() ?: "0" + } else { + var ret = "0" + enumEntity?.mapping?.keys?.let { + for (key in it) { + ret = key + break + } + } + ret + value?.toString() ?: ret + } + } isNumberType() -> value?.toString()?.toDouble()?.toInt()?.toString() ?: numberEntity!!.min.toDouble().toInt().toString() isTimestampType() -> value?.toString() ?: "0" @@ -134,7 +148,7 @@ class DevicePropertyEntity { } fun isEnumType(): Boolean { - if (valueType == "enum") { + if (valueType == "enum" || valueType == "stringenum") { return true } return false diff --git a/app/src/main/java/com/tencent/iot/explorer/link/kitlink/fragment/HomeFragment.kt b/app/src/main/java/com/tencent/iot/explorer/link/kitlink/fragment/HomeFragment.kt index 54c6f43e9..90ecddd20 100644 --- a/app/src/main/java/com/tencent/iot/explorer/link/kitlink/fragment/HomeFragment.kt +++ b/app/src/main/java/com/tencent/iot/explorer/link/kitlink/fragment/HomeFragment.kt @@ -426,7 +426,7 @@ class HomeFragment : BaseFragment(), HomeFragmentView, MyCallback, PayloadMessag devOption.id = devModeInfo.id devOption.res = res var type = devModeInfo.define!!.get("type") - if (type == "bool" || type == "enum") { + if (type == "bool" || type == "enum" || type == "stringenum") { var mapJson = devModeInfo.define!!.getJSONObject("mapping") devOption.mapJson = mapJson devOption.type = DevOption.TYPE_LIST @@ -445,7 +445,7 @@ class HomeFragment : BaseFragment(), HomeFragmentView, MyCallback, PayloadMessag for (devData in dev.deviceDataList) { if (devModeInfo.id == devData.id) { var type = devModeInfo.define!!.get("type") - if (type == "bool" || type == "enum") { + if (type == "bool" || type == "enum" || type == "stringenum") { var mapJson = devModeInfo.define!!.getJSONObject("mapping") if (!TextUtils.isEmpty(devData.value)) { devOption.value = mapJson.getString(devData.value) @@ -469,7 +469,7 @@ class HomeFragment : BaseFragment(), HomeFragmentView, MyCallback, PayloadMessag if (!hasValue) { var initData = DeviceDataEntity() initData.id = devModeInfo.id - if (type == "bool" || type == "enum") { + if (type == "bool" || type == "enum" || type == "stringenum") { } else if (type == "int" || type == "float") { diff --git a/sdk/explorer-link-android/src/main/java/com/tencent/iot/explorer/link/core/auth/entity/ControlPanel.kt b/sdk/explorer-link-android/src/main/java/com/tencent/iot/explorer/link/core/auth/entity/ControlPanel.kt index 0b6f8b937..dac68750b 100644 --- a/sdk/explorer-link-android/src/main/java/com/tencent/iot/explorer/link/core/auth/entity/ControlPanel.kt +++ b/sdk/explorer-link-android/src/main/java/com/tencent/iot/explorer/link/core/auth/entity/ControlPanel.kt @@ -47,7 +47,7 @@ class ControlPanel { fun isEnumType(): Boolean { return when (valueType) { - "enum" -> true + "enum", "stringenum" -> true else -> false } } diff --git a/sdk/explorer-link-android/src/main/java/com/tencent/iot/explorer/link/core/auth/entity/EventParam.kt b/sdk/explorer-link-android/src/main/java/com/tencent/iot/explorer/link/core/auth/entity/EventParam.kt index e481fbbd7..9381e5715 100644 --- a/sdk/explorer-link-android/src/main/java/com/tencent/iot/explorer/link/core/auth/entity/EventParam.kt +++ b/sdk/explorer-link-android/src/main/java/com/tencent/iot/explorer/link/core/auth/entity/EventParam.kt @@ -1,5 +1,6 @@ package com.tencent.iot.explorer.link.core.auth.entity +import android.util.Log import com.alibaba.fastjson.JSON import com.tencent.iot.explorer.link.core.auth.util.JsonManager @@ -20,7 +21,7 @@ class EventParam { "int", "float" -> { productDefine = JsonManager.parseJson(define, NumberDefine::class.java) } - "enum" -> { + "enum", "stringenum" -> { productDefine = JsonManager.parseJson(define, EnumDefine::class.java) } "bool" -> { @@ -58,7 +59,7 @@ class EventParam { fun isEnumType(): Boolean { return when (getType()) { - "enum" -> true + "enum", "stringenum" -> true else -> false } } diff --git a/sdk/explorer-link-android/src/main/java/com/tencent/iot/explorer/link/core/auth/entity/ProductProperty.kt b/sdk/explorer-link-android/src/main/java/com/tencent/iot/explorer/link/core/auth/entity/ProductProperty.kt index 0b094e133..c85504b88 100644 --- a/sdk/explorer-link-android/src/main/java/com/tencent/iot/explorer/link/core/auth/entity/ProductProperty.kt +++ b/sdk/explorer-link-android/src/main/java/com/tencent/iot/explorer/link/core/auth/entity/ProductProperty.kt @@ -1,5 +1,6 @@ package com.tencent.iot.explorer.link.core.auth.entity +import android.util.Log import com.alibaba.fastjson.JSON import com.alibaba.fastjson.JSONObject import com.tencent.iot.explorer.link.core.auth.util.JsonManager @@ -28,7 +29,7 @@ class ProductProperty { "int", "float" -> { productDefine = JsonManager.parseJson(define, NumberDefine::class.java) } - "enum" -> { + "enum", "stringenum" -> { productDefine = JsonManager.parseJson(define, EnumDefine::class.java) } "bool" -> { @@ -71,7 +72,7 @@ class ProductProperty { fun isEnumType(): Boolean { return when (getType()) { - "enum" -> true + "enum", "stringenum" -> true else -> false } }