diff --git a/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt b/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt index e177fed..0eb9a47 100644 --- a/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt +++ b/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt @@ -18,8 +18,7 @@ import com.tuya.smart.sdk.bean.DeviceBean class AddedDeviceAdapter( - private val context: Context, - private val dataRows: MutableList + private val context: Context, private val dataRows: MutableList ) : RecyclerView.Adapter() { private var layoutInflater: LayoutInflater = LayoutInflater.from(context) diff --git a/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt b/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt index e177fed..0eb9a47 100644 --- a/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt +++ b/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt @@ -18,8 +18,7 @@ import com.tuya.smart.sdk.bean.DeviceBean class AddedDeviceAdapter( - private val context: Context, - private val dataRows: MutableList + private val context: Context, private val dataRows: MutableList ) : RecyclerView.Adapter() { private var layoutInflater: LayoutInflater = LayoutInflater.from(context) diff --git a/app/src/main/java/com/casic/br/view/device/SweepingRobotActivity.kt b/app/src/main/java/com/casic/br/view/device/SweepingRobotActivity.kt index 42c32df..41cabdd 100644 --- a/app/src/main/java/com/casic/br/view/device/SweepingRobotActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/SweepingRobotActivity.kt @@ -69,8 +69,8 @@ val parseObject = JSONObject.parseObject(dpStr) parseObject.keys.forEach { when (it) { - "1" -> {//设备开关 - turnOffRadioButton.isChecked = parseObject[it] as Boolean + "1" -> {//设备开关,不是工作开关 + } "11" -> { //故障 @@ -80,7 +80,7 @@ batteryValueView.text = "${parseObject[it]}%" } "25" -> { - //Power on button + //Power on button,工作开关 turnOffRadioButton.isChecked = parseObject[it] as Boolean } "26" -> { @@ -173,7 +173,6 @@ turnOffRadioButton.setOnClickListener { if (turnOffRadioButton.isChecked) { - //25? CommandManager.sendTuyaDp(deviceInstance, "1".createCommand(true)) } else { CommandManager.sendTuyaDp(deviceInstance, "1".createCommand(false)) @@ -209,7 +208,7 @@ } settingsLayout.setOnClickListener { - navigatePageTo() + navigatePageTo(deviceId) } } @@ -271,7 +270,7 @@ override fun onResume() { super.onResume() //每次获取焦点都查询设备的开关机状态 - CommandManager.getTuyaDp(deviceInstance, "1") + CommandManager.getTuyaDp(deviceInstance, "25") } private fun updateVersion() { diff --git a/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt b/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt index e177fed..0eb9a47 100644 --- a/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt +++ b/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt @@ -18,8 +18,7 @@ import com.tuya.smart.sdk.bean.DeviceBean class AddedDeviceAdapter( - private val context: Context, - private val dataRows: MutableList + private val context: Context, private val dataRows: MutableList ) : RecyclerView.Adapter() { private var layoutInflater: LayoutInflater = LayoutInflater.from(context) diff --git a/app/src/main/java/com/casic/br/view/device/SweepingRobotActivity.kt b/app/src/main/java/com/casic/br/view/device/SweepingRobotActivity.kt index 42c32df..41cabdd 100644 --- a/app/src/main/java/com/casic/br/view/device/SweepingRobotActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/SweepingRobotActivity.kt @@ -69,8 +69,8 @@ val parseObject = JSONObject.parseObject(dpStr) parseObject.keys.forEach { when (it) { - "1" -> {//设备开关 - turnOffRadioButton.isChecked = parseObject[it] as Boolean + "1" -> {//设备开关,不是工作开关 + } "11" -> { //故障 @@ -80,7 +80,7 @@ batteryValueView.text = "${parseObject[it]}%" } "25" -> { - //Power on button + //Power on button,工作开关 turnOffRadioButton.isChecked = parseObject[it] as Boolean } "26" -> { @@ -173,7 +173,6 @@ turnOffRadioButton.setOnClickListener { if (turnOffRadioButton.isChecked) { - //25? CommandManager.sendTuyaDp(deviceInstance, "1".createCommand(true)) } else { CommandManager.sendTuyaDp(deviceInstance, "1".createCommand(false)) @@ -209,7 +208,7 @@ } settingsLayout.setOnClickListener { - navigatePageTo() + navigatePageTo(deviceId) } } @@ -271,7 +270,7 @@ override fun onResume() { super.onResume() //每次获取焦点都查询设备的开关机状态 - CommandManager.getTuyaDp(deviceInstance, "1") + CommandManager.getTuyaDp(deviceInstance, "25") } private fun updateVersion() { diff --git a/app/src/main/java/com/casic/br/view/device/robot/RobotSettingsActivity.kt b/app/src/main/java/com/casic/br/view/device/robot/RobotSettingsActivity.kt index 9552b0b..02ea655 100644 --- a/app/src/main/java/com/casic/br/view/device/robot/RobotSettingsActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/robot/RobotSettingsActivity.kt @@ -1,16 +1,25 @@ package com.casic.br.view.device.robot +import android.util.Log +import com.alibaba.fastjson.JSONObject import com.casic.br.R +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.pengxh.kt.lite.widget.dialog.AlertControlDialog +import com.tuya.smart.home.sdk.TuyaHomeSdk +import com.tuya.smart.sdk.api.ITuyaDevice import kotlinx.android.synthetic.main.activity_robot_settings.* import kotlinx.android.synthetic.main.include_left_back_title.* class RobotSettingsActivity : KotlinBaseActivity() { + private lateinit var deviceInstance: ITuyaDevice + override fun initLayoutView(): Int = R.layout.activity_robot_settings override fun observeRequestState() { @@ -26,28 +35,70 @@ } override fun initData() { - + val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! + deviceInstance = TuyaHomeSdk.newDeviceInstance(deviceId) + deviceInstance.registerDevListener(object : TuyaDeviceListener() { + override fun onDpUpdate(devId: String?, dpStr: String?) { + Log.d("Casic", "RobotSettingsActivity => onDpUpdate: $dpStr") + val parseObject = JSONObject.parseObject(dpStr) + parseObject.keys.forEach { + if (it == "49") { + //TODO 待定 + val any = parseObject[it] + } + } + } + }) } override fun initEvent() { clearBatteryButton.setOnClickListener { - AlertControlDialog.Builder() - .setContext(this) - .setTitle("提示") - .setMessage("是否清除记录?如果没有更换耗材而清除记录将会导致数据错误") - .setNegativeButton("取消") - .setPositiveButton("确定") - .setOnDialogButtonClickListener(object : - AlertControlDialog.OnDialogButtonClickListener { - override fun onCancelClick() { - - } - - override fun onConfirmClick() { - - } - }) - .build().show() + showDialog() } + + clearFilterButton.setOnClickListener { + showDialog() + } + + clearMiddleButton.setOnClickListener { + showDialog() + } + + clearEdgeButton.setOnClickListener { + showDialog() + } + } + + private fun showDialog() { + AlertControlDialog.Builder() + .setContext(this) + .setTitle("提示") + .setMessage("是否清除记录?如果没有更换耗材而清除记录将会导致数据错误") + .setNegativeButton("取消") + .setPositiveButton("确定") + .setOnDialogButtonClickListener(object : + AlertControlDialog.OnDialogButtonClickListener { + override fun onCancelClick() { + + } + + override fun onConfirmClick() { + //TODO 待定 +// CommandManager.sendTuyaDp(deviceInstance, "49".createCommand("64")) + } + }) + .build().show() + } + + override fun onResume() { + super.onResume() + //每次获取焦点都查询设备的开关机状态 + CommandManager.getTuyaDp(deviceInstance, "49") + } + + 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/adapter/AddedDeviceAdapter.kt b/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt index e177fed..0eb9a47 100644 --- a/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt +++ b/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt @@ -18,8 +18,7 @@ import com.tuya.smart.sdk.bean.DeviceBean class AddedDeviceAdapter( - private val context: Context, - private val dataRows: MutableList + private val context: Context, private val dataRows: MutableList ) : RecyclerView.Adapter() { private var layoutInflater: LayoutInflater = LayoutInflater.from(context) diff --git a/app/src/main/java/com/casic/br/view/device/SweepingRobotActivity.kt b/app/src/main/java/com/casic/br/view/device/SweepingRobotActivity.kt index 42c32df..41cabdd 100644 --- a/app/src/main/java/com/casic/br/view/device/SweepingRobotActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/SweepingRobotActivity.kt @@ -69,8 +69,8 @@ val parseObject = JSONObject.parseObject(dpStr) parseObject.keys.forEach { when (it) { - "1" -> {//设备开关 - turnOffRadioButton.isChecked = parseObject[it] as Boolean + "1" -> {//设备开关,不是工作开关 + } "11" -> { //故障 @@ -80,7 +80,7 @@ batteryValueView.text = "${parseObject[it]}%" } "25" -> { - //Power on button + //Power on button,工作开关 turnOffRadioButton.isChecked = parseObject[it] as Boolean } "26" -> { @@ -173,7 +173,6 @@ turnOffRadioButton.setOnClickListener { if (turnOffRadioButton.isChecked) { - //25? CommandManager.sendTuyaDp(deviceInstance, "1".createCommand(true)) } else { CommandManager.sendTuyaDp(deviceInstance, "1".createCommand(false)) @@ -209,7 +208,7 @@ } settingsLayout.setOnClickListener { - navigatePageTo() + navigatePageTo(deviceId) } } @@ -271,7 +270,7 @@ override fun onResume() { super.onResume() //每次获取焦点都查询设备的开关机状态 - CommandManager.getTuyaDp(deviceInstance, "1") + CommandManager.getTuyaDp(deviceInstance, "25") } private fun updateVersion() { diff --git a/app/src/main/java/com/casic/br/view/device/robot/RobotSettingsActivity.kt b/app/src/main/java/com/casic/br/view/device/robot/RobotSettingsActivity.kt index 9552b0b..02ea655 100644 --- a/app/src/main/java/com/casic/br/view/device/robot/RobotSettingsActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/robot/RobotSettingsActivity.kt @@ -1,16 +1,25 @@ package com.casic.br.view.device.robot +import android.util.Log +import com.alibaba.fastjson.JSONObject import com.casic.br.R +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.pengxh.kt.lite.widget.dialog.AlertControlDialog +import com.tuya.smart.home.sdk.TuyaHomeSdk +import com.tuya.smart.sdk.api.ITuyaDevice import kotlinx.android.synthetic.main.activity_robot_settings.* import kotlinx.android.synthetic.main.include_left_back_title.* class RobotSettingsActivity : KotlinBaseActivity() { + private lateinit var deviceInstance: ITuyaDevice + override fun initLayoutView(): Int = R.layout.activity_robot_settings override fun observeRequestState() { @@ -26,28 +35,70 @@ } override fun initData() { - + val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! + deviceInstance = TuyaHomeSdk.newDeviceInstance(deviceId) + deviceInstance.registerDevListener(object : TuyaDeviceListener() { + override fun onDpUpdate(devId: String?, dpStr: String?) { + Log.d("Casic", "RobotSettingsActivity => onDpUpdate: $dpStr") + val parseObject = JSONObject.parseObject(dpStr) + parseObject.keys.forEach { + if (it == "49") { + //TODO 待定 + val any = parseObject[it] + } + } + } + }) } override fun initEvent() { clearBatteryButton.setOnClickListener { - AlertControlDialog.Builder() - .setContext(this) - .setTitle("提示") - .setMessage("是否清除记录?如果没有更换耗材而清除记录将会导致数据错误") - .setNegativeButton("取消") - .setPositiveButton("确定") - .setOnDialogButtonClickListener(object : - AlertControlDialog.OnDialogButtonClickListener { - override fun onCancelClick() { - - } - - override fun onConfirmClick() { - - } - }) - .build().show() + showDialog() } + + clearFilterButton.setOnClickListener { + showDialog() + } + + clearMiddleButton.setOnClickListener { + showDialog() + } + + clearEdgeButton.setOnClickListener { + showDialog() + } + } + + private fun showDialog() { + AlertControlDialog.Builder() + .setContext(this) + .setTitle("提示") + .setMessage("是否清除记录?如果没有更换耗材而清除记录将会导致数据错误") + .setNegativeButton("取消") + .setPositiveButton("确定") + .setOnDialogButtonClickListener(object : + AlertControlDialog.OnDialogButtonClickListener { + override fun onCancelClick() { + + } + + override fun onConfirmClick() { + //TODO 待定 +// CommandManager.sendTuyaDp(deviceInstance, "49".createCommand("64")) + } + }) + .build().show() + } + + override fun onResume() { + super.onResume() + //每次获取焦点都查询设备的开关机状态 + CommandManager.getTuyaDp(deviceInstance, "49") + } + + override fun onDestroy() { + super.onDestroy() + deviceInstance.unRegisterDevListener() + deviceInstance.onDestroy() } } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_robot_settings.xml b/app/src/main/res/layout/activity_robot_settings.xml index 018f2f8..cecc168 100644 --- a/app/src/main/res/layout/activity_robot_settings.xml +++ b/app/src/main/res/layout/activity_robot_settings.xml @@ -89,6 +89,7 @@ + private val context: Context, private val dataRows: MutableList ) : RecyclerView.Adapter() { private var layoutInflater: LayoutInflater = LayoutInflater.from(context) diff --git a/app/src/main/java/com/casic/br/view/device/SweepingRobotActivity.kt b/app/src/main/java/com/casic/br/view/device/SweepingRobotActivity.kt index 42c32df..41cabdd 100644 --- a/app/src/main/java/com/casic/br/view/device/SweepingRobotActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/SweepingRobotActivity.kt @@ -69,8 +69,8 @@ val parseObject = JSONObject.parseObject(dpStr) parseObject.keys.forEach { when (it) { - "1" -> {//设备开关 - turnOffRadioButton.isChecked = parseObject[it] as Boolean + "1" -> {//设备开关,不是工作开关 + } "11" -> { //故障 @@ -80,7 +80,7 @@ batteryValueView.text = "${parseObject[it]}%" } "25" -> { - //Power on button + //Power on button,工作开关 turnOffRadioButton.isChecked = parseObject[it] as Boolean } "26" -> { @@ -173,7 +173,6 @@ turnOffRadioButton.setOnClickListener { if (turnOffRadioButton.isChecked) { - //25? CommandManager.sendTuyaDp(deviceInstance, "1".createCommand(true)) } else { CommandManager.sendTuyaDp(deviceInstance, "1".createCommand(false)) @@ -209,7 +208,7 @@ } settingsLayout.setOnClickListener { - navigatePageTo() + navigatePageTo(deviceId) } } @@ -271,7 +270,7 @@ override fun onResume() { super.onResume() //每次获取焦点都查询设备的开关机状态 - CommandManager.getTuyaDp(deviceInstance, "1") + CommandManager.getTuyaDp(deviceInstance, "25") } private fun updateVersion() { diff --git a/app/src/main/java/com/casic/br/view/device/robot/RobotSettingsActivity.kt b/app/src/main/java/com/casic/br/view/device/robot/RobotSettingsActivity.kt index 9552b0b..02ea655 100644 --- a/app/src/main/java/com/casic/br/view/device/robot/RobotSettingsActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/robot/RobotSettingsActivity.kt @@ -1,16 +1,25 @@ package com.casic.br.view.device.robot +import android.util.Log +import com.alibaba.fastjson.JSONObject import com.casic.br.R +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.pengxh.kt.lite.widget.dialog.AlertControlDialog +import com.tuya.smart.home.sdk.TuyaHomeSdk +import com.tuya.smart.sdk.api.ITuyaDevice import kotlinx.android.synthetic.main.activity_robot_settings.* import kotlinx.android.synthetic.main.include_left_back_title.* class RobotSettingsActivity : KotlinBaseActivity() { + private lateinit var deviceInstance: ITuyaDevice + override fun initLayoutView(): Int = R.layout.activity_robot_settings override fun observeRequestState() { @@ -26,28 +35,70 @@ } override fun initData() { - + val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! + deviceInstance = TuyaHomeSdk.newDeviceInstance(deviceId) + deviceInstance.registerDevListener(object : TuyaDeviceListener() { + override fun onDpUpdate(devId: String?, dpStr: String?) { + Log.d("Casic", "RobotSettingsActivity => onDpUpdate: $dpStr") + val parseObject = JSONObject.parseObject(dpStr) + parseObject.keys.forEach { + if (it == "49") { + //TODO 待定 + val any = parseObject[it] + } + } + } + }) } override fun initEvent() { clearBatteryButton.setOnClickListener { - AlertControlDialog.Builder() - .setContext(this) - .setTitle("提示") - .setMessage("是否清除记录?如果没有更换耗材而清除记录将会导致数据错误") - .setNegativeButton("取消") - .setPositiveButton("确定") - .setOnDialogButtonClickListener(object : - AlertControlDialog.OnDialogButtonClickListener { - override fun onCancelClick() { - - } - - override fun onConfirmClick() { - - } - }) - .build().show() + showDialog() } + + clearFilterButton.setOnClickListener { + showDialog() + } + + clearMiddleButton.setOnClickListener { + showDialog() + } + + clearEdgeButton.setOnClickListener { + showDialog() + } + } + + private fun showDialog() { + AlertControlDialog.Builder() + .setContext(this) + .setTitle("提示") + .setMessage("是否清除记录?如果没有更换耗材而清除记录将会导致数据错误") + .setNegativeButton("取消") + .setPositiveButton("确定") + .setOnDialogButtonClickListener(object : + AlertControlDialog.OnDialogButtonClickListener { + override fun onCancelClick() { + + } + + override fun onConfirmClick() { + //TODO 待定 +// CommandManager.sendTuyaDp(deviceInstance, "49".createCommand("64")) + } + }) + .build().show() + } + + override fun onResume() { + super.onResume() + //每次获取焦点都查询设备的开关机状态 + CommandManager.getTuyaDp(deviceInstance, "49") + } + + override fun onDestroy() { + super.onDestroy() + deviceInstance.unRegisterDevListener() + deviceInstance.onDestroy() } } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_robot_settings.xml b/app/src/main/res/layout/activity_robot_settings.xml index 018f2f8..cecc168 100644 --- a/app/src/main/res/layout/activity_robot_settings.xml +++ b/app/src/main/res/layout/activity_robot_settings.xml @@ -89,6 +89,7 @@ - - - - - - - - - - - - + + + + + + private val context: Context, private val dataRows: MutableList ) : RecyclerView.Adapter() { private var layoutInflater: LayoutInflater = LayoutInflater.from(context) diff --git a/app/src/main/java/com/casic/br/view/device/SweepingRobotActivity.kt b/app/src/main/java/com/casic/br/view/device/SweepingRobotActivity.kt index 42c32df..41cabdd 100644 --- a/app/src/main/java/com/casic/br/view/device/SweepingRobotActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/SweepingRobotActivity.kt @@ -69,8 +69,8 @@ val parseObject = JSONObject.parseObject(dpStr) parseObject.keys.forEach { when (it) { - "1" -> {//设备开关 - turnOffRadioButton.isChecked = parseObject[it] as Boolean + "1" -> {//设备开关,不是工作开关 + } "11" -> { //故障 @@ -80,7 +80,7 @@ batteryValueView.text = "${parseObject[it]}%" } "25" -> { - //Power on button + //Power on button,工作开关 turnOffRadioButton.isChecked = parseObject[it] as Boolean } "26" -> { @@ -173,7 +173,6 @@ turnOffRadioButton.setOnClickListener { if (turnOffRadioButton.isChecked) { - //25? CommandManager.sendTuyaDp(deviceInstance, "1".createCommand(true)) } else { CommandManager.sendTuyaDp(deviceInstance, "1".createCommand(false)) @@ -209,7 +208,7 @@ } settingsLayout.setOnClickListener { - navigatePageTo() + navigatePageTo(deviceId) } } @@ -271,7 +270,7 @@ override fun onResume() { super.onResume() //每次获取焦点都查询设备的开关机状态 - CommandManager.getTuyaDp(deviceInstance, "1") + CommandManager.getTuyaDp(deviceInstance, "25") } private fun updateVersion() { diff --git a/app/src/main/java/com/casic/br/view/device/robot/RobotSettingsActivity.kt b/app/src/main/java/com/casic/br/view/device/robot/RobotSettingsActivity.kt index 9552b0b..02ea655 100644 --- a/app/src/main/java/com/casic/br/view/device/robot/RobotSettingsActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/robot/RobotSettingsActivity.kt @@ -1,16 +1,25 @@ package com.casic.br.view.device.robot +import android.util.Log +import com.alibaba.fastjson.JSONObject import com.casic.br.R +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.pengxh.kt.lite.widget.dialog.AlertControlDialog +import com.tuya.smart.home.sdk.TuyaHomeSdk +import com.tuya.smart.sdk.api.ITuyaDevice import kotlinx.android.synthetic.main.activity_robot_settings.* import kotlinx.android.synthetic.main.include_left_back_title.* class RobotSettingsActivity : KotlinBaseActivity() { + private lateinit var deviceInstance: ITuyaDevice + override fun initLayoutView(): Int = R.layout.activity_robot_settings override fun observeRequestState() { @@ -26,28 +35,70 @@ } override fun initData() { - + val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! + deviceInstance = TuyaHomeSdk.newDeviceInstance(deviceId) + deviceInstance.registerDevListener(object : TuyaDeviceListener() { + override fun onDpUpdate(devId: String?, dpStr: String?) { + Log.d("Casic", "RobotSettingsActivity => onDpUpdate: $dpStr") + val parseObject = JSONObject.parseObject(dpStr) + parseObject.keys.forEach { + if (it == "49") { + //TODO 待定 + val any = parseObject[it] + } + } + } + }) } override fun initEvent() { clearBatteryButton.setOnClickListener { - AlertControlDialog.Builder() - .setContext(this) - .setTitle("提示") - .setMessage("是否清除记录?如果没有更换耗材而清除记录将会导致数据错误") - .setNegativeButton("取消") - .setPositiveButton("确定") - .setOnDialogButtonClickListener(object : - AlertControlDialog.OnDialogButtonClickListener { - override fun onCancelClick() { - - } - - override fun onConfirmClick() { - - } - }) - .build().show() + showDialog() } + + clearFilterButton.setOnClickListener { + showDialog() + } + + clearMiddleButton.setOnClickListener { + showDialog() + } + + clearEdgeButton.setOnClickListener { + showDialog() + } + } + + private fun showDialog() { + AlertControlDialog.Builder() + .setContext(this) + .setTitle("提示") + .setMessage("是否清除记录?如果没有更换耗材而清除记录将会导致数据错误") + .setNegativeButton("取消") + .setPositiveButton("确定") + .setOnDialogButtonClickListener(object : + AlertControlDialog.OnDialogButtonClickListener { + override fun onCancelClick() { + + } + + override fun onConfirmClick() { + //TODO 待定 +// CommandManager.sendTuyaDp(deviceInstance, "49".createCommand("64")) + } + }) + .build().show() + } + + override fun onResume() { + super.onResume() + //每次获取焦点都查询设备的开关机状态 + CommandManager.getTuyaDp(deviceInstance, "49") + } + + override fun onDestroy() { + super.onDestroy() + deviceInstance.unRegisterDevListener() + deviceInstance.onDestroy() } } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_robot_settings.xml b/app/src/main/res/layout/activity_robot_settings.xml index 018f2f8..cecc168 100644 --- a/app/src/main/res/layout/activity_robot_settings.xml +++ b/app/src/main/res/layout/activity_robot_settings.xml @@ -89,6 +89,7 @@ - - - - - - - - - - - - + + + + + + android:textSize="@dimen/sp_10" + android:visibility="gone" /> + private val context: Context, private val dataRows: MutableList ) : RecyclerView.Adapter() { private var layoutInflater: LayoutInflater = LayoutInflater.from(context) diff --git a/app/src/main/java/com/casic/br/view/device/SweepingRobotActivity.kt b/app/src/main/java/com/casic/br/view/device/SweepingRobotActivity.kt index 42c32df..41cabdd 100644 --- a/app/src/main/java/com/casic/br/view/device/SweepingRobotActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/SweepingRobotActivity.kt @@ -69,8 +69,8 @@ val parseObject = JSONObject.parseObject(dpStr) parseObject.keys.forEach { when (it) { - "1" -> {//设备开关 - turnOffRadioButton.isChecked = parseObject[it] as Boolean + "1" -> {//设备开关,不是工作开关 + } "11" -> { //故障 @@ -80,7 +80,7 @@ batteryValueView.text = "${parseObject[it]}%" } "25" -> { - //Power on button + //Power on button,工作开关 turnOffRadioButton.isChecked = parseObject[it] as Boolean } "26" -> { @@ -173,7 +173,6 @@ turnOffRadioButton.setOnClickListener { if (turnOffRadioButton.isChecked) { - //25? CommandManager.sendTuyaDp(deviceInstance, "1".createCommand(true)) } else { CommandManager.sendTuyaDp(deviceInstance, "1".createCommand(false)) @@ -209,7 +208,7 @@ } settingsLayout.setOnClickListener { - navigatePageTo() + navigatePageTo(deviceId) } } @@ -271,7 +270,7 @@ override fun onResume() { super.onResume() //每次获取焦点都查询设备的开关机状态 - CommandManager.getTuyaDp(deviceInstance, "1") + CommandManager.getTuyaDp(deviceInstance, "25") } private fun updateVersion() { diff --git a/app/src/main/java/com/casic/br/view/device/robot/RobotSettingsActivity.kt b/app/src/main/java/com/casic/br/view/device/robot/RobotSettingsActivity.kt index 9552b0b..02ea655 100644 --- a/app/src/main/java/com/casic/br/view/device/robot/RobotSettingsActivity.kt +++ b/app/src/main/java/com/casic/br/view/device/robot/RobotSettingsActivity.kt @@ -1,16 +1,25 @@ package com.casic.br.view.device.robot +import android.util.Log +import com.alibaba.fastjson.JSONObject import com.casic.br.R +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.pengxh.kt.lite.widget.dialog.AlertControlDialog +import com.tuya.smart.home.sdk.TuyaHomeSdk +import com.tuya.smart.sdk.api.ITuyaDevice import kotlinx.android.synthetic.main.activity_robot_settings.* import kotlinx.android.synthetic.main.include_left_back_title.* class RobotSettingsActivity : KotlinBaseActivity() { + private lateinit var deviceInstance: ITuyaDevice + override fun initLayoutView(): Int = R.layout.activity_robot_settings override fun observeRequestState() { @@ -26,28 +35,70 @@ } override fun initData() { - + val deviceId = intent.getStringExtra(Constant.INTENT_PARAM)!! + deviceInstance = TuyaHomeSdk.newDeviceInstance(deviceId) + deviceInstance.registerDevListener(object : TuyaDeviceListener() { + override fun onDpUpdate(devId: String?, dpStr: String?) { + Log.d("Casic", "RobotSettingsActivity => onDpUpdate: $dpStr") + val parseObject = JSONObject.parseObject(dpStr) + parseObject.keys.forEach { + if (it == "49") { + //TODO 待定 + val any = parseObject[it] + } + } + } + }) } override fun initEvent() { clearBatteryButton.setOnClickListener { - AlertControlDialog.Builder() - .setContext(this) - .setTitle("提示") - .setMessage("是否清除记录?如果没有更换耗材而清除记录将会导致数据错误") - .setNegativeButton("取消") - .setPositiveButton("确定") - .setOnDialogButtonClickListener(object : - AlertControlDialog.OnDialogButtonClickListener { - override fun onCancelClick() { - - } - - override fun onConfirmClick() { - - } - }) - .build().show() + showDialog() } + + clearFilterButton.setOnClickListener { + showDialog() + } + + clearMiddleButton.setOnClickListener { + showDialog() + } + + clearEdgeButton.setOnClickListener { + showDialog() + } + } + + private fun showDialog() { + AlertControlDialog.Builder() + .setContext(this) + .setTitle("提示") + .setMessage("是否清除记录?如果没有更换耗材而清除记录将会导致数据错误") + .setNegativeButton("取消") + .setPositiveButton("确定") + .setOnDialogButtonClickListener(object : + AlertControlDialog.OnDialogButtonClickListener { + override fun onCancelClick() { + + } + + override fun onConfirmClick() { + //TODO 待定 +// CommandManager.sendTuyaDp(deviceInstance, "49".createCommand("64")) + } + }) + .build().show() + } + + override fun onResume() { + super.onResume() + //每次获取焦点都查询设备的开关机状态 + CommandManager.getTuyaDp(deviceInstance, "49") + } + + override fun onDestroy() { + super.onDestroy() + deviceInstance.unRegisterDevListener() + deviceInstance.onDestroy() } } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_robot_settings.xml b/app/src/main/res/layout/activity_robot_settings.xml index 018f2f8..cecc168 100644 --- a/app/src/main/res/layout/activity_robot_settings.xml +++ b/app/src/main/res/layout/activity_robot_settings.xml @@ -89,6 +89,7 @@ - - - - - - - - - - - - + + + + + + android:textSize="@dimen/sp_10" + android:visibility="gone" /> 中国航天科工集团 °C - 未知 + 加载中 \ No newline at end of file