diff --git a/app/libs/lite-release.aar b/app/libs/lite-release.aar index 9f8c814..45da4df 100644 --- a/app/libs/lite-release.aar +++ b/app/libs/lite-release.aar Binary files differ diff --git a/app/libs/lite-release.aar b/app/libs/lite-release.aar index 9f8c814..45da4df 100644 --- a/app/libs/lite-release.aar +++ b/app/libs/lite-release.aar Binary files differ diff --git a/app/src/main/java/com/casic/br/view/device/waterheater/GasConsumeActivity.kt b/app/src/main/java/com/casic/br/view/device/waterheater/GasConsumeActivity.kt index 873a103..b59019c 100644 --- a/app/src/main/java/com/casic/br/view/device/waterheater/GasConsumeActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/waterheater/GasConsumeActivity.kt @@ -1,16 +1,26 @@ package com.casic.br.view.device.waterheater +import android.util.Log +import com.alibaba.fastjson.JSONObject import com.casic.br.R +import com.casic.br.extensions.createCommand +import com.casic.br.utils.CommandManager +import com.casic.br.utils.TuyaDeviceListener import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.tuya.smart.home.sdk.TuyaHomeSdk +import com.tuya.smart.sdk.api.ITuyaDevice import kotlinx.android.synthetic.main.activity_gas_consume.* import kotlinx.android.synthetic.main.include_base_title.* class GasConsumeActivity : KotlinBaseActivity() { private val kTag = "GasConsumeActivity" + private lateinit var deviceId: String + private lateinit var deviceInstance: ITuyaDevice override fun initLayoutView(): Int = R.layout.activity_gas_consume @@ -30,6 +40,31 @@ //默认选中 dateRadioGroup.check(R.id.dayRadioButton) setLineChartData() + + deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! + deviceInstance = TuyaHomeSdk.newDeviceInstance(deviceId) + CommandManager.getTuyaDp(deviceInstance, "105") + CommandManager.getTuyaDp(deviceInstance, "106") + CommandManager.getTuyaDp(deviceInstance, "103") + CommandManager.getTuyaDp(deviceInstance, "104") + deviceInstance.registerDevListener(object : TuyaDeviceListener() { + override fun onDpUpdate(devId: String?, dpStr: String?) { + Log.d(kTag, "onDpUpdate: $dpStr") + val parseObject = JSONObject.parseObject(dpStr) + parseObject.keys.forEach { + when (it) { + "105" -> onceWaterUsedView.text = + String.format("${parseObject[it] as Int}L") + "106" -> totalUsedWaterView.text = + String.format("${parseObject[it] as Int}t") + "103" -> onceGasUsedView.text = + String.format("${parseObject[it] as Int}${resources.getString(R.string.volume_unit)}") + "104" -> totalGasUsedView.text = + String.format("${parseObject[it] as Int}${resources.getString(R.string.volume_unit)}") + } + } + } + }) } override fun initEvent() { @@ -47,6 +82,18 @@ } setLineChartData() } + + clearTotalWaterCheckBox.setOnCheckedChangeListener { _, isChecked -> + if (isChecked) { + CommandManager.sendTuyaDp(deviceInstance, "107".createCommand(true)) + } + } + + clearTotalGasCheckBox.setOnCheckedChangeListener { _, isChecked -> + if (isChecked) { + CommandManager.sendTuyaDp(deviceInstance, "108".createCommand(true)) + } + } } /** @@ -55,4 +102,10 @@ private fun setLineChartData() { } + + override fun onDestroy() { + super.onDestroy() + deviceInstance.unRegisterDevListener() + deviceInstance.onDestroy() + } } \ No newline at end of file diff --git a/app/libs/lite-release.aar b/app/libs/lite-release.aar index 9f8c814..45da4df 100644 --- a/app/libs/lite-release.aar +++ b/app/libs/lite-release.aar Binary files differ diff --git a/app/src/main/java/com/casic/br/view/device/waterheater/GasConsumeActivity.kt b/app/src/main/java/com/casic/br/view/device/waterheater/GasConsumeActivity.kt index 873a103..b59019c 100644 --- a/app/src/main/java/com/casic/br/view/device/waterheater/GasConsumeActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/waterheater/GasConsumeActivity.kt @@ -1,16 +1,26 @@ package com.casic.br.view.device.waterheater +import android.util.Log +import com.alibaba.fastjson.JSONObject import com.casic.br.R +import com.casic.br.extensions.createCommand +import com.casic.br.utils.CommandManager +import com.casic.br.utils.TuyaDeviceListener import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.tuya.smart.home.sdk.TuyaHomeSdk +import com.tuya.smart.sdk.api.ITuyaDevice import kotlinx.android.synthetic.main.activity_gas_consume.* import kotlinx.android.synthetic.main.include_base_title.* class GasConsumeActivity : KotlinBaseActivity() { private val kTag = "GasConsumeActivity" + private lateinit var deviceId: String + private lateinit var deviceInstance: ITuyaDevice override fun initLayoutView(): Int = R.layout.activity_gas_consume @@ -30,6 +40,31 @@ //默认选中 dateRadioGroup.check(R.id.dayRadioButton) setLineChartData() + + deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! + deviceInstance = TuyaHomeSdk.newDeviceInstance(deviceId) + CommandManager.getTuyaDp(deviceInstance, "105") + CommandManager.getTuyaDp(deviceInstance, "106") + CommandManager.getTuyaDp(deviceInstance, "103") + CommandManager.getTuyaDp(deviceInstance, "104") + deviceInstance.registerDevListener(object : TuyaDeviceListener() { + override fun onDpUpdate(devId: String?, dpStr: String?) { + Log.d(kTag, "onDpUpdate: $dpStr") + val parseObject = JSONObject.parseObject(dpStr) + parseObject.keys.forEach { + when (it) { + "105" -> onceWaterUsedView.text = + String.format("${parseObject[it] as Int}L") + "106" -> totalUsedWaterView.text = + String.format("${parseObject[it] as Int}t") + "103" -> onceGasUsedView.text = + String.format("${parseObject[it] as Int}${resources.getString(R.string.volume_unit)}") + "104" -> totalGasUsedView.text = + String.format("${parseObject[it] as Int}${resources.getString(R.string.volume_unit)}") + } + } + } + }) } override fun initEvent() { @@ -47,6 +82,18 @@ } setLineChartData() } + + clearTotalWaterCheckBox.setOnCheckedChangeListener { _, isChecked -> + if (isChecked) { + CommandManager.sendTuyaDp(deviceInstance, "107".createCommand(true)) + } + } + + clearTotalGasCheckBox.setOnCheckedChangeListener { _, isChecked -> + if (isChecked) { + CommandManager.sendTuyaDp(deviceInstance, "108".createCommand(true)) + } + } } /** @@ -55,4 +102,10 @@ private fun setLineChartData() { } + + override fun onDestroy() { + super.onDestroy() + deviceInstance.unRegisterDevListener() + deviceInstance.onDestroy() + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/view/device/waterheater/OnceConfigActivity.kt b/app/src/main/java/com/casic/br/view/device/waterheater/OnceConfigActivity.kt index d837998..8dd7f0a 100644 --- a/app/src/main/java/com/casic/br/view/device/waterheater/OnceConfigActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/waterheater/OnceConfigActivity.kt @@ -172,4 +172,10 @@ .build().show() } } + + override fun onDestroy() { + super.onDestroy() + deviceInstance.unRegisterDevListener() + deviceInstance.onDestroy() + } } \ No newline at end of file diff --git a/app/libs/lite-release.aar b/app/libs/lite-release.aar index 9f8c814..45da4df 100644 --- a/app/libs/lite-release.aar +++ b/app/libs/lite-release.aar Binary files differ diff --git a/app/src/main/java/com/casic/br/view/device/waterheater/GasConsumeActivity.kt b/app/src/main/java/com/casic/br/view/device/waterheater/GasConsumeActivity.kt index 873a103..b59019c 100644 --- a/app/src/main/java/com/casic/br/view/device/waterheater/GasConsumeActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/waterheater/GasConsumeActivity.kt @@ -1,16 +1,26 @@ package com.casic.br.view.device.waterheater +import android.util.Log +import com.alibaba.fastjson.JSONObject import com.casic.br.R +import com.casic.br.extensions.createCommand +import com.casic.br.utils.CommandManager +import com.casic.br.utils.TuyaDeviceListener import com.gyf.immersionbar.ImmersionBar import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.convertColor +import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil +import com.tuya.smart.home.sdk.TuyaHomeSdk +import com.tuya.smart.sdk.api.ITuyaDevice import kotlinx.android.synthetic.main.activity_gas_consume.* import kotlinx.android.synthetic.main.include_base_title.* class GasConsumeActivity : KotlinBaseActivity() { private val kTag = "GasConsumeActivity" + private lateinit var deviceId: String + private lateinit var deviceInstance: ITuyaDevice override fun initLayoutView(): Int = R.layout.activity_gas_consume @@ -30,6 +40,31 @@ //默认选中 dateRadioGroup.check(R.id.dayRadioButton) setLineChartData() + + deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! + deviceInstance = TuyaHomeSdk.newDeviceInstance(deviceId) + CommandManager.getTuyaDp(deviceInstance, "105") + CommandManager.getTuyaDp(deviceInstance, "106") + CommandManager.getTuyaDp(deviceInstance, "103") + CommandManager.getTuyaDp(deviceInstance, "104") + deviceInstance.registerDevListener(object : TuyaDeviceListener() { + override fun onDpUpdate(devId: String?, dpStr: String?) { + Log.d(kTag, "onDpUpdate: $dpStr") + val parseObject = JSONObject.parseObject(dpStr) + parseObject.keys.forEach { + when (it) { + "105" -> onceWaterUsedView.text = + String.format("${parseObject[it] as Int}L") + "106" -> totalUsedWaterView.text = + String.format("${parseObject[it] as Int}t") + "103" -> onceGasUsedView.text = + String.format("${parseObject[it] as Int}${resources.getString(R.string.volume_unit)}") + "104" -> totalGasUsedView.text = + String.format("${parseObject[it] as Int}${resources.getString(R.string.volume_unit)}") + } + } + } + }) } override fun initEvent() { @@ -47,6 +82,18 @@ } setLineChartData() } + + clearTotalWaterCheckBox.setOnCheckedChangeListener { _, isChecked -> + if (isChecked) { + CommandManager.sendTuyaDp(deviceInstance, "107".createCommand(true)) + } + } + + clearTotalGasCheckBox.setOnCheckedChangeListener { _, isChecked -> + if (isChecked) { + CommandManager.sendTuyaDp(deviceInstance, "108".createCommand(true)) + } + } } /** @@ -55,4 +102,10 @@ private fun setLineChartData() { } + + override fun onDestroy() { + super.onDestroy() + deviceInstance.unRegisterDevListener() + deviceInstance.onDestroy() + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/view/device/waterheater/OnceConfigActivity.kt b/app/src/main/java/com/casic/br/view/device/waterheater/OnceConfigActivity.kt index d837998..8dd7f0a 100644 --- a/app/src/main/java/com/casic/br/view/device/waterheater/OnceConfigActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/waterheater/OnceConfigActivity.kt @@ -172,4 +172,10 @@ .build().show() } } + + override fun onDestroy() { + super.onDestroy() + deviceInstance.unRegisterDevListener() + deviceInstance.onDestroy() + } } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_gas_consume.xml b/app/src/main/res/layout/activity_gas_consume.xml index db9526b..bb314be 100644 --- a/app/src/main/res/layout/activity_gas_consume.xml +++ b/app/src/main/res/layout/activity_gas_consume.xml @@ -109,6 +109,7 @@ android:textColor="@color/mainTextColor" /> onceWaterUsedView.text = + String.format("${parseObject[it] as Int}L") + "106" -> totalUsedWaterView.text = + String.format("${parseObject[it] as Int}t") + "103" -> onceGasUsedView.text = + String.format("${parseObject[it] as Int}${resources.getString(R.string.volume_unit)}") + "104" -> totalGasUsedView.text = + String.format("${parseObject[it] as Int}${resources.getString(R.string.volume_unit)}") + } + } + } + }) } override fun initEvent() { @@ -47,6 +82,18 @@ } setLineChartData() } + + clearTotalWaterCheckBox.setOnCheckedChangeListener { _, isChecked -> + if (isChecked) { + CommandManager.sendTuyaDp(deviceInstance, "107".createCommand(true)) + } + } + + clearTotalGasCheckBox.setOnCheckedChangeListener { _, isChecked -> + if (isChecked) { + CommandManager.sendTuyaDp(deviceInstance, "108".createCommand(true)) + } + } } /** @@ -55,4 +102,10 @@ private fun setLineChartData() { } + + override fun onDestroy() { + super.onDestroy() + deviceInstance.unRegisterDevListener() + deviceInstance.onDestroy() + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/view/device/waterheater/OnceConfigActivity.kt b/app/src/main/java/com/casic/br/view/device/waterheater/OnceConfigActivity.kt index d837998..8dd7f0a 100644 --- a/app/src/main/java/com/casic/br/view/device/waterheater/OnceConfigActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/waterheater/OnceConfigActivity.kt @@ -172,4 +172,10 @@ .build().show() } } + + override fun onDestroy() { + super.onDestroy() + deviceInstance.unRegisterDevListener() + deviceInstance.onDestroy() + } } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_gas_consume.xml b/app/src/main/res/layout/activity_gas_consume.xml index db9526b..bb314be 100644 --- a/app/src/main/res/layout/activity_gas_consume.xml +++ b/app/src/main/res/layout/activity_gas_consume.xml @@ -109,6 +109,7 @@ android:textColor="@color/mainTextColor" />