diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 4004755..26fd5a9 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -15,6 +15,7 @@ + @@ -87,6 +88,7 @@ + + @@ -87,6 +88,7 @@ + + private val dataRows: MutableList ) : RecyclerView.Adapter() { private var layoutInflater: LayoutInflater = LayoutInflater.from(context) @@ -36,7 +35,7 @@ val rowsModel = dataRows[position] holder.deviceNameView.text = rowsModel.deviceName Glide.with(context) - .load(LocaleConstant.HW_JT_KBZ1) + .load(rowsModel.picUri.combineImagePath()) .apply(RequestOptions.circleCropTransform()) .placeholder(R.mipmap.load_image_error) .into(holder.imageView) @@ -47,9 +46,6 @@ holder.rootView.setOnClickListener { clickListener?.onItemClick(position) } - holder.moreOperateButton.setOnClickListener { - clickListener?.onButtonClick(position) - } } override fun getItemCount(): Int = dataRows.size @@ -58,8 +54,6 @@ interface OnItemClickListener { fun onItemClick(position: Int) - - fun onButtonClick(position: Int) } fun setOnItemClickListener(clickListener: OnItemClickListener?) { @@ -69,7 +63,6 @@ class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { val rootView: LinearLayout = itemView.findViewById(R.id.rootView) val deviceNameView: TextView = itemView.findViewById(R.id.deviceNameView) - val moreOperateButton: Button = itemView.findViewById(R.id.moreOperateButton) val imageView: ImageView = itemView.findViewById(R.id.imageView) val deviceModelView: TextView = itemView.findViewById(R.id.deviceModelView) val deviceUsedTimeView: TextView = itemView.findViewById(R.id.deviceUsedTimeView) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 4004755..26fd5a9 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -15,6 +15,7 @@ + @@ -87,6 +88,7 @@ + + private val dataRows: MutableList ) : RecyclerView.Adapter() { private var layoutInflater: LayoutInflater = LayoutInflater.from(context) @@ -36,7 +35,7 @@ val rowsModel = dataRows[position] holder.deviceNameView.text = rowsModel.deviceName Glide.with(context) - .load(LocaleConstant.HW_JT_KBZ1) + .load(rowsModel.picUri.combineImagePath()) .apply(RequestOptions.circleCropTransform()) .placeholder(R.mipmap.load_image_error) .into(holder.imageView) @@ -47,9 +46,6 @@ holder.rootView.setOnClickListener { clickListener?.onItemClick(position) } - holder.moreOperateButton.setOnClickListener { - clickListener?.onButtonClick(position) - } } override fun getItemCount(): Int = dataRows.size @@ -58,8 +54,6 @@ interface OnItemClickListener { fun onItemClick(position: Int) - - fun onButtonClick(position: Int) } fun setOnItemClickListener(clickListener: OnItemClickListener?) { @@ -69,7 +63,6 @@ class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { val rootView: LinearLayout = itemView.findViewById(R.id.rootView) val deviceNameView: TextView = itemView.findViewById(R.id.deviceNameView) - val moreOperateButton: Button = itemView.findViewById(R.id.moreOperateButton) val imageView: ImageView = itemView.findViewById(R.id.imageView) val deviceModelView: TextView = itemView.findViewById(R.id.deviceModelView) val deviceUsedTimeView: TextView = itemView.findViewById(R.id.deviceUsedTimeView) diff --git a/app/src/main/java/com/casic/br/extensions/String.kt b/app/src/main/java/com/casic/br/extensions/String.kt index c035c7b..b63113d 100644 --- a/app/src/main/java/com/casic/br/extensions/String.kt +++ b/app/src/main/java/com/casic/br/extensions/String.kt @@ -155,4 +155,18 @@ e.printStackTrace() } return R.drawable.ic_battery_0 +} + +fun String.convertValue(deciPoint: Int): Double { + if (this.isBlank()) { + return 0.0 + } + when (deciPoint) { + 0 -> return this.toDouble() + 1 -> return (this.toDouble()) / 10 + 2 -> return (this.toDouble()) / 100 + 3 -> return (this.toDouble()) / 1000 + 4 -> return (this.toDouble()) / 10000 + } + return this.toDouble() } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 4004755..26fd5a9 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -15,6 +15,7 @@ + @@ -87,6 +88,7 @@ + + private val dataRows: MutableList ) : RecyclerView.Adapter() { private var layoutInflater: LayoutInflater = LayoutInflater.from(context) @@ -36,7 +35,7 @@ val rowsModel = dataRows[position] holder.deviceNameView.text = rowsModel.deviceName Glide.with(context) - .load(LocaleConstant.HW_JT_KBZ1) + .load(rowsModel.picUri.combineImagePath()) .apply(RequestOptions.circleCropTransform()) .placeholder(R.mipmap.load_image_error) .into(holder.imageView) @@ -47,9 +46,6 @@ holder.rootView.setOnClickListener { clickListener?.onItemClick(position) } - holder.moreOperateButton.setOnClickListener { - clickListener?.onButtonClick(position) - } } override fun getItemCount(): Int = dataRows.size @@ -58,8 +54,6 @@ interface OnItemClickListener { fun onItemClick(position: Int) - - fun onButtonClick(position: Int) } fun setOnItemClickListener(clickListener: OnItemClickListener?) { @@ -69,7 +63,6 @@ class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { val rootView: LinearLayout = itemView.findViewById(R.id.rootView) val deviceNameView: TextView = itemView.findViewById(R.id.deviceNameView) - val moreOperateButton: Button = itemView.findViewById(R.id.moreOperateButton) val imageView: ImageView = itemView.findViewById(R.id.imageView) val deviceModelView: TextView = itemView.findViewById(R.id.deviceModelView) val deviceUsedTimeView: TextView = itemView.findViewById(R.id.deviceUsedTimeView) diff --git a/app/src/main/java/com/casic/br/extensions/String.kt b/app/src/main/java/com/casic/br/extensions/String.kt index c035c7b..b63113d 100644 --- a/app/src/main/java/com/casic/br/extensions/String.kt +++ b/app/src/main/java/com/casic/br/extensions/String.kt @@ -155,4 +155,18 @@ e.printStackTrace() } return R.drawable.ic_battery_0 +} + +fun String.convertValue(deciPoint: Int): Double { + if (this.isBlank()) { + return 0.0 + } + when (deciPoint) { + 0 -> return this.toDouble() + 1 -> return (this.toDouble()) / 10 + 2 -> return (this.toDouble()) / 100 + 3 -> return (this.toDouble()) / 1000 + 4 -> return (this.toDouble()) / 10000 + } + return this.toDouble() } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index c9f9257..fe1e87d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -11,7 +11,7 @@ import com.casic.br.adapter.RecommendAdapter import com.casic.br.extensions.initLayoutImmersionBar import com.casic.br.extensions.selectCategory -import com.casic.br.model.OtherDeviceModel +import com.casic.br.model.OtherDeviceListModel import com.casic.br.model.RecommendModel import com.casic.br.utils.DeserializeModel import com.casic.br.view.AddDeviceActivity @@ -40,7 +40,7 @@ private lateinit var otherDeviceAdapter: OtherDeviceAdapter private lateinit var deviceViewModel: DeviceViewModel private var dataBeans: MutableList = ArrayList() - private var dataModes: MutableList = ArrayList() + private var dataModes: MutableList = ArrayList() private var isRefresh = false override fun initLayoutView(): Int = R.layout.fragment_device @@ -226,6 +226,12 @@ } else { otherDeviceAdapter = OtherDeviceAdapter(requireContext(), dataModes) otherDeviceRecyclerView.adapter = otherDeviceAdapter + otherDeviceAdapter.setOnItemClickListener(object : + OtherDeviceAdapter.OnItemClickListener { + override fun onItemClick(position: Int) { + requireContext().navigatePageTo(dataModes[position].id) + } + }) } } true diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 4004755..26fd5a9 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -15,6 +15,7 @@ + @@ -87,6 +88,7 @@ + + private val dataRows: MutableList ) : RecyclerView.Adapter() { private var layoutInflater: LayoutInflater = LayoutInflater.from(context) @@ -36,7 +35,7 @@ val rowsModel = dataRows[position] holder.deviceNameView.text = rowsModel.deviceName Glide.with(context) - .load(LocaleConstant.HW_JT_KBZ1) + .load(rowsModel.picUri.combineImagePath()) .apply(RequestOptions.circleCropTransform()) .placeholder(R.mipmap.load_image_error) .into(holder.imageView) @@ -47,9 +46,6 @@ holder.rootView.setOnClickListener { clickListener?.onItemClick(position) } - holder.moreOperateButton.setOnClickListener { - clickListener?.onButtonClick(position) - } } override fun getItemCount(): Int = dataRows.size @@ -58,8 +54,6 @@ interface OnItemClickListener { fun onItemClick(position: Int) - - fun onButtonClick(position: Int) } fun setOnItemClickListener(clickListener: OnItemClickListener?) { @@ -69,7 +63,6 @@ class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { val rootView: LinearLayout = itemView.findViewById(R.id.rootView) val deviceNameView: TextView = itemView.findViewById(R.id.deviceNameView) - val moreOperateButton: Button = itemView.findViewById(R.id.moreOperateButton) val imageView: ImageView = itemView.findViewById(R.id.imageView) val deviceModelView: TextView = itemView.findViewById(R.id.deviceModelView) val deviceUsedTimeView: TextView = itemView.findViewById(R.id.deviceUsedTimeView) diff --git a/app/src/main/java/com/casic/br/extensions/String.kt b/app/src/main/java/com/casic/br/extensions/String.kt index c035c7b..b63113d 100644 --- a/app/src/main/java/com/casic/br/extensions/String.kt +++ b/app/src/main/java/com/casic/br/extensions/String.kt @@ -155,4 +155,18 @@ e.printStackTrace() } return R.drawable.ic_battery_0 +} + +fun String.convertValue(deciPoint: Int): Double { + if (this.isBlank()) { + return 0.0 + } + when (deciPoint) { + 0 -> return this.toDouble() + 1 -> return (this.toDouble()) / 10 + 2 -> return (this.toDouble()) / 100 + 3 -> return (this.toDouble()) / 1000 + 4 -> return (this.toDouble()) / 10000 + } + return this.toDouble() } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index c9f9257..fe1e87d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -11,7 +11,7 @@ import com.casic.br.adapter.RecommendAdapter import com.casic.br.extensions.initLayoutImmersionBar import com.casic.br.extensions.selectCategory -import com.casic.br.model.OtherDeviceModel +import com.casic.br.model.OtherDeviceListModel import com.casic.br.model.RecommendModel import com.casic.br.utils.DeserializeModel import com.casic.br.view.AddDeviceActivity @@ -40,7 +40,7 @@ private lateinit var otherDeviceAdapter: OtherDeviceAdapter private lateinit var deviceViewModel: DeviceViewModel private var dataBeans: MutableList = ArrayList() - private var dataModes: MutableList = ArrayList() + private var dataModes: MutableList = ArrayList() private var isRefresh = false override fun initLayoutView(): Int = R.layout.fragment_device @@ -226,6 +226,12 @@ } else { otherDeviceAdapter = OtherDeviceAdapter(requireContext(), dataModes) otherDeviceRecyclerView.adapter = otherDeviceAdapter + otherDeviceAdapter.setOnItemClickListener(object : + OtherDeviceAdapter.OnItemClickListener { + override fun onItemClick(position: Int) { + requireContext().navigatePageTo(dataModes[position].id) + } + }) } } true diff --git a/app/src/main/java/com/casic/br/model/AddedDeviceModel.java b/app/src/main/java/com/casic/br/model/AddedDeviceModel.java deleted file mode 100644 index b74bb70..0000000 --- a/app/src/main/java/com/casic/br/model/AddedDeviceModel.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.br.model; - -/** - * 已添加设备(Iot和非Iot设备)数据模型 - */ -public class AddedDeviceModel { - private String deviceId; - private String deviceName; - private boolean isOnline; - private String deviceImage; - private String deviceModel; - private String deviceType; - private String deviceUsedTime; - - public String getDeviceId() { - return deviceId; - } - - public void setDeviceId(String deviceId) { - this.deviceId = deviceId; - } - - public String getDeviceName() { - return deviceName; - } - - public void setDeviceName(String deviceName) { - this.deviceName = deviceName; - } - - public boolean isOnline() { - return isOnline; - } - - public void setOnline(boolean online) { - isOnline = online; - } - - public String getDeviceImage() { - return deviceImage; - } - - public void setDeviceImage(String deviceImage) { - this.deviceImage = deviceImage; - } - - public String getDeviceModel() { - return deviceModel; - } - - public void setDeviceModel(String deviceModel) { - this.deviceModel = deviceModel; - } - - public String getDeviceType() { - return deviceType; - } - - public void setDeviceType(String deviceType) { - this.deviceType = deviceType; - } - - public String getDeviceUsedTime() { - return deviceUsedTime; - } - - public void setDeviceUsedTime(String deviceUsedTime) { - this.deviceUsedTime = deviceUsedTime; - } -} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 4004755..26fd5a9 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -15,6 +15,7 @@ + @@ -87,6 +88,7 @@ + + private val dataRows: MutableList ) : RecyclerView.Adapter() { private var layoutInflater: LayoutInflater = LayoutInflater.from(context) @@ -36,7 +35,7 @@ val rowsModel = dataRows[position] holder.deviceNameView.text = rowsModel.deviceName Glide.with(context) - .load(LocaleConstant.HW_JT_KBZ1) + .load(rowsModel.picUri.combineImagePath()) .apply(RequestOptions.circleCropTransform()) .placeholder(R.mipmap.load_image_error) .into(holder.imageView) @@ -47,9 +46,6 @@ holder.rootView.setOnClickListener { clickListener?.onItemClick(position) } - holder.moreOperateButton.setOnClickListener { - clickListener?.onButtonClick(position) - } } override fun getItemCount(): Int = dataRows.size @@ -58,8 +54,6 @@ interface OnItemClickListener { fun onItemClick(position: Int) - - fun onButtonClick(position: Int) } fun setOnItemClickListener(clickListener: OnItemClickListener?) { @@ -69,7 +63,6 @@ class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { val rootView: LinearLayout = itemView.findViewById(R.id.rootView) val deviceNameView: TextView = itemView.findViewById(R.id.deviceNameView) - val moreOperateButton: Button = itemView.findViewById(R.id.moreOperateButton) val imageView: ImageView = itemView.findViewById(R.id.imageView) val deviceModelView: TextView = itemView.findViewById(R.id.deviceModelView) val deviceUsedTimeView: TextView = itemView.findViewById(R.id.deviceUsedTimeView) diff --git a/app/src/main/java/com/casic/br/extensions/String.kt b/app/src/main/java/com/casic/br/extensions/String.kt index c035c7b..b63113d 100644 --- a/app/src/main/java/com/casic/br/extensions/String.kt +++ b/app/src/main/java/com/casic/br/extensions/String.kt @@ -155,4 +155,18 @@ e.printStackTrace() } return R.drawable.ic_battery_0 +} + +fun String.convertValue(deciPoint: Int): Double { + if (this.isBlank()) { + return 0.0 + } + when (deciPoint) { + 0 -> return this.toDouble() + 1 -> return (this.toDouble()) / 10 + 2 -> return (this.toDouble()) / 100 + 3 -> return (this.toDouble()) / 1000 + 4 -> return (this.toDouble()) / 10000 + } + return this.toDouble() } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index c9f9257..fe1e87d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -11,7 +11,7 @@ import com.casic.br.adapter.RecommendAdapter import com.casic.br.extensions.initLayoutImmersionBar import com.casic.br.extensions.selectCategory -import com.casic.br.model.OtherDeviceModel +import com.casic.br.model.OtherDeviceListModel import com.casic.br.model.RecommendModel import com.casic.br.utils.DeserializeModel import com.casic.br.view.AddDeviceActivity @@ -40,7 +40,7 @@ private lateinit var otherDeviceAdapter: OtherDeviceAdapter private lateinit var deviceViewModel: DeviceViewModel private var dataBeans: MutableList = ArrayList() - private var dataModes: MutableList = ArrayList() + private var dataModes: MutableList = ArrayList() private var isRefresh = false override fun initLayoutView(): Int = R.layout.fragment_device @@ -226,6 +226,12 @@ } else { otherDeviceAdapter = OtherDeviceAdapter(requireContext(), dataModes) otherDeviceRecyclerView.adapter = otherDeviceAdapter + otherDeviceAdapter.setOnItemClickListener(object : + OtherDeviceAdapter.OnItemClickListener { + override fun onItemClick(position: Int) { + requireContext().navigatePageTo(dataModes[position].id) + } + }) } } true diff --git a/app/src/main/java/com/casic/br/model/AddedDeviceModel.java b/app/src/main/java/com/casic/br/model/AddedDeviceModel.java deleted file mode 100644 index b74bb70..0000000 --- a/app/src/main/java/com/casic/br/model/AddedDeviceModel.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.br.model; - -/** - * 已添加设备(Iot和非Iot设备)数据模型 - */ -public class AddedDeviceModel { - private String deviceId; - private String deviceName; - private boolean isOnline; - private String deviceImage; - private String deviceModel; - private String deviceType; - private String deviceUsedTime; - - public String getDeviceId() { - return deviceId; - } - - public void setDeviceId(String deviceId) { - this.deviceId = deviceId; - } - - public String getDeviceName() { - return deviceName; - } - - public void setDeviceName(String deviceName) { - this.deviceName = deviceName; - } - - public boolean isOnline() { - return isOnline; - } - - public void setOnline(boolean online) { - isOnline = online; - } - - public String getDeviceImage() { - return deviceImage; - } - - public void setDeviceImage(String deviceImage) { - this.deviceImage = deviceImage; - } - - public String getDeviceModel() { - return deviceModel; - } - - public void setDeviceModel(String deviceModel) { - this.deviceModel = deviceModel; - } - - public String getDeviceType() { - return deviceType; - } - - public void setDeviceType(String deviceType) { - this.deviceType = deviceType; - } - - public String getDeviceUsedTime() { - return deviceUsedTime; - } - - public void setDeviceUsedTime(String deviceUsedTime) { - this.deviceUsedTime = deviceUsedTime; - } -} diff --git a/app/src/main/java/com/casic/br/model/OtherDeviceListModel.java b/app/src/main/java/com/casic/br/model/OtherDeviceListModel.java new file mode 100644 index 0000000..3058c1f --- /dev/null +++ b/app/src/main/java/com/casic/br/model/OtherDeviceListModel.java @@ -0,0 +1,283 @@ +package com.casic.br.model; + +import java.util.List; + +public class OtherDeviceListModel { + + private int code; + private DataModel data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String brandCode; + private String brandName; + private String createTime; + private int deviceActive; + private String deviceActiveTime; + private String deviceAddress; + private int deviceBindUser; + private String deviceCoreParts; + private String deviceHardwareVersion; + private String deviceId; + private String deviceIp; + private String deviceMac; + private String deviceName; + private String deviceSoftwareVersion; + private int deviceStatus; + private String id; + private int iotDevice; + private String picUri; + private String produceDate; + private String productCode; + private String productName; + private String snCode; + private String supplierId; + private String updateTime; + + public String getBrandCode() { + return brandCode; + } + + public void setBrandCode(String brandCode) { + this.brandCode = brandCode; + } + + public String getBrandName() { + return brandName; + } + + public void setBrandName(String brandName) { + this.brandName = brandName; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public int getDeviceActive() { + return deviceActive; + } + + public void setDeviceActive(int deviceActive) { + this.deviceActive = deviceActive; + } + + public String getDeviceActiveTime() { + return deviceActiveTime; + } + + public void setDeviceActiveTime(String deviceActiveTime) { + this.deviceActiveTime = deviceActiveTime; + } + + public String getDeviceAddress() { + return deviceAddress; + } + + public void setDeviceAddress(String deviceAddress) { + this.deviceAddress = deviceAddress; + } + + public int getDeviceBindUser() { + return deviceBindUser; + } + + public void setDeviceBindUser(int deviceBindUser) { + this.deviceBindUser = deviceBindUser; + } + + public String getDeviceCoreParts() { + return deviceCoreParts; + } + + public void setDeviceCoreParts(String deviceCoreParts) { + this.deviceCoreParts = deviceCoreParts; + } + + public String getDeviceHardwareVersion() { + return deviceHardwareVersion; + } + + public void setDeviceHardwareVersion(String deviceHardwareVersion) { + this.deviceHardwareVersion = deviceHardwareVersion; + } + + public String getDeviceId() { + return deviceId; + } + + public void setDeviceId(String deviceId) { + this.deviceId = deviceId; + } + + public String getDeviceIp() { + return deviceIp; + } + + public void setDeviceIp(String deviceIp) { + this.deviceIp = deviceIp; + } + + public String getDeviceMac() { + return deviceMac; + } + + public void setDeviceMac(String deviceMac) { + this.deviceMac = deviceMac; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public String getDeviceSoftwareVersion() { + return deviceSoftwareVersion; + } + + public void setDeviceSoftwareVersion(String deviceSoftwareVersion) { + this.deviceSoftwareVersion = deviceSoftwareVersion; + } + + public int getDeviceStatus() { + return deviceStatus; + } + + public void setDeviceStatus(int deviceStatus) { + this.deviceStatus = deviceStatus; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIotDevice() { + return iotDevice; + } + + public void setIotDevice(int iotDevice) { + this.iotDevice = iotDevice; + } + + public String getPicUri() { + return picUri; + } + + public void setPicUri(String picUri) { + this.picUri = picUri; + } + + public String getProduceDate() { + return produceDate; + } + + public void setProduceDate(String produceDate) { + this.produceDate = produceDate; + } + + public String getProductCode() { + return productCode; + } + + public void setProductCode(String productCode) { + this.productCode = productCode; + } + + public String getProductName() { + return productName; + } + + public void setProductName(String productName) { + this.productName = productName; + } + + public String getSnCode() { + return snCode; + } + + public void setSnCode(String snCode) { + this.snCode = snCode; + } + + public String getSupplierId() { + return supplierId; + } + + public void setSupplierId(String supplierId) { + this.supplierId = supplierId; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } + } +} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 4004755..26fd5a9 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -15,6 +15,7 @@ + @@ -87,6 +88,7 @@ + + private val dataRows: MutableList ) : RecyclerView.Adapter() { private var layoutInflater: LayoutInflater = LayoutInflater.from(context) @@ -36,7 +35,7 @@ val rowsModel = dataRows[position] holder.deviceNameView.text = rowsModel.deviceName Glide.with(context) - .load(LocaleConstant.HW_JT_KBZ1) + .load(rowsModel.picUri.combineImagePath()) .apply(RequestOptions.circleCropTransform()) .placeholder(R.mipmap.load_image_error) .into(holder.imageView) @@ -47,9 +46,6 @@ holder.rootView.setOnClickListener { clickListener?.onItemClick(position) } - holder.moreOperateButton.setOnClickListener { - clickListener?.onButtonClick(position) - } } override fun getItemCount(): Int = dataRows.size @@ -58,8 +54,6 @@ interface OnItemClickListener { fun onItemClick(position: Int) - - fun onButtonClick(position: Int) } fun setOnItemClickListener(clickListener: OnItemClickListener?) { @@ -69,7 +63,6 @@ class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { val rootView: LinearLayout = itemView.findViewById(R.id.rootView) val deviceNameView: TextView = itemView.findViewById(R.id.deviceNameView) - val moreOperateButton: Button = itemView.findViewById(R.id.moreOperateButton) val imageView: ImageView = itemView.findViewById(R.id.imageView) val deviceModelView: TextView = itemView.findViewById(R.id.deviceModelView) val deviceUsedTimeView: TextView = itemView.findViewById(R.id.deviceUsedTimeView) diff --git a/app/src/main/java/com/casic/br/extensions/String.kt b/app/src/main/java/com/casic/br/extensions/String.kt index c035c7b..b63113d 100644 --- a/app/src/main/java/com/casic/br/extensions/String.kt +++ b/app/src/main/java/com/casic/br/extensions/String.kt @@ -155,4 +155,18 @@ e.printStackTrace() } return R.drawable.ic_battery_0 +} + +fun String.convertValue(deciPoint: Int): Double { + if (this.isBlank()) { + return 0.0 + } + when (deciPoint) { + 0 -> return this.toDouble() + 1 -> return (this.toDouble()) / 10 + 2 -> return (this.toDouble()) / 100 + 3 -> return (this.toDouble()) / 1000 + 4 -> return (this.toDouble()) / 10000 + } + return this.toDouble() } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index c9f9257..fe1e87d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -11,7 +11,7 @@ import com.casic.br.adapter.RecommendAdapter import com.casic.br.extensions.initLayoutImmersionBar import com.casic.br.extensions.selectCategory -import com.casic.br.model.OtherDeviceModel +import com.casic.br.model.OtherDeviceListModel import com.casic.br.model.RecommendModel import com.casic.br.utils.DeserializeModel import com.casic.br.view.AddDeviceActivity @@ -40,7 +40,7 @@ private lateinit var otherDeviceAdapter: OtherDeviceAdapter private lateinit var deviceViewModel: DeviceViewModel private var dataBeans: MutableList = ArrayList() - private var dataModes: MutableList = ArrayList() + private var dataModes: MutableList = ArrayList() private var isRefresh = false override fun initLayoutView(): Int = R.layout.fragment_device @@ -226,6 +226,12 @@ } else { otherDeviceAdapter = OtherDeviceAdapter(requireContext(), dataModes) otherDeviceRecyclerView.adapter = otherDeviceAdapter + otherDeviceAdapter.setOnItemClickListener(object : + OtherDeviceAdapter.OnItemClickListener { + override fun onItemClick(position: Int) { + requireContext().navigatePageTo(dataModes[position].id) + } + }) } } true diff --git a/app/src/main/java/com/casic/br/model/AddedDeviceModel.java b/app/src/main/java/com/casic/br/model/AddedDeviceModel.java deleted file mode 100644 index b74bb70..0000000 --- a/app/src/main/java/com/casic/br/model/AddedDeviceModel.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.br.model; - -/** - * 已添加设备(Iot和非Iot设备)数据模型 - */ -public class AddedDeviceModel { - private String deviceId; - private String deviceName; - private boolean isOnline; - private String deviceImage; - private String deviceModel; - private String deviceType; - private String deviceUsedTime; - - public String getDeviceId() { - return deviceId; - } - - public void setDeviceId(String deviceId) { - this.deviceId = deviceId; - } - - public String getDeviceName() { - return deviceName; - } - - public void setDeviceName(String deviceName) { - this.deviceName = deviceName; - } - - public boolean isOnline() { - return isOnline; - } - - public void setOnline(boolean online) { - isOnline = online; - } - - public String getDeviceImage() { - return deviceImage; - } - - public void setDeviceImage(String deviceImage) { - this.deviceImage = deviceImage; - } - - public String getDeviceModel() { - return deviceModel; - } - - public void setDeviceModel(String deviceModel) { - this.deviceModel = deviceModel; - } - - public String getDeviceType() { - return deviceType; - } - - public void setDeviceType(String deviceType) { - this.deviceType = deviceType; - } - - public String getDeviceUsedTime() { - return deviceUsedTime; - } - - public void setDeviceUsedTime(String deviceUsedTime) { - this.deviceUsedTime = deviceUsedTime; - } -} diff --git a/app/src/main/java/com/casic/br/model/OtherDeviceListModel.java b/app/src/main/java/com/casic/br/model/OtherDeviceListModel.java new file mode 100644 index 0000000..3058c1f --- /dev/null +++ b/app/src/main/java/com/casic/br/model/OtherDeviceListModel.java @@ -0,0 +1,283 @@ +package com.casic.br.model; + +import java.util.List; + +public class OtherDeviceListModel { + + private int code; + private DataModel data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String brandCode; + private String brandName; + private String createTime; + private int deviceActive; + private String deviceActiveTime; + private String deviceAddress; + private int deviceBindUser; + private String deviceCoreParts; + private String deviceHardwareVersion; + private String deviceId; + private String deviceIp; + private String deviceMac; + private String deviceName; + private String deviceSoftwareVersion; + private int deviceStatus; + private String id; + private int iotDevice; + private String picUri; + private String produceDate; + private String productCode; + private String productName; + private String snCode; + private String supplierId; + private String updateTime; + + public String getBrandCode() { + return brandCode; + } + + public void setBrandCode(String brandCode) { + this.brandCode = brandCode; + } + + public String getBrandName() { + return brandName; + } + + public void setBrandName(String brandName) { + this.brandName = brandName; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public int getDeviceActive() { + return deviceActive; + } + + public void setDeviceActive(int deviceActive) { + this.deviceActive = deviceActive; + } + + public String getDeviceActiveTime() { + return deviceActiveTime; + } + + public void setDeviceActiveTime(String deviceActiveTime) { + this.deviceActiveTime = deviceActiveTime; + } + + public String getDeviceAddress() { + return deviceAddress; + } + + public void setDeviceAddress(String deviceAddress) { + this.deviceAddress = deviceAddress; + } + + public int getDeviceBindUser() { + return deviceBindUser; + } + + public void setDeviceBindUser(int deviceBindUser) { + this.deviceBindUser = deviceBindUser; + } + + public String getDeviceCoreParts() { + return deviceCoreParts; + } + + public void setDeviceCoreParts(String deviceCoreParts) { + this.deviceCoreParts = deviceCoreParts; + } + + public String getDeviceHardwareVersion() { + return deviceHardwareVersion; + } + + public void setDeviceHardwareVersion(String deviceHardwareVersion) { + this.deviceHardwareVersion = deviceHardwareVersion; + } + + public String getDeviceId() { + return deviceId; + } + + public void setDeviceId(String deviceId) { + this.deviceId = deviceId; + } + + public String getDeviceIp() { + return deviceIp; + } + + public void setDeviceIp(String deviceIp) { + this.deviceIp = deviceIp; + } + + public String getDeviceMac() { + return deviceMac; + } + + public void setDeviceMac(String deviceMac) { + this.deviceMac = deviceMac; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public String getDeviceSoftwareVersion() { + return deviceSoftwareVersion; + } + + public void setDeviceSoftwareVersion(String deviceSoftwareVersion) { + this.deviceSoftwareVersion = deviceSoftwareVersion; + } + + public int getDeviceStatus() { + return deviceStatus; + } + + public void setDeviceStatus(int deviceStatus) { + this.deviceStatus = deviceStatus; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIotDevice() { + return iotDevice; + } + + public void setIotDevice(int iotDevice) { + this.iotDevice = iotDevice; + } + + public String getPicUri() { + return picUri; + } + + public void setPicUri(String picUri) { + this.picUri = picUri; + } + + public String getProduceDate() { + return produceDate; + } + + public void setProduceDate(String produceDate) { + this.produceDate = produceDate; + } + + public String getProductCode() { + return productCode; + } + + public void setProductCode(String productCode) { + this.productCode = productCode; + } + + public String getProductName() { + return productName; + } + + public void setProductName(String productName) { + this.productName = productName; + } + + public String getSnCode() { + return snCode; + } + + public void setSnCode(String snCode) { + this.snCode = snCode; + } + + public String getSupplierId() { + return supplierId; + } + + public void setSupplierId(String supplierId) { + this.supplierId = supplierId; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/br/model/OtherDeviceModel.java b/app/src/main/java/com/casic/br/model/OtherDeviceModel.java index 747a107..8be88b3 100644 --- a/app/src/main/java/com/casic/br/model/OtherDeviceModel.java +++ b/app/src/main/java/com/casic/br/model/OtherDeviceModel.java @@ -1,7 +1,8 @@ package com.casic.br.model; -import java.util.List; - +/** + * 其他设备数据模型 + */ public class OtherDeviceModel { private int code; @@ -42,65 +43,258 @@ } public static class DataModel { - private List rows; - private int total; + private String brandCode; + private String brandName; + private BusinessExtModel businessExt; + private String createTime; + private int deviceActive; + private String deviceActiveTime; + private String deviceAddress; + private int deviceBindUser; + private String deviceCoreParts; + private String deviceHardwareVersion; + private String deviceId; + private String deviceIp; + private String deviceMac; + private String deviceName; + private String deviceSoftwareVersion; + private int deviceStatus; + private String id; + private int iotDevice; + private String picUri; + private String produceDate; + private String productCode; + private String productName; + private String snCode; + private String supplierId; + private String supplierName; + private String updateTime; - public List getRows() { - return rows; + public String getBrandCode() { + return brandCode; } - public void setRows(List rows) { - this.rows = rows; + public void setBrandCode(String brandCode) { + this.brandCode = brandCode; } - public int getTotal() { - return total; + public String getBrandName() { + return brandName; } - public void setTotal(int total) { - this.total = total; + public void setBrandName(String brandName) { + this.brandName = brandName; } - public static class RowsModel { - private String brandCode; - private String brandName; + public BusinessExtModel getBusinessExt() { + return businessExt; + } + + public void setBusinessExt(BusinessExtModel businessExt) { + this.businessExt = businessExt; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public int getDeviceActive() { + return deviceActive; + } + + public void setDeviceActive(int deviceActive) { + this.deviceActive = deviceActive; + } + + public String getDeviceActiveTime() { + return deviceActiveTime; + } + + public void setDeviceActiveTime(String deviceActiveTime) { + this.deviceActiveTime = deviceActiveTime; + } + + public String getDeviceAddress() { + return deviceAddress; + } + + public void setDeviceAddress(String deviceAddress) { + this.deviceAddress = deviceAddress; + } + + public int getDeviceBindUser() { + return deviceBindUser; + } + + public void setDeviceBindUser(int deviceBindUser) { + this.deviceBindUser = deviceBindUser; + } + + public String getDeviceCoreParts() { + return deviceCoreParts; + } + + public void setDeviceCoreParts(String deviceCoreParts) { + this.deviceCoreParts = deviceCoreParts; + } + + public String getDeviceHardwareVersion() { + return deviceHardwareVersion; + } + + public void setDeviceHardwareVersion(String deviceHardwareVersion) { + this.deviceHardwareVersion = deviceHardwareVersion; + } + + public String getDeviceId() { + return deviceId; + } + + public void setDeviceId(String deviceId) { + this.deviceId = deviceId; + } + + public String getDeviceIp() { + return deviceIp; + } + + public void setDeviceIp(String deviceIp) { + this.deviceIp = deviceIp; + } + + public String getDeviceMac() { + return deviceMac; + } + + public void setDeviceMac(String deviceMac) { + this.deviceMac = deviceMac; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public String getDeviceSoftwareVersion() { + return deviceSoftwareVersion; + } + + public void setDeviceSoftwareVersion(String deviceSoftwareVersion) { + this.deviceSoftwareVersion = deviceSoftwareVersion; + } + + public int getDeviceStatus() { + return deviceStatus; + } + + public void setDeviceStatus(int deviceStatus) { + this.deviceStatus = deviceStatus; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIotDevice() { + return iotDevice; + } + + public void setIotDevice(int iotDevice) { + this.iotDevice = iotDevice; + } + + public String getPicUri() { + return picUri; + } + + public void setPicUri(String picUri) { + this.picUri = picUri; + } + + public String getProduceDate() { + return produceDate; + } + + public void setProduceDate(String produceDate) { + this.produceDate = produceDate; + } + + public String getProductCode() { + return productCode; + } + + public void setProductCode(String productCode) { + this.productCode = productCode; + } + + public String getProductName() { + return productName; + } + + public void setProductName(String productName) { + this.productName = productName; + } + + public String getSnCode() { + return snCode; + } + + public void setSnCode(String snCode) { + this.snCode = snCode; + } + + public String getSupplierId() { + return supplierId; + } + + public void setSupplierId(String supplierId) { + this.supplierId = supplierId; + } + + public String getSupplierName() { + return supplierName; + } + + public void setSupplierName(String supplierName) { + this.supplierName = supplierName; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public static class BusinessExtModel { private String createTime; - private int deviceActive; - private String deviceActiveTime; - private String deviceAddress; - private int deviceBindUser; - private String deviceCoreParts; - private String deviceHardwareVersion; + private String deciPoint1; + private String deciPoint2; private String deviceId; - private String deviceIp; - private String deviceMac; - private String deviceName; - private String deviceSoftwareVersion; - private int deviceStatus; private String id; - private int iotDevice; - private String produceDate; - private String productCode; - private String productName; - private String snCode; - private String supplierId; + private String sensorCode1; + private String sensorCode2; + private String sensorType1; + private String sensorType2; + private String sensorVal1; + private String sensorVal2; + private String sensorValUnit1; + private String sensorValUnit2; private String updateTime; - - public String getBrandCode() { - return brandCode; - } - - public void setBrandCode(String brandCode) { - this.brandCode = brandCode; - } - - public String getBrandName() { - return brandName; - } - - public void setBrandName(String brandName) { - this.brandName = brandName; - } + private String workStatus1; + private String workStatus2; public String getCreateTime() { return createTime; @@ -110,52 +304,20 @@ this.createTime = createTime; } - public int getDeviceActive() { - return deviceActive; + public String getDeciPoint1() { + return deciPoint1; } - public void setDeviceActive(int deviceActive) { - this.deviceActive = deviceActive; + public void setDeciPoint1(String deciPoint1) { + this.deciPoint1 = deciPoint1; } - public String getDeviceActiveTime() { - return deviceActiveTime; + public String getDeciPoint2() { + return deciPoint2; } - public void setDeviceActiveTime(String deviceActiveTime) { - this.deviceActiveTime = deviceActiveTime; - } - - public String getDeviceAddress() { - return deviceAddress; - } - - public void setDeviceAddress(String deviceAddress) { - this.deviceAddress = deviceAddress; - } - - public int getDeviceBindUser() { - return deviceBindUser; - } - - public void setDeviceBindUser(int deviceBindUser) { - this.deviceBindUser = deviceBindUser; - } - - public String getDeviceCoreParts() { - return deviceCoreParts; - } - - public void setDeviceCoreParts(String deviceCoreParts) { - this.deviceCoreParts = deviceCoreParts; - } - - public String getDeviceHardwareVersion() { - return deviceHardwareVersion; - } - - public void setDeviceHardwareVersion(String deviceHardwareVersion) { - this.deviceHardwareVersion = deviceHardwareVersion; + public void setDeciPoint2(String deciPoint2) { + this.deciPoint2 = deciPoint2; } public String getDeviceId() { @@ -166,46 +328,6 @@ this.deviceId = deviceId; } - public String getDeviceIp() { - return deviceIp; - } - - public void setDeviceIp(String deviceIp) { - this.deviceIp = deviceIp; - } - - public String getDeviceMac() { - return deviceMac; - } - - public void setDeviceMac(String deviceMac) { - this.deviceMac = deviceMac; - } - - public String getDeviceName() { - return deviceName; - } - - public void setDeviceName(String deviceName) { - this.deviceName = deviceName; - } - - public String getDeviceSoftwareVersion() { - return deviceSoftwareVersion; - } - - public void setDeviceSoftwareVersion(String deviceSoftwareVersion) { - this.deviceSoftwareVersion = deviceSoftwareVersion; - } - - public int getDeviceStatus() { - return deviceStatus; - } - - public void setDeviceStatus(int deviceStatus) { - this.deviceStatus = deviceStatus; - } - public String getId() { return id; } @@ -214,52 +336,68 @@ this.id = id; } - public int getIotDevice() { - return iotDevice; + public String getSensorCode1() { + return sensorCode1; } - public void setIotDevice(int iotDevice) { - this.iotDevice = iotDevice; + public void setSensorCode1(String sensorCode1) { + this.sensorCode1 = sensorCode1; } - public String getProduceDate() { - return produceDate; + public String getSensorCode2() { + return sensorCode2; } - public void setProduceDate(String produceDate) { - this.produceDate = produceDate; + public void setSensorCode2(String sensorCode2) { + this.sensorCode2 = sensorCode2; } - public String getProductCode() { - return productCode; + public String getSensorType1() { + return sensorType1; } - public void setProductCode(String productCode) { - this.productCode = productCode; + public void setSensorType1(String sensorType1) { + this.sensorType1 = sensorType1; } - public String getProductName() { - return productName; + public String getSensorType2() { + return sensorType2; } - public void setProductName(String productName) { - this.productName = productName; + public void setSensorType2(String sensorType2) { + this.sensorType2 = sensorType2; } - public String getSnCode() { - return snCode; + public String getSensorVal1() { + return sensorVal1; } - public void setSnCode(String snCode) { - this.snCode = snCode; + public void setSensorVal1(String sensorVal1) { + this.sensorVal1 = sensorVal1; } - public String getSupplierId() { - return supplierId; + public String getSensorVal2() { + return sensorVal2; } - public void setSupplierId(String supplierId) { - this.supplierId = supplierId; + public void setSensorVal2(String sensorVal2) { + this.sensorVal2 = sensorVal2; + } + + public String getSensorValUnit1() { + return sensorValUnit1; + } + + public void setSensorValUnit1(String sensorValUnit1) { + this.sensorValUnit1 = sensorValUnit1; + } + + public String getSensorValUnit2() { + return sensorValUnit2; + } + + public void setSensorValUnit2(String sensorValUnit2) { + this.sensorValUnit2 = sensorValUnit2; } public String getUpdateTime() { @@ -269,6 +407,22 @@ public void setUpdateTime(String updateTime) { this.updateTime = updateTime; } + + public String getWorkStatus1() { + return workStatus1; + } + + public void setWorkStatus1(String workStatus1) { + this.workStatus1 = workStatus1; + } + + public String getWorkStatus2() { + return workStatus2; + } + + public void setWorkStatus2(String workStatus2) { + this.workStatus2 = workStatus2; + } } } } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 4004755..26fd5a9 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -15,6 +15,7 @@ + @@ -87,6 +88,7 @@ + + private val dataRows: MutableList ) : RecyclerView.Adapter() { private var layoutInflater: LayoutInflater = LayoutInflater.from(context) @@ -36,7 +35,7 @@ val rowsModel = dataRows[position] holder.deviceNameView.text = rowsModel.deviceName Glide.with(context) - .load(LocaleConstant.HW_JT_KBZ1) + .load(rowsModel.picUri.combineImagePath()) .apply(RequestOptions.circleCropTransform()) .placeholder(R.mipmap.load_image_error) .into(holder.imageView) @@ -47,9 +46,6 @@ holder.rootView.setOnClickListener { clickListener?.onItemClick(position) } - holder.moreOperateButton.setOnClickListener { - clickListener?.onButtonClick(position) - } } override fun getItemCount(): Int = dataRows.size @@ -58,8 +54,6 @@ interface OnItemClickListener { fun onItemClick(position: Int) - - fun onButtonClick(position: Int) } fun setOnItemClickListener(clickListener: OnItemClickListener?) { @@ -69,7 +63,6 @@ class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { val rootView: LinearLayout = itemView.findViewById(R.id.rootView) val deviceNameView: TextView = itemView.findViewById(R.id.deviceNameView) - val moreOperateButton: Button = itemView.findViewById(R.id.moreOperateButton) val imageView: ImageView = itemView.findViewById(R.id.imageView) val deviceModelView: TextView = itemView.findViewById(R.id.deviceModelView) val deviceUsedTimeView: TextView = itemView.findViewById(R.id.deviceUsedTimeView) diff --git a/app/src/main/java/com/casic/br/extensions/String.kt b/app/src/main/java/com/casic/br/extensions/String.kt index c035c7b..b63113d 100644 --- a/app/src/main/java/com/casic/br/extensions/String.kt +++ b/app/src/main/java/com/casic/br/extensions/String.kt @@ -155,4 +155,18 @@ e.printStackTrace() } return R.drawable.ic_battery_0 +} + +fun String.convertValue(deciPoint: Int): Double { + if (this.isBlank()) { + return 0.0 + } + when (deciPoint) { + 0 -> return this.toDouble() + 1 -> return (this.toDouble()) / 10 + 2 -> return (this.toDouble()) / 100 + 3 -> return (this.toDouble()) / 1000 + 4 -> return (this.toDouble()) / 10000 + } + return this.toDouble() } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index c9f9257..fe1e87d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -11,7 +11,7 @@ import com.casic.br.adapter.RecommendAdapter import com.casic.br.extensions.initLayoutImmersionBar import com.casic.br.extensions.selectCategory -import com.casic.br.model.OtherDeviceModel +import com.casic.br.model.OtherDeviceListModel import com.casic.br.model.RecommendModel import com.casic.br.utils.DeserializeModel import com.casic.br.view.AddDeviceActivity @@ -40,7 +40,7 @@ private lateinit var otherDeviceAdapter: OtherDeviceAdapter private lateinit var deviceViewModel: DeviceViewModel private var dataBeans: MutableList = ArrayList() - private var dataModes: MutableList = ArrayList() + private var dataModes: MutableList = ArrayList() private var isRefresh = false override fun initLayoutView(): Int = R.layout.fragment_device @@ -226,6 +226,12 @@ } else { otherDeviceAdapter = OtherDeviceAdapter(requireContext(), dataModes) otherDeviceRecyclerView.adapter = otherDeviceAdapter + otherDeviceAdapter.setOnItemClickListener(object : + OtherDeviceAdapter.OnItemClickListener { + override fun onItemClick(position: Int) { + requireContext().navigatePageTo(dataModes[position].id) + } + }) } } true diff --git a/app/src/main/java/com/casic/br/model/AddedDeviceModel.java b/app/src/main/java/com/casic/br/model/AddedDeviceModel.java deleted file mode 100644 index b74bb70..0000000 --- a/app/src/main/java/com/casic/br/model/AddedDeviceModel.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.br.model; - -/** - * 已添加设备(Iot和非Iot设备)数据模型 - */ -public class AddedDeviceModel { - private String deviceId; - private String deviceName; - private boolean isOnline; - private String deviceImage; - private String deviceModel; - private String deviceType; - private String deviceUsedTime; - - public String getDeviceId() { - return deviceId; - } - - public void setDeviceId(String deviceId) { - this.deviceId = deviceId; - } - - public String getDeviceName() { - return deviceName; - } - - public void setDeviceName(String deviceName) { - this.deviceName = deviceName; - } - - public boolean isOnline() { - return isOnline; - } - - public void setOnline(boolean online) { - isOnline = online; - } - - public String getDeviceImage() { - return deviceImage; - } - - public void setDeviceImage(String deviceImage) { - this.deviceImage = deviceImage; - } - - public String getDeviceModel() { - return deviceModel; - } - - public void setDeviceModel(String deviceModel) { - this.deviceModel = deviceModel; - } - - public String getDeviceType() { - return deviceType; - } - - public void setDeviceType(String deviceType) { - this.deviceType = deviceType; - } - - public String getDeviceUsedTime() { - return deviceUsedTime; - } - - public void setDeviceUsedTime(String deviceUsedTime) { - this.deviceUsedTime = deviceUsedTime; - } -} diff --git a/app/src/main/java/com/casic/br/model/OtherDeviceListModel.java b/app/src/main/java/com/casic/br/model/OtherDeviceListModel.java new file mode 100644 index 0000000..3058c1f --- /dev/null +++ b/app/src/main/java/com/casic/br/model/OtherDeviceListModel.java @@ -0,0 +1,283 @@ +package com.casic.br.model; + +import java.util.List; + +public class OtherDeviceListModel { + + private int code; + private DataModel data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String brandCode; + private String brandName; + private String createTime; + private int deviceActive; + private String deviceActiveTime; + private String deviceAddress; + private int deviceBindUser; + private String deviceCoreParts; + private String deviceHardwareVersion; + private String deviceId; + private String deviceIp; + private String deviceMac; + private String deviceName; + private String deviceSoftwareVersion; + private int deviceStatus; + private String id; + private int iotDevice; + private String picUri; + private String produceDate; + private String productCode; + private String productName; + private String snCode; + private String supplierId; + private String updateTime; + + public String getBrandCode() { + return brandCode; + } + + public void setBrandCode(String brandCode) { + this.brandCode = brandCode; + } + + public String getBrandName() { + return brandName; + } + + public void setBrandName(String brandName) { + this.brandName = brandName; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public int getDeviceActive() { + return deviceActive; + } + + public void setDeviceActive(int deviceActive) { + this.deviceActive = deviceActive; + } + + public String getDeviceActiveTime() { + return deviceActiveTime; + } + + public void setDeviceActiveTime(String deviceActiveTime) { + this.deviceActiveTime = deviceActiveTime; + } + + public String getDeviceAddress() { + return deviceAddress; + } + + public void setDeviceAddress(String deviceAddress) { + this.deviceAddress = deviceAddress; + } + + public int getDeviceBindUser() { + return deviceBindUser; + } + + public void setDeviceBindUser(int deviceBindUser) { + this.deviceBindUser = deviceBindUser; + } + + public String getDeviceCoreParts() { + return deviceCoreParts; + } + + public void setDeviceCoreParts(String deviceCoreParts) { + this.deviceCoreParts = deviceCoreParts; + } + + public String getDeviceHardwareVersion() { + return deviceHardwareVersion; + } + + public void setDeviceHardwareVersion(String deviceHardwareVersion) { + this.deviceHardwareVersion = deviceHardwareVersion; + } + + public String getDeviceId() { + return deviceId; + } + + public void setDeviceId(String deviceId) { + this.deviceId = deviceId; + } + + public String getDeviceIp() { + return deviceIp; + } + + public void setDeviceIp(String deviceIp) { + this.deviceIp = deviceIp; + } + + public String getDeviceMac() { + return deviceMac; + } + + public void setDeviceMac(String deviceMac) { + this.deviceMac = deviceMac; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public String getDeviceSoftwareVersion() { + return deviceSoftwareVersion; + } + + public void setDeviceSoftwareVersion(String deviceSoftwareVersion) { + this.deviceSoftwareVersion = deviceSoftwareVersion; + } + + public int getDeviceStatus() { + return deviceStatus; + } + + public void setDeviceStatus(int deviceStatus) { + this.deviceStatus = deviceStatus; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIotDevice() { + return iotDevice; + } + + public void setIotDevice(int iotDevice) { + this.iotDevice = iotDevice; + } + + public String getPicUri() { + return picUri; + } + + public void setPicUri(String picUri) { + this.picUri = picUri; + } + + public String getProduceDate() { + return produceDate; + } + + public void setProduceDate(String produceDate) { + this.produceDate = produceDate; + } + + public String getProductCode() { + return productCode; + } + + public void setProductCode(String productCode) { + this.productCode = productCode; + } + + public String getProductName() { + return productName; + } + + public void setProductName(String productName) { + this.productName = productName; + } + + public String getSnCode() { + return snCode; + } + + public void setSnCode(String snCode) { + this.snCode = snCode; + } + + public String getSupplierId() { + return supplierId; + } + + public void setSupplierId(String supplierId) { + this.supplierId = supplierId; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/br/model/OtherDeviceModel.java b/app/src/main/java/com/casic/br/model/OtherDeviceModel.java index 747a107..8be88b3 100644 --- a/app/src/main/java/com/casic/br/model/OtherDeviceModel.java +++ b/app/src/main/java/com/casic/br/model/OtherDeviceModel.java @@ -1,7 +1,8 @@ package com.casic.br.model; -import java.util.List; - +/** + * 其他设备数据模型 + */ public class OtherDeviceModel { private int code; @@ -42,65 +43,258 @@ } public static class DataModel { - private List rows; - private int total; + private String brandCode; + private String brandName; + private BusinessExtModel businessExt; + private String createTime; + private int deviceActive; + private String deviceActiveTime; + private String deviceAddress; + private int deviceBindUser; + private String deviceCoreParts; + private String deviceHardwareVersion; + private String deviceId; + private String deviceIp; + private String deviceMac; + private String deviceName; + private String deviceSoftwareVersion; + private int deviceStatus; + private String id; + private int iotDevice; + private String picUri; + private String produceDate; + private String productCode; + private String productName; + private String snCode; + private String supplierId; + private String supplierName; + private String updateTime; - public List getRows() { - return rows; + public String getBrandCode() { + return brandCode; } - public void setRows(List rows) { - this.rows = rows; + public void setBrandCode(String brandCode) { + this.brandCode = brandCode; } - public int getTotal() { - return total; + public String getBrandName() { + return brandName; } - public void setTotal(int total) { - this.total = total; + public void setBrandName(String brandName) { + this.brandName = brandName; } - public static class RowsModel { - private String brandCode; - private String brandName; + public BusinessExtModel getBusinessExt() { + return businessExt; + } + + public void setBusinessExt(BusinessExtModel businessExt) { + this.businessExt = businessExt; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public int getDeviceActive() { + return deviceActive; + } + + public void setDeviceActive(int deviceActive) { + this.deviceActive = deviceActive; + } + + public String getDeviceActiveTime() { + return deviceActiveTime; + } + + public void setDeviceActiveTime(String deviceActiveTime) { + this.deviceActiveTime = deviceActiveTime; + } + + public String getDeviceAddress() { + return deviceAddress; + } + + public void setDeviceAddress(String deviceAddress) { + this.deviceAddress = deviceAddress; + } + + public int getDeviceBindUser() { + return deviceBindUser; + } + + public void setDeviceBindUser(int deviceBindUser) { + this.deviceBindUser = deviceBindUser; + } + + public String getDeviceCoreParts() { + return deviceCoreParts; + } + + public void setDeviceCoreParts(String deviceCoreParts) { + this.deviceCoreParts = deviceCoreParts; + } + + public String getDeviceHardwareVersion() { + return deviceHardwareVersion; + } + + public void setDeviceHardwareVersion(String deviceHardwareVersion) { + this.deviceHardwareVersion = deviceHardwareVersion; + } + + public String getDeviceId() { + return deviceId; + } + + public void setDeviceId(String deviceId) { + this.deviceId = deviceId; + } + + public String getDeviceIp() { + return deviceIp; + } + + public void setDeviceIp(String deviceIp) { + this.deviceIp = deviceIp; + } + + public String getDeviceMac() { + return deviceMac; + } + + public void setDeviceMac(String deviceMac) { + this.deviceMac = deviceMac; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public String getDeviceSoftwareVersion() { + return deviceSoftwareVersion; + } + + public void setDeviceSoftwareVersion(String deviceSoftwareVersion) { + this.deviceSoftwareVersion = deviceSoftwareVersion; + } + + public int getDeviceStatus() { + return deviceStatus; + } + + public void setDeviceStatus(int deviceStatus) { + this.deviceStatus = deviceStatus; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIotDevice() { + return iotDevice; + } + + public void setIotDevice(int iotDevice) { + this.iotDevice = iotDevice; + } + + public String getPicUri() { + return picUri; + } + + public void setPicUri(String picUri) { + this.picUri = picUri; + } + + public String getProduceDate() { + return produceDate; + } + + public void setProduceDate(String produceDate) { + this.produceDate = produceDate; + } + + public String getProductCode() { + return productCode; + } + + public void setProductCode(String productCode) { + this.productCode = productCode; + } + + public String getProductName() { + return productName; + } + + public void setProductName(String productName) { + this.productName = productName; + } + + public String getSnCode() { + return snCode; + } + + public void setSnCode(String snCode) { + this.snCode = snCode; + } + + public String getSupplierId() { + return supplierId; + } + + public void setSupplierId(String supplierId) { + this.supplierId = supplierId; + } + + public String getSupplierName() { + return supplierName; + } + + public void setSupplierName(String supplierName) { + this.supplierName = supplierName; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public static class BusinessExtModel { private String createTime; - private int deviceActive; - private String deviceActiveTime; - private String deviceAddress; - private int deviceBindUser; - private String deviceCoreParts; - private String deviceHardwareVersion; + private String deciPoint1; + private String deciPoint2; private String deviceId; - private String deviceIp; - private String deviceMac; - private String deviceName; - private String deviceSoftwareVersion; - private int deviceStatus; private String id; - private int iotDevice; - private String produceDate; - private String productCode; - private String productName; - private String snCode; - private String supplierId; + private String sensorCode1; + private String sensorCode2; + private String sensorType1; + private String sensorType2; + private String sensorVal1; + private String sensorVal2; + private String sensorValUnit1; + private String sensorValUnit2; private String updateTime; - - public String getBrandCode() { - return brandCode; - } - - public void setBrandCode(String brandCode) { - this.brandCode = brandCode; - } - - public String getBrandName() { - return brandName; - } - - public void setBrandName(String brandName) { - this.brandName = brandName; - } + private String workStatus1; + private String workStatus2; public String getCreateTime() { return createTime; @@ -110,52 +304,20 @@ this.createTime = createTime; } - public int getDeviceActive() { - return deviceActive; + public String getDeciPoint1() { + return deciPoint1; } - public void setDeviceActive(int deviceActive) { - this.deviceActive = deviceActive; + public void setDeciPoint1(String deciPoint1) { + this.deciPoint1 = deciPoint1; } - public String getDeviceActiveTime() { - return deviceActiveTime; + public String getDeciPoint2() { + return deciPoint2; } - public void setDeviceActiveTime(String deviceActiveTime) { - this.deviceActiveTime = deviceActiveTime; - } - - public String getDeviceAddress() { - return deviceAddress; - } - - public void setDeviceAddress(String deviceAddress) { - this.deviceAddress = deviceAddress; - } - - public int getDeviceBindUser() { - return deviceBindUser; - } - - public void setDeviceBindUser(int deviceBindUser) { - this.deviceBindUser = deviceBindUser; - } - - public String getDeviceCoreParts() { - return deviceCoreParts; - } - - public void setDeviceCoreParts(String deviceCoreParts) { - this.deviceCoreParts = deviceCoreParts; - } - - public String getDeviceHardwareVersion() { - return deviceHardwareVersion; - } - - public void setDeviceHardwareVersion(String deviceHardwareVersion) { - this.deviceHardwareVersion = deviceHardwareVersion; + public void setDeciPoint2(String deciPoint2) { + this.deciPoint2 = deciPoint2; } public String getDeviceId() { @@ -166,46 +328,6 @@ this.deviceId = deviceId; } - public String getDeviceIp() { - return deviceIp; - } - - public void setDeviceIp(String deviceIp) { - this.deviceIp = deviceIp; - } - - public String getDeviceMac() { - return deviceMac; - } - - public void setDeviceMac(String deviceMac) { - this.deviceMac = deviceMac; - } - - public String getDeviceName() { - return deviceName; - } - - public void setDeviceName(String deviceName) { - this.deviceName = deviceName; - } - - public String getDeviceSoftwareVersion() { - return deviceSoftwareVersion; - } - - public void setDeviceSoftwareVersion(String deviceSoftwareVersion) { - this.deviceSoftwareVersion = deviceSoftwareVersion; - } - - public int getDeviceStatus() { - return deviceStatus; - } - - public void setDeviceStatus(int deviceStatus) { - this.deviceStatus = deviceStatus; - } - public String getId() { return id; } @@ -214,52 +336,68 @@ this.id = id; } - public int getIotDevice() { - return iotDevice; + public String getSensorCode1() { + return sensorCode1; } - public void setIotDevice(int iotDevice) { - this.iotDevice = iotDevice; + public void setSensorCode1(String sensorCode1) { + this.sensorCode1 = sensorCode1; } - public String getProduceDate() { - return produceDate; + public String getSensorCode2() { + return sensorCode2; } - public void setProduceDate(String produceDate) { - this.produceDate = produceDate; + public void setSensorCode2(String sensorCode2) { + this.sensorCode2 = sensorCode2; } - public String getProductCode() { - return productCode; + public String getSensorType1() { + return sensorType1; } - public void setProductCode(String productCode) { - this.productCode = productCode; + public void setSensorType1(String sensorType1) { + this.sensorType1 = sensorType1; } - public String getProductName() { - return productName; + public String getSensorType2() { + return sensorType2; } - public void setProductName(String productName) { - this.productName = productName; + public void setSensorType2(String sensorType2) { + this.sensorType2 = sensorType2; } - public String getSnCode() { - return snCode; + public String getSensorVal1() { + return sensorVal1; } - public void setSnCode(String snCode) { - this.snCode = snCode; + public void setSensorVal1(String sensorVal1) { + this.sensorVal1 = sensorVal1; } - public String getSupplierId() { - return supplierId; + public String getSensorVal2() { + return sensorVal2; } - public void setSupplierId(String supplierId) { - this.supplierId = supplierId; + public void setSensorVal2(String sensorVal2) { + this.sensorVal2 = sensorVal2; + } + + public String getSensorValUnit1() { + return sensorValUnit1; + } + + public void setSensorValUnit1(String sensorValUnit1) { + this.sensorValUnit1 = sensorValUnit1; + } + + public String getSensorValUnit2() { + return sensorValUnit2; + } + + public void setSensorValUnit2(String sensorValUnit2) { + this.sensorValUnit2 = sensorValUnit2; } public String getUpdateTime() { @@ -269,6 +407,22 @@ public void setUpdateTime(String updateTime) { this.updateTime = updateTime; } + + public String getWorkStatus1() { + return workStatus1; + } + + public void setWorkStatus1(String workStatus1) { + this.workStatus1 = workStatus1; + } + + public String getWorkStatus2() { + return workStatus2; + } + + public void setWorkStatus2(String workStatus2) { + this.workStatus2 = workStatus2; + } } } } diff --git a/app/src/main/java/com/casic/br/utils/LocaleConstant.kt b/app/src/main/java/com/casic/br/utils/LocaleConstant.kt index 9a1c919..9a05cee 100644 --- a/app/src/main/java/com/casic/br/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/br/utils/LocaleConstant.kt @@ -13,9 +13,9 @@ val USER_PERMISSIONS = arrayOf( Manifest.permission.ACCESS_LOCATION_EXTRA_COMMANDS, Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION, - Manifest.permission.CAMERA, Manifest.permission.READ_EXTERNAL_STORAGE, - Manifest.permission.READ_PHONE_STATE, Manifest.permission.BLUETOOTH, - Manifest.permission.BLUETOOTH_ADMIN + Manifest.permission.CAMERA, Manifest.permission.BLUETOOTH_ADMIN, + Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, + Manifest.permission.READ_PHONE_STATE, Manifest.permission.BLUETOOTH ) val SHOP_IMAGE = intArrayOf( R.drawable.ic_gouwuche, R.drawable.ic_dingdan, R.drawable.ic_shouhou @@ -104,5 +104,4 @@ const val WIFI_PASSWORD = "wifiPassword" const val ACCOUNT = "account" const val PASSWORD = "password" - const val HW_JT_KBZ1 = "https://www.hanwei.cn/wp-content/uploads/2022/04/JT-KBZ1.png" } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 4004755..26fd5a9 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -15,6 +15,7 @@ + @@ -87,6 +88,7 @@ + + private val dataRows: MutableList ) : RecyclerView.Adapter() { private var layoutInflater: LayoutInflater = LayoutInflater.from(context) @@ -36,7 +35,7 @@ val rowsModel = dataRows[position] holder.deviceNameView.text = rowsModel.deviceName Glide.with(context) - .load(LocaleConstant.HW_JT_KBZ1) + .load(rowsModel.picUri.combineImagePath()) .apply(RequestOptions.circleCropTransform()) .placeholder(R.mipmap.load_image_error) .into(holder.imageView) @@ -47,9 +46,6 @@ holder.rootView.setOnClickListener { clickListener?.onItemClick(position) } - holder.moreOperateButton.setOnClickListener { - clickListener?.onButtonClick(position) - } } override fun getItemCount(): Int = dataRows.size @@ -58,8 +54,6 @@ interface OnItemClickListener { fun onItemClick(position: Int) - - fun onButtonClick(position: Int) } fun setOnItemClickListener(clickListener: OnItemClickListener?) { @@ -69,7 +63,6 @@ class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { val rootView: LinearLayout = itemView.findViewById(R.id.rootView) val deviceNameView: TextView = itemView.findViewById(R.id.deviceNameView) - val moreOperateButton: Button = itemView.findViewById(R.id.moreOperateButton) val imageView: ImageView = itemView.findViewById(R.id.imageView) val deviceModelView: TextView = itemView.findViewById(R.id.deviceModelView) val deviceUsedTimeView: TextView = itemView.findViewById(R.id.deviceUsedTimeView) diff --git a/app/src/main/java/com/casic/br/extensions/String.kt b/app/src/main/java/com/casic/br/extensions/String.kt index c035c7b..b63113d 100644 --- a/app/src/main/java/com/casic/br/extensions/String.kt +++ b/app/src/main/java/com/casic/br/extensions/String.kt @@ -155,4 +155,18 @@ e.printStackTrace() } return R.drawable.ic_battery_0 +} + +fun String.convertValue(deciPoint: Int): Double { + if (this.isBlank()) { + return 0.0 + } + when (deciPoint) { + 0 -> return this.toDouble() + 1 -> return (this.toDouble()) / 10 + 2 -> return (this.toDouble()) / 100 + 3 -> return (this.toDouble()) / 1000 + 4 -> return (this.toDouble()) / 10000 + } + return this.toDouble() } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index c9f9257..fe1e87d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -11,7 +11,7 @@ import com.casic.br.adapter.RecommendAdapter import com.casic.br.extensions.initLayoutImmersionBar import com.casic.br.extensions.selectCategory -import com.casic.br.model.OtherDeviceModel +import com.casic.br.model.OtherDeviceListModel import com.casic.br.model.RecommendModel import com.casic.br.utils.DeserializeModel import com.casic.br.view.AddDeviceActivity @@ -40,7 +40,7 @@ private lateinit var otherDeviceAdapter: OtherDeviceAdapter private lateinit var deviceViewModel: DeviceViewModel private var dataBeans: MutableList = ArrayList() - private var dataModes: MutableList = ArrayList() + private var dataModes: MutableList = ArrayList() private var isRefresh = false override fun initLayoutView(): Int = R.layout.fragment_device @@ -226,6 +226,12 @@ } else { otherDeviceAdapter = OtherDeviceAdapter(requireContext(), dataModes) otherDeviceRecyclerView.adapter = otherDeviceAdapter + otherDeviceAdapter.setOnItemClickListener(object : + OtherDeviceAdapter.OnItemClickListener { + override fun onItemClick(position: Int) { + requireContext().navigatePageTo(dataModes[position].id) + } + }) } } true diff --git a/app/src/main/java/com/casic/br/model/AddedDeviceModel.java b/app/src/main/java/com/casic/br/model/AddedDeviceModel.java deleted file mode 100644 index b74bb70..0000000 --- a/app/src/main/java/com/casic/br/model/AddedDeviceModel.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.br.model; - -/** - * 已添加设备(Iot和非Iot设备)数据模型 - */ -public class AddedDeviceModel { - private String deviceId; - private String deviceName; - private boolean isOnline; - private String deviceImage; - private String deviceModel; - private String deviceType; - private String deviceUsedTime; - - public String getDeviceId() { - return deviceId; - } - - public void setDeviceId(String deviceId) { - this.deviceId = deviceId; - } - - public String getDeviceName() { - return deviceName; - } - - public void setDeviceName(String deviceName) { - this.deviceName = deviceName; - } - - public boolean isOnline() { - return isOnline; - } - - public void setOnline(boolean online) { - isOnline = online; - } - - public String getDeviceImage() { - return deviceImage; - } - - public void setDeviceImage(String deviceImage) { - this.deviceImage = deviceImage; - } - - public String getDeviceModel() { - return deviceModel; - } - - public void setDeviceModel(String deviceModel) { - this.deviceModel = deviceModel; - } - - public String getDeviceType() { - return deviceType; - } - - public void setDeviceType(String deviceType) { - this.deviceType = deviceType; - } - - public String getDeviceUsedTime() { - return deviceUsedTime; - } - - public void setDeviceUsedTime(String deviceUsedTime) { - this.deviceUsedTime = deviceUsedTime; - } -} diff --git a/app/src/main/java/com/casic/br/model/OtherDeviceListModel.java b/app/src/main/java/com/casic/br/model/OtherDeviceListModel.java new file mode 100644 index 0000000..3058c1f --- /dev/null +++ b/app/src/main/java/com/casic/br/model/OtherDeviceListModel.java @@ -0,0 +1,283 @@ +package com.casic.br.model; + +import java.util.List; + +public class OtherDeviceListModel { + + private int code; + private DataModel data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String brandCode; + private String brandName; + private String createTime; + private int deviceActive; + private String deviceActiveTime; + private String deviceAddress; + private int deviceBindUser; + private String deviceCoreParts; + private String deviceHardwareVersion; + private String deviceId; + private String deviceIp; + private String deviceMac; + private String deviceName; + private String deviceSoftwareVersion; + private int deviceStatus; + private String id; + private int iotDevice; + private String picUri; + private String produceDate; + private String productCode; + private String productName; + private String snCode; + private String supplierId; + private String updateTime; + + public String getBrandCode() { + return brandCode; + } + + public void setBrandCode(String brandCode) { + this.brandCode = brandCode; + } + + public String getBrandName() { + return brandName; + } + + public void setBrandName(String brandName) { + this.brandName = brandName; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public int getDeviceActive() { + return deviceActive; + } + + public void setDeviceActive(int deviceActive) { + this.deviceActive = deviceActive; + } + + public String getDeviceActiveTime() { + return deviceActiveTime; + } + + public void setDeviceActiveTime(String deviceActiveTime) { + this.deviceActiveTime = deviceActiveTime; + } + + public String getDeviceAddress() { + return deviceAddress; + } + + public void setDeviceAddress(String deviceAddress) { + this.deviceAddress = deviceAddress; + } + + public int getDeviceBindUser() { + return deviceBindUser; + } + + public void setDeviceBindUser(int deviceBindUser) { + this.deviceBindUser = deviceBindUser; + } + + public String getDeviceCoreParts() { + return deviceCoreParts; + } + + public void setDeviceCoreParts(String deviceCoreParts) { + this.deviceCoreParts = deviceCoreParts; + } + + public String getDeviceHardwareVersion() { + return deviceHardwareVersion; + } + + public void setDeviceHardwareVersion(String deviceHardwareVersion) { + this.deviceHardwareVersion = deviceHardwareVersion; + } + + public String getDeviceId() { + return deviceId; + } + + public void setDeviceId(String deviceId) { + this.deviceId = deviceId; + } + + public String getDeviceIp() { + return deviceIp; + } + + public void setDeviceIp(String deviceIp) { + this.deviceIp = deviceIp; + } + + public String getDeviceMac() { + return deviceMac; + } + + public void setDeviceMac(String deviceMac) { + this.deviceMac = deviceMac; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public String getDeviceSoftwareVersion() { + return deviceSoftwareVersion; + } + + public void setDeviceSoftwareVersion(String deviceSoftwareVersion) { + this.deviceSoftwareVersion = deviceSoftwareVersion; + } + + public int getDeviceStatus() { + return deviceStatus; + } + + public void setDeviceStatus(int deviceStatus) { + this.deviceStatus = deviceStatus; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIotDevice() { + return iotDevice; + } + + public void setIotDevice(int iotDevice) { + this.iotDevice = iotDevice; + } + + public String getPicUri() { + return picUri; + } + + public void setPicUri(String picUri) { + this.picUri = picUri; + } + + public String getProduceDate() { + return produceDate; + } + + public void setProduceDate(String produceDate) { + this.produceDate = produceDate; + } + + public String getProductCode() { + return productCode; + } + + public void setProductCode(String productCode) { + this.productCode = productCode; + } + + public String getProductName() { + return productName; + } + + public void setProductName(String productName) { + this.productName = productName; + } + + public String getSnCode() { + return snCode; + } + + public void setSnCode(String snCode) { + this.snCode = snCode; + } + + public String getSupplierId() { + return supplierId; + } + + public void setSupplierId(String supplierId) { + this.supplierId = supplierId; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/br/model/OtherDeviceModel.java b/app/src/main/java/com/casic/br/model/OtherDeviceModel.java index 747a107..8be88b3 100644 --- a/app/src/main/java/com/casic/br/model/OtherDeviceModel.java +++ b/app/src/main/java/com/casic/br/model/OtherDeviceModel.java @@ -1,7 +1,8 @@ package com.casic.br.model; -import java.util.List; - +/** + * 其他设备数据模型 + */ public class OtherDeviceModel { private int code; @@ -42,65 +43,258 @@ } public static class DataModel { - private List rows; - private int total; + private String brandCode; + private String brandName; + private BusinessExtModel businessExt; + private String createTime; + private int deviceActive; + private String deviceActiveTime; + private String deviceAddress; + private int deviceBindUser; + private String deviceCoreParts; + private String deviceHardwareVersion; + private String deviceId; + private String deviceIp; + private String deviceMac; + private String deviceName; + private String deviceSoftwareVersion; + private int deviceStatus; + private String id; + private int iotDevice; + private String picUri; + private String produceDate; + private String productCode; + private String productName; + private String snCode; + private String supplierId; + private String supplierName; + private String updateTime; - public List getRows() { - return rows; + public String getBrandCode() { + return brandCode; } - public void setRows(List rows) { - this.rows = rows; + public void setBrandCode(String brandCode) { + this.brandCode = brandCode; } - public int getTotal() { - return total; + public String getBrandName() { + return brandName; } - public void setTotal(int total) { - this.total = total; + public void setBrandName(String brandName) { + this.brandName = brandName; } - public static class RowsModel { - private String brandCode; - private String brandName; + public BusinessExtModel getBusinessExt() { + return businessExt; + } + + public void setBusinessExt(BusinessExtModel businessExt) { + this.businessExt = businessExt; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public int getDeviceActive() { + return deviceActive; + } + + public void setDeviceActive(int deviceActive) { + this.deviceActive = deviceActive; + } + + public String getDeviceActiveTime() { + return deviceActiveTime; + } + + public void setDeviceActiveTime(String deviceActiveTime) { + this.deviceActiveTime = deviceActiveTime; + } + + public String getDeviceAddress() { + return deviceAddress; + } + + public void setDeviceAddress(String deviceAddress) { + this.deviceAddress = deviceAddress; + } + + public int getDeviceBindUser() { + return deviceBindUser; + } + + public void setDeviceBindUser(int deviceBindUser) { + this.deviceBindUser = deviceBindUser; + } + + public String getDeviceCoreParts() { + return deviceCoreParts; + } + + public void setDeviceCoreParts(String deviceCoreParts) { + this.deviceCoreParts = deviceCoreParts; + } + + public String getDeviceHardwareVersion() { + return deviceHardwareVersion; + } + + public void setDeviceHardwareVersion(String deviceHardwareVersion) { + this.deviceHardwareVersion = deviceHardwareVersion; + } + + public String getDeviceId() { + return deviceId; + } + + public void setDeviceId(String deviceId) { + this.deviceId = deviceId; + } + + public String getDeviceIp() { + return deviceIp; + } + + public void setDeviceIp(String deviceIp) { + this.deviceIp = deviceIp; + } + + public String getDeviceMac() { + return deviceMac; + } + + public void setDeviceMac(String deviceMac) { + this.deviceMac = deviceMac; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public String getDeviceSoftwareVersion() { + return deviceSoftwareVersion; + } + + public void setDeviceSoftwareVersion(String deviceSoftwareVersion) { + this.deviceSoftwareVersion = deviceSoftwareVersion; + } + + public int getDeviceStatus() { + return deviceStatus; + } + + public void setDeviceStatus(int deviceStatus) { + this.deviceStatus = deviceStatus; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIotDevice() { + return iotDevice; + } + + public void setIotDevice(int iotDevice) { + this.iotDevice = iotDevice; + } + + public String getPicUri() { + return picUri; + } + + public void setPicUri(String picUri) { + this.picUri = picUri; + } + + public String getProduceDate() { + return produceDate; + } + + public void setProduceDate(String produceDate) { + this.produceDate = produceDate; + } + + public String getProductCode() { + return productCode; + } + + public void setProductCode(String productCode) { + this.productCode = productCode; + } + + public String getProductName() { + return productName; + } + + public void setProductName(String productName) { + this.productName = productName; + } + + public String getSnCode() { + return snCode; + } + + public void setSnCode(String snCode) { + this.snCode = snCode; + } + + public String getSupplierId() { + return supplierId; + } + + public void setSupplierId(String supplierId) { + this.supplierId = supplierId; + } + + public String getSupplierName() { + return supplierName; + } + + public void setSupplierName(String supplierName) { + this.supplierName = supplierName; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public static class BusinessExtModel { private String createTime; - private int deviceActive; - private String deviceActiveTime; - private String deviceAddress; - private int deviceBindUser; - private String deviceCoreParts; - private String deviceHardwareVersion; + private String deciPoint1; + private String deciPoint2; private String deviceId; - private String deviceIp; - private String deviceMac; - private String deviceName; - private String deviceSoftwareVersion; - private int deviceStatus; private String id; - private int iotDevice; - private String produceDate; - private String productCode; - private String productName; - private String snCode; - private String supplierId; + private String sensorCode1; + private String sensorCode2; + private String sensorType1; + private String sensorType2; + private String sensorVal1; + private String sensorVal2; + private String sensorValUnit1; + private String sensorValUnit2; private String updateTime; - - public String getBrandCode() { - return brandCode; - } - - public void setBrandCode(String brandCode) { - this.brandCode = brandCode; - } - - public String getBrandName() { - return brandName; - } - - public void setBrandName(String brandName) { - this.brandName = brandName; - } + private String workStatus1; + private String workStatus2; public String getCreateTime() { return createTime; @@ -110,52 +304,20 @@ this.createTime = createTime; } - public int getDeviceActive() { - return deviceActive; + public String getDeciPoint1() { + return deciPoint1; } - public void setDeviceActive(int deviceActive) { - this.deviceActive = deviceActive; + public void setDeciPoint1(String deciPoint1) { + this.deciPoint1 = deciPoint1; } - public String getDeviceActiveTime() { - return deviceActiveTime; + public String getDeciPoint2() { + return deciPoint2; } - public void setDeviceActiveTime(String deviceActiveTime) { - this.deviceActiveTime = deviceActiveTime; - } - - public String getDeviceAddress() { - return deviceAddress; - } - - public void setDeviceAddress(String deviceAddress) { - this.deviceAddress = deviceAddress; - } - - public int getDeviceBindUser() { - return deviceBindUser; - } - - public void setDeviceBindUser(int deviceBindUser) { - this.deviceBindUser = deviceBindUser; - } - - public String getDeviceCoreParts() { - return deviceCoreParts; - } - - public void setDeviceCoreParts(String deviceCoreParts) { - this.deviceCoreParts = deviceCoreParts; - } - - public String getDeviceHardwareVersion() { - return deviceHardwareVersion; - } - - public void setDeviceHardwareVersion(String deviceHardwareVersion) { - this.deviceHardwareVersion = deviceHardwareVersion; + public void setDeciPoint2(String deciPoint2) { + this.deciPoint2 = deciPoint2; } public String getDeviceId() { @@ -166,46 +328,6 @@ this.deviceId = deviceId; } - public String getDeviceIp() { - return deviceIp; - } - - public void setDeviceIp(String deviceIp) { - this.deviceIp = deviceIp; - } - - public String getDeviceMac() { - return deviceMac; - } - - public void setDeviceMac(String deviceMac) { - this.deviceMac = deviceMac; - } - - public String getDeviceName() { - return deviceName; - } - - public void setDeviceName(String deviceName) { - this.deviceName = deviceName; - } - - public String getDeviceSoftwareVersion() { - return deviceSoftwareVersion; - } - - public void setDeviceSoftwareVersion(String deviceSoftwareVersion) { - this.deviceSoftwareVersion = deviceSoftwareVersion; - } - - public int getDeviceStatus() { - return deviceStatus; - } - - public void setDeviceStatus(int deviceStatus) { - this.deviceStatus = deviceStatus; - } - public String getId() { return id; } @@ -214,52 +336,68 @@ this.id = id; } - public int getIotDevice() { - return iotDevice; + public String getSensorCode1() { + return sensorCode1; } - public void setIotDevice(int iotDevice) { - this.iotDevice = iotDevice; + public void setSensorCode1(String sensorCode1) { + this.sensorCode1 = sensorCode1; } - public String getProduceDate() { - return produceDate; + public String getSensorCode2() { + return sensorCode2; } - public void setProduceDate(String produceDate) { - this.produceDate = produceDate; + public void setSensorCode2(String sensorCode2) { + this.sensorCode2 = sensorCode2; } - public String getProductCode() { - return productCode; + public String getSensorType1() { + return sensorType1; } - public void setProductCode(String productCode) { - this.productCode = productCode; + public void setSensorType1(String sensorType1) { + this.sensorType1 = sensorType1; } - public String getProductName() { - return productName; + public String getSensorType2() { + return sensorType2; } - public void setProductName(String productName) { - this.productName = productName; + public void setSensorType2(String sensorType2) { + this.sensorType2 = sensorType2; } - public String getSnCode() { - return snCode; + public String getSensorVal1() { + return sensorVal1; } - public void setSnCode(String snCode) { - this.snCode = snCode; + public void setSensorVal1(String sensorVal1) { + this.sensorVal1 = sensorVal1; } - public String getSupplierId() { - return supplierId; + public String getSensorVal2() { + return sensorVal2; } - public void setSupplierId(String supplierId) { - this.supplierId = supplierId; + public void setSensorVal2(String sensorVal2) { + this.sensorVal2 = sensorVal2; + } + + public String getSensorValUnit1() { + return sensorValUnit1; + } + + public void setSensorValUnit1(String sensorValUnit1) { + this.sensorValUnit1 = sensorValUnit1; + } + + public String getSensorValUnit2() { + return sensorValUnit2; + } + + public void setSensorValUnit2(String sensorValUnit2) { + this.sensorValUnit2 = sensorValUnit2; } public String getUpdateTime() { @@ -269,6 +407,22 @@ public void setUpdateTime(String updateTime) { this.updateTime = updateTime; } + + public String getWorkStatus1() { + return workStatus1; + } + + public void setWorkStatus1(String workStatus1) { + this.workStatus1 = workStatus1; + } + + public String getWorkStatus2() { + return workStatus2; + } + + public void setWorkStatus2(String workStatus2) { + this.workStatus2 = workStatus2; + } } } } diff --git a/app/src/main/java/com/casic/br/utils/LocaleConstant.kt b/app/src/main/java/com/casic/br/utils/LocaleConstant.kt index 9a1c919..9a05cee 100644 --- a/app/src/main/java/com/casic/br/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/br/utils/LocaleConstant.kt @@ -13,9 +13,9 @@ val USER_PERMISSIONS = arrayOf( Manifest.permission.ACCESS_LOCATION_EXTRA_COMMANDS, Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION, - Manifest.permission.CAMERA, Manifest.permission.READ_EXTERNAL_STORAGE, - Manifest.permission.READ_PHONE_STATE, Manifest.permission.BLUETOOTH, - Manifest.permission.BLUETOOTH_ADMIN + Manifest.permission.CAMERA, Manifest.permission.BLUETOOTH_ADMIN, + Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, + Manifest.permission.READ_PHONE_STATE, Manifest.permission.BLUETOOTH ) val SHOP_IMAGE = intArrayOf( R.drawable.ic_gouwuche, R.drawable.ic_dingdan, R.drawable.ic_shouhou @@ -104,5 +104,4 @@ const val WIFI_PASSWORD = "wifiPassword" const val ACCOUNT = "account" const val PASSWORD = "password" - const val HW_JT_KBZ1 = "https://www.hanwei.cn/wp-content/uploads/2022/04/JT-KBZ1.png" } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/br/utils/retrofit/RetrofitService.kt index 4a3cb74..cc48b70 100644 --- a/app/src/main/java/com/casic/br/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/br/utils/retrofit/RetrofitService.kt @@ -166,4 +166,13 @@ @QueryMap limit: Map, @QueryMap offset: Map ): String + + /** + * 汉威设备详情 + */ + @POST("/deviceInfo/detail") + suspend fun obtainDeviceDetail( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 4004755..26fd5a9 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -15,6 +15,7 @@ + @@ -87,6 +88,7 @@ + + private val dataRows: MutableList ) : RecyclerView.Adapter() { private var layoutInflater: LayoutInflater = LayoutInflater.from(context) @@ -36,7 +35,7 @@ val rowsModel = dataRows[position] holder.deviceNameView.text = rowsModel.deviceName Glide.with(context) - .load(LocaleConstant.HW_JT_KBZ1) + .load(rowsModel.picUri.combineImagePath()) .apply(RequestOptions.circleCropTransform()) .placeholder(R.mipmap.load_image_error) .into(holder.imageView) @@ -47,9 +46,6 @@ holder.rootView.setOnClickListener { clickListener?.onItemClick(position) } - holder.moreOperateButton.setOnClickListener { - clickListener?.onButtonClick(position) - } } override fun getItemCount(): Int = dataRows.size @@ -58,8 +54,6 @@ interface OnItemClickListener { fun onItemClick(position: Int) - - fun onButtonClick(position: Int) } fun setOnItemClickListener(clickListener: OnItemClickListener?) { @@ -69,7 +63,6 @@ class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { val rootView: LinearLayout = itemView.findViewById(R.id.rootView) val deviceNameView: TextView = itemView.findViewById(R.id.deviceNameView) - val moreOperateButton: Button = itemView.findViewById(R.id.moreOperateButton) val imageView: ImageView = itemView.findViewById(R.id.imageView) val deviceModelView: TextView = itemView.findViewById(R.id.deviceModelView) val deviceUsedTimeView: TextView = itemView.findViewById(R.id.deviceUsedTimeView) diff --git a/app/src/main/java/com/casic/br/extensions/String.kt b/app/src/main/java/com/casic/br/extensions/String.kt index c035c7b..b63113d 100644 --- a/app/src/main/java/com/casic/br/extensions/String.kt +++ b/app/src/main/java/com/casic/br/extensions/String.kt @@ -155,4 +155,18 @@ e.printStackTrace() } return R.drawable.ic_battery_0 +} + +fun String.convertValue(deciPoint: Int): Double { + if (this.isBlank()) { + return 0.0 + } + when (deciPoint) { + 0 -> return this.toDouble() + 1 -> return (this.toDouble()) / 10 + 2 -> return (this.toDouble()) / 100 + 3 -> return (this.toDouble()) / 1000 + 4 -> return (this.toDouble()) / 10000 + } + return this.toDouble() } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index c9f9257..fe1e87d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -11,7 +11,7 @@ import com.casic.br.adapter.RecommendAdapter import com.casic.br.extensions.initLayoutImmersionBar import com.casic.br.extensions.selectCategory -import com.casic.br.model.OtherDeviceModel +import com.casic.br.model.OtherDeviceListModel import com.casic.br.model.RecommendModel import com.casic.br.utils.DeserializeModel import com.casic.br.view.AddDeviceActivity @@ -40,7 +40,7 @@ private lateinit var otherDeviceAdapter: OtherDeviceAdapter private lateinit var deviceViewModel: DeviceViewModel private var dataBeans: MutableList = ArrayList() - private var dataModes: MutableList = ArrayList() + private var dataModes: MutableList = ArrayList() private var isRefresh = false override fun initLayoutView(): Int = R.layout.fragment_device @@ -226,6 +226,12 @@ } else { otherDeviceAdapter = OtherDeviceAdapter(requireContext(), dataModes) otherDeviceRecyclerView.adapter = otherDeviceAdapter + otherDeviceAdapter.setOnItemClickListener(object : + OtherDeviceAdapter.OnItemClickListener { + override fun onItemClick(position: Int) { + requireContext().navigatePageTo(dataModes[position].id) + } + }) } } true diff --git a/app/src/main/java/com/casic/br/model/AddedDeviceModel.java b/app/src/main/java/com/casic/br/model/AddedDeviceModel.java deleted file mode 100644 index b74bb70..0000000 --- a/app/src/main/java/com/casic/br/model/AddedDeviceModel.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.br.model; - -/** - * 已添加设备(Iot和非Iot设备)数据模型 - */ -public class AddedDeviceModel { - private String deviceId; - private String deviceName; - private boolean isOnline; - private String deviceImage; - private String deviceModel; - private String deviceType; - private String deviceUsedTime; - - public String getDeviceId() { - return deviceId; - } - - public void setDeviceId(String deviceId) { - this.deviceId = deviceId; - } - - public String getDeviceName() { - return deviceName; - } - - public void setDeviceName(String deviceName) { - this.deviceName = deviceName; - } - - public boolean isOnline() { - return isOnline; - } - - public void setOnline(boolean online) { - isOnline = online; - } - - public String getDeviceImage() { - return deviceImage; - } - - public void setDeviceImage(String deviceImage) { - this.deviceImage = deviceImage; - } - - public String getDeviceModel() { - return deviceModel; - } - - public void setDeviceModel(String deviceModel) { - this.deviceModel = deviceModel; - } - - public String getDeviceType() { - return deviceType; - } - - public void setDeviceType(String deviceType) { - this.deviceType = deviceType; - } - - public String getDeviceUsedTime() { - return deviceUsedTime; - } - - public void setDeviceUsedTime(String deviceUsedTime) { - this.deviceUsedTime = deviceUsedTime; - } -} diff --git a/app/src/main/java/com/casic/br/model/OtherDeviceListModel.java b/app/src/main/java/com/casic/br/model/OtherDeviceListModel.java new file mode 100644 index 0000000..3058c1f --- /dev/null +++ b/app/src/main/java/com/casic/br/model/OtherDeviceListModel.java @@ -0,0 +1,283 @@ +package com.casic.br.model; + +import java.util.List; + +public class OtherDeviceListModel { + + private int code; + private DataModel data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String brandCode; + private String brandName; + private String createTime; + private int deviceActive; + private String deviceActiveTime; + private String deviceAddress; + private int deviceBindUser; + private String deviceCoreParts; + private String deviceHardwareVersion; + private String deviceId; + private String deviceIp; + private String deviceMac; + private String deviceName; + private String deviceSoftwareVersion; + private int deviceStatus; + private String id; + private int iotDevice; + private String picUri; + private String produceDate; + private String productCode; + private String productName; + private String snCode; + private String supplierId; + private String updateTime; + + public String getBrandCode() { + return brandCode; + } + + public void setBrandCode(String brandCode) { + this.brandCode = brandCode; + } + + public String getBrandName() { + return brandName; + } + + public void setBrandName(String brandName) { + this.brandName = brandName; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public int getDeviceActive() { + return deviceActive; + } + + public void setDeviceActive(int deviceActive) { + this.deviceActive = deviceActive; + } + + public String getDeviceActiveTime() { + return deviceActiveTime; + } + + public void setDeviceActiveTime(String deviceActiveTime) { + this.deviceActiveTime = deviceActiveTime; + } + + public String getDeviceAddress() { + return deviceAddress; + } + + public void setDeviceAddress(String deviceAddress) { + this.deviceAddress = deviceAddress; + } + + public int getDeviceBindUser() { + return deviceBindUser; + } + + public void setDeviceBindUser(int deviceBindUser) { + this.deviceBindUser = deviceBindUser; + } + + public String getDeviceCoreParts() { + return deviceCoreParts; + } + + public void setDeviceCoreParts(String deviceCoreParts) { + this.deviceCoreParts = deviceCoreParts; + } + + public String getDeviceHardwareVersion() { + return deviceHardwareVersion; + } + + public void setDeviceHardwareVersion(String deviceHardwareVersion) { + this.deviceHardwareVersion = deviceHardwareVersion; + } + + public String getDeviceId() { + return deviceId; + } + + public void setDeviceId(String deviceId) { + this.deviceId = deviceId; + } + + public String getDeviceIp() { + return deviceIp; + } + + public void setDeviceIp(String deviceIp) { + this.deviceIp = deviceIp; + } + + public String getDeviceMac() { + return deviceMac; + } + + public void setDeviceMac(String deviceMac) { + this.deviceMac = deviceMac; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public String getDeviceSoftwareVersion() { + return deviceSoftwareVersion; + } + + public void setDeviceSoftwareVersion(String deviceSoftwareVersion) { + this.deviceSoftwareVersion = deviceSoftwareVersion; + } + + public int getDeviceStatus() { + return deviceStatus; + } + + public void setDeviceStatus(int deviceStatus) { + this.deviceStatus = deviceStatus; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIotDevice() { + return iotDevice; + } + + public void setIotDevice(int iotDevice) { + this.iotDevice = iotDevice; + } + + public String getPicUri() { + return picUri; + } + + public void setPicUri(String picUri) { + this.picUri = picUri; + } + + public String getProduceDate() { + return produceDate; + } + + public void setProduceDate(String produceDate) { + this.produceDate = produceDate; + } + + public String getProductCode() { + return productCode; + } + + public void setProductCode(String productCode) { + this.productCode = productCode; + } + + public String getProductName() { + return productName; + } + + public void setProductName(String productName) { + this.productName = productName; + } + + public String getSnCode() { + return snCode; + } + + public void setSnCode(String snCode) { + this.snCode = snCode; + } + + public String getSupplierId() { + return supplierId; + } + + public void setSupplierId(String supplierId) { + this.supplierId = supplierId; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/br/model/OtherDeviceModel.java b/app/src/main/java/com/casic/br/model/OtherDeviceModel.java index 747a107..8be88b3 100644 --- a/app/src/main/java/com/casic/br/model/OtherDeviceModel.java +++ b/app/src/main/java/com/casic/br/model/OtherDeviceModel.java @@ -1,7 +1,8 @@ package com.casic.br.model; -import java.util.List; - +/** + * 其他设备数据模型 + */ public class OtherDeviceModel { private int code; @@ -42,65 +43,258 @@ } public static class DataModel { - private List rows; - private int total; + private String brandCode; + private String brandName; + private BusinessExtModel businessExt; + private String createTime; + private int deviceActive; + private String deviceActiveTime; + private String deviceAddress; + private int deviceBindUser; + private String deviceCoreParts; + private String deviceHardwareVersion; + private String deviceId; + private String deviceIp; + private String deviceMac; + private String deviceName; + private String deviceSoftwareVersion; + private int deviceStatus; + private String id; + private int iotDevice; + private String picUri; + private String produceDate; + private String productCode; + private String productName; + private String snCode; + private String supplierId; + private String supplierName; + private String updateTime; - public List getRows() { - return rows; + public String getBrandCode() { + return brandCode; } - public void setRows(List rows) { - this.rows = rows; + public void setBrandCode(String brandCode) { + this.brandCode = brandCode; } - public int getTotal() { - return total; + public String getBrandName() { + return brandName; } - public void setTotal(int total) { - this.total = total; + public void setBrandName(String brandName) { + this.brandName = brandName; } - public static class RowsModel { - private String brandCode; - private String brandName; + public BusinessExtModel getBusinessExt() { + return businessExt; + } + + public void setBusinessExt(BusinessExtModel businessExt) { + this.businessExt = businessExt; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public int getDeviceActive() { + return deviceActive; + } + + public void setDeviceActive(int deviceActive) { + this.deviceActive = deviceActive; + } + + public String getDeviceActiveTime() { + return deviceActiveTime; + } + + public void setDeviceActiveTime(String deviceActiveTime) { + this.deviceActiveTime = deviceActiveTime; + } + + public String getDeviceAddress() { + return deviceAddress; + } + + public void setDeviceAddress(String deviceAddress) { + this.deviceAddress = deviceAddress; + } + + public int getDeviceBindUser() { + return deviceBindUser; + } + + public void setDeviceBindUser(int deviceBindUser) { + this.deviceBindUser = deviceBindUser; + } + + public String getDeviceCoreParts() { + return deviceCoreParts; + } + + public void setDeviceCoreParts(String deviceCoreParts) { + this.deviceCoreParts = deviceCoreParts; + } + + public String getDeviceHardwareVersion() { + return deviceHardwareVersion; + } + + public void setDeviceHardwareVersion(String deviceHardwareVersion) { + this.deviceHardwareVersion = deviceHardwareVersion; + } + + public String getDeviceId() { + return deviceId; + } + + public void setDeviceId(String deviceId) { + this.deviceId = deviceId; + } + + public String getDeviceIp() { + return deviceIp; + } + + public void setDeviceIp(String deviceIp) { + this.deviceIp = deviceIp; + } + + public String getDeviceMac() { + return deviceMac; + } + + public void setDeviceMac(String deviceMac) { + this.deviceMac = deviceMac; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public String getDeviceSoftwareVersion() { + return deviceSoftwareVersion; + } + + public void setDeviceSoftwareVersion(String deviceSoftwareVersion) { + this.deviceSoftwareVersion = deviceSoftwareVersion; + } + + public int getDeviceStatus() { + return deviceStatus; + } + + public void setDeviceStatus(int deviceStatus) { + this.deviceStatus = deviceStatus; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIotDevice() { + return iotDevice; + } + + public void setIotDevice(int iotDevice) { + this.iotDevice = iotDevice; + } + + public String getPicUri() { + return picUri; + } + + public void setPicUri(String picUri) { + this.picUri = picUri; + } + + public String getProduceDate() { + return produceDate; + } + + public void setProduceDate(String produceDate) { + this.produceDate = produceDate; + } + + public String getProductCode() { + return productCode; + } + + public void setProductCode(String productCode) { + this.productCode = productCode; + } + + public String getProductName() { + return productName; + } + + public void setProductName(String productName) { + this.productName = productName; + } + + public String getSnCode() { + return snCode; + } + + public void setSnCode(String snCode) { + this.snCode = snCode; + } + + public String getSupplierId() { + return supplierId; + } + + public void setSupplierId(String supplierId) { + this.supplierId = supplierId; + } + + public String getSupplierName() { + return supplierName; + } + + public void setSupplierName(String supplierName) { + this.supplierName = supplierName; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public static class BusinessExtModel { private String createTime; - private int deviceActive; - private String deviceActiveTime; - private String deviceAddress; - private int deviceBindUser; - private String deviceCoreParts; - private String deviceHardwareVersion; + private String deciPoint1; + private String deciPoint2; private String deviceId; - private String deviceIp; - private String deviceMac; - private String deviceName; - private String deviceSoftwareVersion; - private int deviceStatus; private String id; - private int iotDevice; - private String produceDate; - private String productCode; - private String productName; - private String snCode; - private String supplierId; + private String sensorCode1; + private String sensorCode2; + private String sensorType1; + private String sensorType2; + private String sensorVal1; + private String sensorVal2; + private String sensorValUnit1; + private String sensorValUnit2; private String updateTime; - - public String getBrandCode() { - return brandCode; - } - - public void setBrandCode(String brandCode) { - this.brandCode = brandCode; - } - - public String getBrandName() { - return brandName; - } - - public void setBrandName(String brandName) { - this.brandName = brandName; - } + private String workStatus1; + private String workStatus2; public String getCreateTime() { return createTime; @@ -110,52 +304,20 @@ this.createTime = createTime; } - public int getDeviceActive() { - return deviceActive; + public String getDeciPoint1() { + return deciPoint1; } - public void setDeviceActive(int deviceActive) { - this.deviceActive = deviceActive; + public void setDeciPoint1(String deciPoint1) { + this.deciPoint1 = deciPoint1; } - public String getDeviceActiveTime() { - return deviceActiveTime; + public String getDeciPoint2() { + return deciPoint2; } - public void setDeviceActiveTime(String deviceActiveTime) { - this.deviceActiveTime = deviceActiveTime; - } - - public String getDeviceAddress() { - return deviceAddress; - } - - public void setDeviceAddress(String deviceAddress) { - this.deviceAddress = deviceAddress; - } - - public int getDeviceBindUser() { - return deviceBindUser; - } - - public void setDeviceBindUser(int deviceBindUser) { - this.deviceBindUser = deviceBindUser; - } - - public String getDeviceCoreParts() { - return deviceCoreParts; - } - - public void setDeviceCoreParts(String deviceCoreParts) { - this.deviceCoreParts = deviceCoreParts; - } - - public String getDeviceHardwareVersion() { - return deviceHardwareVersion; - } - - public void setDeviceHardwareVersion(String deviceHardwareVersion) { - this.deviceHardwareVersion = deviceHardwareVersion; + public void setDeciPoint2(String deciPoint2) { + this.deciPoint2 = deciPoint2; } public String getDeviceId() { @@ -166,46 +328,6 @@ this.deviceId = deviceId; } - public String getDeviceIp() { - return deviceIp; - } - - public void setDeviceIp(String deviceIp) { - this.deviceIp = deviceIp; - } - - public String getDeviceMac() { - return deviceMac; - } - - public void setDeviceMac(String deviceMac) { - this.deviceMac = deviceMac; - } - - public String getDeviceName() { - return deviceName; - } - - public void setDeviceName(String deviceName) { - this.deviceName = deviceName; - } - - public String getDeviceSoftwareVersion() { - return deviceSoftwareVersion; - } - - public void setDeviceSoftwareVersion(String deviceSoftwareVersion) { - this.deviceSoftwareVersion = deviceSoftwareVersion; - } - - public int getDeviceStatus() { - return deviceStatus; - } - - public void setDeviceStatus(int deviceStatus) { - this.deviceStatus = deviceStatus; - } - public String getId() { return id; } @@ -214,52 +336,68 @@ this.id = id; } - public int getIotDevice() { - return iotDevice; + public String getSensorCode1() { + return sensorCode1; } - public void setIotDevice(int iotDevice) { - this.iotDevice = iotDevice; + public void setSensorCode1(String sensorCode1) { + this.sensorCode1 = sensorCode1; } - public String getProduceDate() { - return produceDate; + public String getSensorCode2() { + return sensorCode2; } - public void setProduceDate(String produceDate) { - this.produceDate = produceDate; + public void setSensorCode2(String sensorCode2) { + this.sensorCode2 = sensorCode2; } - public String getProductCode() { - return productCode; + public String getSensorType1() { + return sensorType1; } - public void setProductCode(String productCode) { - this.productCode = productCode; + public void setSensorType1(String sensorType1) { + this.sensorType1 = sensorType1; } - public String getProductName() { - return productName; + public String getSensorType2() { + return sensorType2; } - public void setProductName(String productName) { - this.productName = productName; + public void setSensorType2(String sensorType2) { + this.sensorType2 = sensorType2; } - public String getSnCode() { - return snCode; + public String getSensorVal1() { + return sensorVal1; } - public void setSnCode(String snCode) { - this.snCode = snCode; + public void setSensorVal1(String sensorVal1) { + this.sensorVal1 = sensorVal1; } - public String getSupplierId() { - return supplierId; + public String getSensorVal2() { + return sensorVal2; } - public void setSupplierId(String supplierId) { - this.supplierId = supplierId; + public void setSensorVal2(String sensorVal2) { + this.sensorVal2 = sensorVal2; + } + + public String getSensorValUnit1() { + return sensorValUnit1; + } + + public void setSensorValUnit1(String sensorValUnit1) { + this.sensorValUnit1 = sensorValUnit1; + } + + public String getSensorValUnit2() { + return sensorValUnit2; + } + + public void setSensorValUnit2(String sensorValUnit2) { + this.sensorValUnit2 = sensorValUnit2; } public String getUpdateTime() { @@ -269,6 +407,22 @@ public void setUpdateTime(String updateTime) { this.updateTime = updateTime; } + + public String getWorkStatus1() { + return workStatus1; + } + + public void setWorkStatus1(String workStatus1) { + this.workStatus1 = workStatus1; + } + + public String getWorkStatus2() { + return workStatus2; + } + + public void setWorkStatus2(String workStatus2) { + this.workStatus2 = workStatus2; + } } } } diff --git a/app/src/main/java/com/casic/br/utils/LocaleConstant.kt b/app/src/main/java/com/casic/br/utils/LocaleConstant.kt index 9a1c919..9a05cee 100644 --- a/app/src/main/java/com/casic/br/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/br/utils/LocaleConstant.kt @@ -13,9 +13,9 @@ val USER_PERMISSIONS = arrayOf( Manifest.permission.ACCESS_LOCATION_EXTRA_COMMANDS, Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION, - Manifest.permission.CAMERA, Manifest.permission.READ_EXTERNAL_STORAGE, - Manifest.permission.READ_PHONE_STATE, Manifest.permission.BLUETOOTH, - Manifest.permission.BLUETOOTH_ADMIN + Manifest.permission.CAMERA, Manifest.permission.BLUETOOTH_ADMIN, + Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, + Manifest.permission.READ_PHONE_STATE, Manifest.permission.BLUETOOTH ) val SHOP_IMAGE = intArrayOf( R.drawable.ic_gouwuche, R.drawable.ic_dingdan, R.drawable.ic_shouhou @@ -104,5 +104,4 @@ const val WIFI_PASSWORD = "wifiPassword" const val ACCOUNT = "account" const val PASSWORD = "password" - const val HW_JT_KBZ1 = "https://www.hanwei.cn/wp-content/uploads/2022/04/JT-KBZ1.png" } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/br/utils/retrofit/RetrofitService.kt index 4a3cb74..cc48b70 100644 --- a/app/src/main/java/com/casic/br/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/br/utils/retrofit/RetrofitService.kt @@ -166,4 +166,13 @@ @QueryMap limit: Map, @QueryMap offset: Map ): String + + /** + * 汉威设备详情 + */ + @POST("/deviceInfo/detail") + suspend fun obtainDeviceDetail( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/utils/retrofit/RetrofitServiceManager.kt index 7f28146..bec22c5 100644 --- a/app/src/main/java/com/casic/br/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/br/utils/retrofit/RetrofitServiceManager.kt @@ -334,4 +334,16 @@ AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } + + /** + * 汉威设备详情 + */ + suspend fun obtainDeviceDetail(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.obtainDeviceDetail(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 4004755..26fd5a9 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -15,6 +15,7 @@ + @@ -87,6 +88,7 @@ + + private val dataRows: MutableList ) : RecyclerView.Adapter() { private var layoutInflater: LayoutInflater = LayoutInflater.from(context) @@ -36,7 +35,7 @@ val rowsModel = dataRows[position] holder.deviceNameView.text = rowsModel.deviceName Glide.with(context) - .load(LocaleConstant.HW_JT_KBZ1) + .load(rowsModel.picUri.combineImagePath()) .apply(RequestOptions.circleCropTransform()) .placeholder(R.mipmap.load_image_error) .into(holder.imageView) @@ -47,9 +46,6 @@ holder.rootView.setOnClickListener { clickListener?.onItemClick(position) } - holder.moreOperateButton.setOnClickListener { - clickListener?.onButtonClick(position) - } } override fun getItemCount(): Int = dataRows.size @@ -58,8 +54,6 @@ interface OnItemClickListener { fun onItemClick(position: Int) - - fun onButtonClick(position: Int) } fun setOnItemClickListener(clickListener: OnItemClickListener?) { @@ -69,7 +63,6 @@ class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { val rootView: LinearLayout = itemView.findViewById(R.id.rootView) val deviceNameView: TextView = itemView.findViewById(R.id.deviceNameView) - val moreOperateButton: Button = itemView.findViewById(R.id.moreOperateButton) val imageView: ImageView = itemView.findViewById(R.id.imageView) val deviceModelView: TextView = itemView.findViewById(R.id.deviceModelView) val deviceUsedTimeView: TextView = itemView.findViewById(R.id.deviceUsedTimeView) diff --git a/app/src/main/java/com/casic/br/extensions/String.kt b/app/src/main/java/com/casic/br/extensions/String.kt index c035c7b..b63113d 100644 --- a/app/src/main/java/com/casic/br/extensions/String.kt +++ b/app/src/main/java/com/casic/br/extensions/String.kt @@ -155,4 +155,18 @@ e.printStackTrace() } return R.drawable.ic_battery_0 +} + +fun String.convertValue(deciPoint: Int): Double { + if (this.isBlank()) { + return 0.0 + } + when (deciPoint) { + 0 -> return this.toDouble() + 1 -> return (this.toDouble()) / 10 + 2 -> return (this.toDouble()) / 100 + 3 -> return (this.toDouble()) / 1000 + 4 -> return (this.toDouble()) / 10000 + } + return this.toDouble() } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index c9f9257..fe1e87d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -11,7 +11,7 @@ import com.casic.br.adapter.RecommendAdapter import com.casic.br.extensions.initLayoutImmersionBar import com.casic.br.extensions.selectCategory -import com.casic.br.model.OtherDeviceModel +import com.casic.br.model.OtherDeviceListModel import com.casic.br.model.RecommendModel import com.casic.br.utils.DeserializeModel import com.casic.br.view.AddDeviceActivity @@ -40,7 +40,7 @@ private lateinit var otherDeviceAdapter: OtherDeviceAdapter private lateinit var deviceViewModel: DeviceViewModel private var dataBeans: MutableList = ArrayList() - private var dataModes: MutableList = ArrayList() + private var dataModes: MutableList = ArrayList() private var isRefresh = false override fun initLayoutView(): Int = R.layout.fragment_device @@ -226,6 +226,12 @@ } else { otherDeviceAdapter = OtherDeviceAdapter(requireContext(), dataModes) otherDeviceRecyclerView.adapter = otherDeviceAdapter + otherDeviceAdapter.setOnItemClickListener(object : + OtherDeviceAdapter.OnItemClickListener { + override fun onItemClick(position: Int) { + requireContext().navigatePageTo(dataModes[position].id) + } + }) } } true diff --git a/app/src/main/java/com/casic/br/model/AddedDeviceModel.java b/app/src/main/java/com/casic/br/model/AddedDeviceModel.java deleted file mode 100644 index b74bb70..0000000 --- a/app/src/main/java/com/casic/br/model/AddedDeviceModel.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.br.model; - -/** - * 已添加设备(Iot和非Iot设备)数据模型 - */ -public class AddedDeviceModel { - private String deviceId; - private String deviceName; - private boolean isOnline; - private String deviceImage; - private String deviceModel; - private String deviceType; - private String deviceUsedTime; - - public String getDeviceId() { - return deviceId; - } - - public void setDeviceId(String deviceId) { - this.deviceId = deviceId; - } - - public String getDeviceName() { - return deviceName; - } - - public void setDeviceName(String deviceName) { - this.deviceName = deviceName; - } - - public boolean isOnline() { - return isOnline; - } - - public void setOnline(boolean online) { - isOnline = online; - } - - public String getDeviceImage() { - return deviceImage; - } - - public void setDeviceImage(String deviceImage) { - this.deviceImage = deviceImage; - } - - public String getDeviceModel() { - return deviceModel; - } - - public void setDeviceModel(String deviceModel) { - this.deviceModel = deviceModel; - } - - public String getDeviceType() { - return deviceType; - } - - public void setDeviceType(String deviceType) { - this.deviceType = deviceType; - } - - public String getDeviceUsedTime() { - return deviceUsedTime; - } - - public void setDeviceUsedTime(String deviceUsedTime) { - this.deviceUsedTime = deviceUsedTime; - } -} diff --git a/app/src/main/java/com/casic/br/model/OtherDeviceListModel.java b/app/src/main/java/com/casic/br/model/OtherDeviceListModel.java new file mode 100644 index 0000000..3058c1f --- /dev/null +++ b/app/src/main/java/com/casic/br/model/OtherDeviceListModel.java @@ -0,0 +1,283 @@ +package com.casic.br.model; + +import java.util.List; + +public class OtherDeviceListModel { + + private int code; + private DataModel data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String brandCode; + private String brandName; + private String createTime; + private int deviceActive; + private String deviceActiveTime; + private String deviceAddress; + private int deviceBindUser; + private String deviceCoreParts; + private String deviceHardwareVersion; + private String deviceId; + private String deviceIp; + private String deviceMac; + private String deviceName; + private String deviceSoftwareVersion; + private int deviceStatus; + private String id; + private int iotDevice; + private String picUri; + private String produceDate; + private String productCode; + private String productName; + private String snCode; + private String supplierId; + private String updateTime; + + public String getBrandCode() { + return brandCode; + } + + public void setBrandCode(String brandCode) { + this.brandCode = brandCode; + } + + public String getBrandName() { + return brandName; + } + + public void setBrandName(String brandName) { + this.brandName = brandName; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public int getDeviceActive() { + return deviceActive; + } + + public void setDeviceActive(int deviceActive) { + this.deviceActive = deviceActive; + } + + public String getDeviceActiveTime() { + return deviceActiveTime; + } + + public void setDeviceActiveTime(String deviceActiveTime) { + this.deviceActiveTime = deviceActiveTime; + } + + public String getDeviceAddress() { + return deviceAddress; + } + + public void setDeviceAddress(String deviceAddress) { + this.deviceAddress = deviceAddress; + } + + public int getDeviceBindUser() { + return deviceBindUser; + } + + public void setDeviceBindUser(int deviceBindUser) { + this.deviceBindUser = deviceBindUser; + } + + public String getDeviceCoreParts() { + return deviceCoreParts; + } + + public void setDeviceCoreParts(String deviceCoreParts) { + this.deviceCoreParts = deviceCoreParts; + } + + public String getDeviceHardwareVersion() { + return deviceHardwareVersion; + } + + public void setDeviceHardwareVersion(String deviceHardwareVersion) { + this.deviceHardwareVersion = deviceHardwareVersion; + } + + public String getDeviceId() { + return deviceId; + } + + public void setDeviceId(String deviceId) { + this.deviceId = deviceId; + } + + public String getDeviceIp() { + return deviceIp; + } + + public void setDeviceIp(String deviceIp) { + this.deviceIp = deviceIp; + } + + public String getDeviceMac() { + return deviceMac; + } + + public void setDeviceMac(String deviceMac) { + this.deviceMac = deviceMac; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public String getDeviceSoftwareVersion() { + return deviceSoftwareVersion; + } + + public void setDeviceSoftwareVersion(String deviceSoftwareVersion) { + this.deviceSoftwareVersion = deviceSoftwareVersion; + } + + public int getDeviceStatus() { + return deviceStatus; + } + + public void setDeviceStatus(int deviceStatus) { + this.deviceStatus = deviceStatus; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIotDevice() { + return iotDevice; + } + + public void setIotDevice(int iotDevice) { + this.iotDevice = iotDevice; + } + + public String getPicUri() { + return picUri; + } + + public void setPicUri(String picUri) { + this.picUri = picUri; + } + + public String getProduceDate() { + return produceDate; + } + + public void setProduceDate(String produceDate) { + this.produceDate = produceDate; + } + + public String getProductCode() { + return productCode; + } + + public void setProductCode(String productCode) { + this.productCode = productCode; + } + + public String getProductName() { + return productName; + } + + public void setProductName(String productName) { + this.productName = productName; + } + + public String getSnCode() { + return snCode; + } + + public void setSnCode(String snCode) { + this.snCode = snCode; + } + + public String getSupplierId() { + return supplierId; + } + + public void setSupplierId(String supplierId) { + this.supplierId = supplierId; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/br/model/OtherDeviceModel.java b/app/src/main/java/com/casic/br/model/OtherDeviceModel.java index 747a107..8be88b3 100644 --- a/app/src/main/java/com/casic/br/model/OtherDeviceModel.java +++ b/app/src/main/java/com/casic/br/model/OtherDeviceModel.java @@ -1,7 +1,8 @@ package com.casic.br.model; -import java.util.List; - +/** + * 其他设备数据模型 + */ public class OtherDeviceModel { private int code; @@ -42,65 +43,258 @@ } public static class DataModel { - private List rows; - private int total; + private String brandCode; + private String brandName; + private BusinessExtModel businessExt; + private String createTime; + private int deviceActive; + private String deviceActiveTime; + private String deviceAddress; + private int deviceBindUser; + private String deviceCoreParts; + private String deviceHardwareVersion; + private String deviceId; + private String deviceIp; + private String deviceMac; + private String deviceName; + private String deviceSoftwareVersion; + private int deviceStatus; + private String id; + private int iotDevice; + private String picUri; + private String produceDate; + private String productCode; + private String productName; + private String snCode; + private String supplierId; + private String supplierName; + private String updateTime; - public List getRows() { - return rows; + public String getBrandCode() { + return brandCode; } - public void setRows(List rows) { - this.rows = rows; + public void setBrandCode(String brandCode) { + this.brandCode = brandCode; } - public int getTotal() { - return total; + public String getBrandName() { + return brandName; } - public void setTotal(int total) { - this.total = total; + public void setBrandName(String brandName) { + this.brandName = brandName; } - public static class RowsModel { - private String brandCode; - private String brandName; + public BusinessExtModel getBusinessExt() { + return businessExt; + } + + public void setBusinessExt(BusinessExtModel businessExt) { + this.businessExt = businessExt; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public int getDeviceActive() { + return deviceActive; + } + + public void setDeviceActive(int deviceActive) { + this.deviceActive = deviceActive; + } + + public String getDeviceActiveTime() { + return deviceActiveTime; + } + + public void setDeviceActiveTime(String deviceActiveTime) { + this.deviceActiveTime = deviceActiveTime; + } + + public String getDeviceAddress() { + return deviceAddress; + } + + public void setDeviceAddress(String deviceAddress) { + this.deviceAddress = deviceAddress; + } + + public int getDeviceBindUser() { + return deviceBindUser; + } + + public void setDeviceBindUser(int deviceBindUser) { + this.deviceBindUser = deviceBindUser; + } + + public String getDeviceCoreParts() { + return deviceCoreParts; + } + + public void setDeviceCoreParts(String deviceCoreParts) { + this.deviceCoreParts = deviceCoreParts; + } + + public String getDeviceHardwareVersion() { + return deviceHardwareVersion; + } + + public void setDeviceHardwareVersion(String deviceHardwareVersion) { + this.deviceHardwareVersion = deviceHardwareVersion; + } + + public String getDeviceId() { + return deviceId; + } + + public void setDeviceId(String deviceId) { + this.deviceId = deviceId; + } + + public String getDeviceIp() { + return deviceIp; + } + + public void setDeviceIp(String deviceIp) { + this.deviceIp = deviceIp; + } + + public String getDeviceMac() { + return deviceMac; + } + + public void setDeviceMac(String deviceMac) { + this.deviceMac = deviceMac; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public String getDeviceSoftwareVersion() { + return deviceSoftwareVersion; + } + + public void setDeviceSoftwareVersion(String deviceSoftwareVersion) { + this.deviceSoftwareVersion = deviceSoftwareVersion; + } + + public int getDeviceStatus() { + return deviceStatus; + } + + public void setDeviceStatus(int deviceStatus) { + this.deviceStatus = deviceStatus; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIotDevice() { + return iotDevice; + } + + public void setIotDevice(int iotDevice) { + this.iotDevice = iotDevice; + } + + public String getPicUri() { + return picUri; + } + + public void setPicUri(String picUri) { + this.picUri = picUri; + } + + public String getProduceDate() { + return produceDate; + } + + public void setProduceDate(String produceDate) { + this.produceDate = produceDate; + } + + public String getProductCode() { + return productCode; + } + + public void setProductCode(String productCode) { + this.productCode = productCode; + } + + public String getProductName() { + return productName; + } + + public void setProductName(String productName) { + this.productName = productName; + } + + public String getSnCode() { + return snCode; + } + + public void setSnCode(String snCode) { + this.snCode = snCode; + } + + public String getSupplierId() { + return supplierId; + } + + public void setSupplierId(String supplierId) { + this.supplierId = supplierId; + } + + public String getSupplierName() { + return supplierName; + } + + public void setSupplierName(String supplierName) { + this.supplierName = supplierName; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public static class BusinessExtModel { private String createTime; - private int deviceActive; - private String deviceActiveTime; - private String deviceAddress; - private int deviceBindUser; - private String deviceCoreParts; - private String deviceHardwareVersion; + private String deciPoint1; + private String deciPoint2; private String deviceId; - private String deviceIp; - private String deviceMac; - private String deviceName; - private String deviceSoftwareVersion; - private int deviceStatus; private String id; - private int iotDevice; - private String produceDate; - private String productCode; - private String productName; - private String snCode; - private String supplierId; + private String sensorCode1; + private String sensorCode2; + private String sensorType1; + private String sensorType2; + private String sensorVal1; + private String sensorVal2; + private String sensorValUnit1; + private String sensorValUnit2; private String updateTime; - - public String getBrandCode() { - return brandCode; - } - - public void setBrandCode(String brandCode) { - this.brandCode = brandCode; - } - - public String getBrandName() { - return brandName; - } - - public void setBrandName(String brandName) { - this.brandName = brandName; - } + private String workStatus1; + private String workStatus2; public String getCreateTime() { return createTime; @@ -110,52 +304,20 @@ this.createTime = createTime; } - public int getDeviceActive() { - return deviceActive; + public String getDeciPoint1() { + return deciPoint1; } - public void setDeviceActive(int deviceActive) { - this.deviceActive = deviceActive; + public void setDeciPoint1(String deciPoint1) { + this.deciPoint1 = deciPoint1; } - public String getDeviceActiveTime() { - return deviceActiveTime; + public String getDeciPoint2() { + return deciPoint2; } - public void setDeviceActiveTime(String deviceActiveTime) { - this.deviceActiveTime = deviceActiveTime; - } - - public String getDeviceAddress() { - return deviceAddress; - } - - public void setDeviceAddress(String deviceAddress) { - this.deviceAddress = deviceAddress; - } - - public int getDeviceBindUser() { - return deviceBindUser; - } - - public void setDeviceBindUser(int deviceBindUser) { - this.deviceBindUser = deviceBindUser; - } - - public String getDeviceCoreParts() { - return deviceCoreParts; - } - - public void setDeviceCoreParts(String deviceCoreParts) { - this.deviceCoreParts = deviceCoreParts; - } - - public String getDeviceHardwareVersion() { - return deviceHardwareVersion; - } - - public void setDeviceHardwareVersion(String deviceHardwareVersion) { - this.deviceHardwareVersion = deviceHardwareVersion; + public void setDeciPoint2(String deciPoint2) { + this.deciPoint2 = deciPoint2; } public String getDeviceId() { @@ -166,46 +328,6 @@ this.deviceId = deviceId; } - public String getDeviceIp() { - return deviceIp; - } - - public void setDeviceIp(String deviceIp) { - this.deviceIp = deviceIp; - } - - public String getDeviceMac() { - return deviceMac; - } - - public void setDeviceMac(String deviceMac) { - this.deviceMac = deviceMac; - } - - public String getDeviceName() { - return deviceName; - } - - public void setDeviceName(String deviceName) { - this.deviceName = deviceName; - } - - public String getDeviceSoftwareVersion() { - return deviceSoftwareVersion; - } - - public void setDeviceSoftwareVersion(String deviceSoftwareVersion) { - this.deviceSoftwareVersion = deviceSoftwareVersion; - } - - public int getDeviceStatus() { - return deviceStatus; - } - - public void setDeviceStatus(int deviceStatus) { - this.deviceStatus = deviceStatus; - } - public String getId() { return id; } @@ -214,52 +336,68 @@ this.id = id; } - public int getIotDevice() { - return iotDevice; + public String getSensorCode1() { + return sensorCode1; } - public void setIotDevice(int iotDevice) { - this.iotDevice = iotDevice; + public void setSensorCode1(String sensorCode1) { + this.sensorCode1 = sensorCode1; } - public String getProduceDate() { - return produceDate; + public String getSensorCode2() { + return sensorCode2; } - public void setProduceDate(String produceDate) { - this.produceDate = produceDate; + public void setSensorCode2(String sensorCode2) { + this.sensorCode2 = sensorCode2; } - public String getProductCode() { - return productCode; + public String getSensorType1() { + return sensorType1; } - public void setProductCode(String productCode) { - this.productCode = productCode; + public void setSensorType1(String sensorType1) { + this.sensorType1 = sensorType1; } - public String getProductName() { - return productName; + public String getSensorType2() { + return sensorType2; } - public void setProductName(String productName) { - this.productName = productName; + public void setSensorType2(String sensorType2) { + this.sensorType2 = sensorType2; } - public String getSnCode() { - return snCode; + public String getSensorVal1() { + return sensorVal1; } - public void setSnCode(String snCode) { - this.snCode = snCode; + public void setSensorVal1(String sensorVal1) { + this.sensorVal1 = sensorVal1; } - public String getSupplierId() { - return supplierId; + public String getSensorVal2() { + return sensorVal2; } - public void setSupplierId(String supplierId) { - this.supplierId = supplierId; + public void setSensorVal2(String sensorVal2) { + this.sensorVal2 = sensorVal2; + } + + public String getSensorValUnit1() { + return sensorValUnit1; + } + + public void setSensorValUnit1(String sensorValUnit1) { + this.sensorValUnit1 = sensorValUnit1; + } + + public String getSensorValUnit2() { + return sensorValUnit2; + } + + public void setSensorValUnit2(String sensorValUnit2) { + this.sensorValUnit2 = sensorValUnit2; } public String getUpdateTime() { @@ -269,6 +407,22 @@ public void setUpdateTime(String updateTime) { this.updateTime = updateTime; } + + public String getWorkStatus1() { + return workStatus1; + } + + public void setWorkStatus1(String workStatus1) { + this.workStatus1 = workStatus1; + } + + public String getWorkStatus2() { + return workStatus2; + } + + public void setWorkStatus2(String workStatus2) { + this.workStatus2 = workStatus2; + } } } } diff --git a/app/src/main/java/com/casic/br/utils/LocaleConstant.kt b/app/src/main/java/com/casic/br/utils/LocaleConstant.kt index 9a1c919..9a05cee 100644 --- a/app/src/main/java/com/casic/br/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/br/utils/LocaleConstant.kt @@ -13,9 +13,9 @@ val USER_PERMISSIONS = arrayOf( Manifest.permission.ACCESS_LOCATION_EXTRA_COMMANDS, Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION, - Manifest.permission.CAMERA, Manifest.permission.READ_EXTERNAL_STORAGE, - Manifest.permission.READ_PHONE_STATE, Manifest.permission.BLUETOOTH, - Manifest.permission.BLUETOOTH_ADMIN + Manifest.permission.CAMERA, Manifest.permission.BLUETOOTH_ADMIN, + Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, + Manifest.permission.READ_PHONE_STATE, Manifest.permission.BLUETOOTH ) val SHOP_IMAGE = intArrayOf( R.drawable.ic_gouwuche, R.drawable.ic_dingdan, R.drawable.ic_shouhou @@ -104,5 +104,4 @@ const val WIFI_PASSWORD = "wifiPassword" const val ACCOUNT = "account" const val PASSWORD = "password" - const val HW_JT_KBZ1 = "https://www.hanwei.cn/wp-content/uploads/2022/04/JT-KBZ1.png" } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/br/utils/retrofit/RetrofitService.kt index 4a3cb74..cc48b70 100644 --- a/app/src/main/java/com/casic/br/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/br/utils/retrofit/RetrofitService.kt @@ -166,4 +166,13 @@ @QueryMap limit: Map, @QueryMap offset: Map ): String + + /** + * 汉威设备详情 + */ + @POST("/deviceInfo/detail") + suspend fun obtainDeviceDetail( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/utils/retrofit/RetrofitServiceManager.kt index 7f28146..bec22c5 100644 --- a/app/src/main/java/com/casic/br/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/br/utils/retrofit/RetrofitServiceManager.kt @@ -334,4 +334,16 @@ AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } + + /** + * 汉威设备详情 + */ + suspend fun obtainDeviceDetail(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.obtainDeviceDetail(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/view/AddressManagerActivity.kt b/app/src/main/java/com/casic/br/view/AddressManagerActivity.kt index 6b38073..41987b6 100644 --- a/app/src/main/java/com/casic/br/view/AddressManagerActivity.kt +++ b/app/src/main/java/com/casic/br/view/AddressManagerActivity.kt @@ -1,6 +1,5 @@ package com.casic.br.view -import android.content.Context import android.os.Handler import android.view.ViewGroup import androidx.lifecycle.ViewModelProvider diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 4004755..26fd5a9 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -15,6 +15,7 @@ + @@ -87,6 +88,7 @@ + + private val dataRows: MutableList ) : RecyclerView.Adapter() { private var layoutInflater: LayoutInflater = LayoutInflater.from(context) @@ -36,7 +35,7 @@ val rowsModel = dataRows[position] holder.deviceNameView.text = rowsModel.deviceName Glide.with(context) - .load(LocaleConstant.HW_JT_KBZ1) + .load(rowsModel.picUri.combineImagePath()) .apply(RequestOptions.circleCropTransform()) .placeholder(R.mipmap.load_image_error) .into(holder.imageView) @@ -47,9 +46,6 @@ holder.rootView.setOnClickListener { clickListener?.onItemClick(position) } - holder.moreOperateButton.setOnClickListener { - clickListener?.onButtonClick(position) - } } override fun getItemCount(): Int = dataRows.size @@ -58,8 +54,6 @@ interface OnItemClickListener { fun onItemClick(position: Int) - - fun onButtonClick(position: Int) } fun setOnItemClickListener(clickListener: OnItemClickListener?) { @@ -69,7 +63,6 @@ class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { val rootView: LinearLayout = itemView.findViewById(R.id.rootView) val deviceNameView: TextView = itemView.findViewById(R.id.deviceNameView) - val moreOperateButton: Button = itemView.findViewById(R.id.moreOperateButton) val imageView: ImageView = itemView.findViewById(R.id.imageView) val deviceModelView: TextView = itemView.findViewById(R.id.deviceModelView) val deviceUsedTimeView: TextView = itemView.findViewById(R.id.deviceUsedTimeView) diff --git a/app/src/main/java/com/casic/br/extensions/String.kt b/app/src/main/java/com/casic/br/extensions/String.kt index c035c7b..b63113d 100644 --- a/app/src/main/java/com/casic/br/extensions/String.kt +++ b/app/src/main/java/com/casic/br/extensions/String.kt @@ -155,4 +155,18 @@ e.printStackTrace() } return R.drawable.ic_battery_0 +} + +fun String.convertValue(deciPoint: Int): Double { + if (this.isBlank()) { + return 0.0 + } + when (deciPoint) { + 0 -> return this.toDouble() + 1 -> return (this.toDouble()) / 10 + 2 -> return (this.toDouble()) / 100 + 3 -> return (this.toDouble()) / 1000 + 4 -> return (this.toDouble()) / 10000 + } + return this.toDouble() } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index c9f9257..fe1e87d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -11,7 +11,7 @@ import com.casic.br.adapter.RecommendAdapter import com.casic.br.extensions.initLayoutImmersionBar import com.casic.br.extensions.selectCategory -import com.casic.br.model.OtherDeviceModel +import com.casic.br.model.OtherDeviceListModel import com.casic.br.model.RecommendModel import com.casic.br.utils.DeserializeModel import com.casic.br.view.AddDeviceActivity @@ -40,7 +40,7 @@ private lateinit var otherDeviceAdapter: OtherDeviceAdapter private lateinit var deviceViewModel: DeviceViewModel private var dataBeans: MutableList = ArrayList() - private var dataModes: MutableList = ArrayList() + private var dataModes: MutableList = ArrayList() private var isRefresh = false override fun initLayoutView(): Int = R.layout.fragment_device @@ -226,6 +226,12 @@ } else { otherDeviceAdapter = OtherDeviceAdapter(requireContext(), dataModes) otherDeviceRecyclerView.adapter = otherDeviceAdapter + otherDeviceAdapter.setOnItemClickListener(object : + OtherDeviceAdapter.OnItemClickListener { + override fun onItemClick(position: Int) { + requireContext().navigatePageTo(dataModes[position].id) + } + }) } } true diff --git a/app/src/main/java/com/casic/br/model/AddedDeviceModel.java b/app/src/main/java/com/casic/br/model/AddedDeviceModel.java deleted file mode 100644 index b74bb70..0000000 --- a/app/src/main/java/com/casic/br/model/AddedDeviceModel.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.br.model; - -/** - * 已添加设备(Iot和非Iot设备)数据模型 - */ -public class AddedDeviceModel { - private String deviceId; - private String deviceName; - private boolean isOnline; - private String deviceImage; - private String deviceModel; - private String deviceType; - private String deviceUsedTime; - - public String getDeviceId() { - return deviceId; - } - - public void setDeviceId(String deviceId) { - this.deviceId = deviceId; - } - - public String getDeviceName() { - return deviceName; - } - - public void setDeviceName(String deviceName) { - this.deviceName = deviceName; - } - - public boolean isOnline() { - return isOnline; - } - - public void setOnline(boolean online) { - isOnline = online; - } - - public String getDeviceImage() { - return deviceImage; - } - - public void setDeviceImage(String deviceImage) { - this.deviceImage = deviceImage; - } - - public String getDeviceModel() { - return deviceModel; - } - - public void setDeviceModel(String deviceModel) { - this.deviceModel = deviceModel; - } - - public String getDeviceType() { - return deviceType; - } - - public void setDeviceType(String deviceType) { - this.deviceType = deviceType; - } - - public String getDeviceUsedTime() { - return deviceUsedTime; - } - - public void setDeviceUsedTime(String deviceUsedTime) { - this.deviceUsedTime = deviceUsedTime; - } -} diff --git a/app/src/main/java/com/casic/br/model/OtherDeviceListModel.java b/app/src/main/java/com/casic/br/model/OtherDeviceListModel.java new file mode 100644 index 0000000..3058c1f --- /dev/null +++ b/app/src/main/java/com/casic/br/model/OtherDeviceListModel.java @@ -0,0 +1,283 @@ +package com.casic.br.model; + +import java.util.List; + +public class OtherDeviceListModel { + + private int code; + private DataModel data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String brandCode; + private String brandName; + private String createTime; + private int deviceActive; + private String deviceActiveTime; + private String deviceAddress; + private int deviceBindUser; + private String deviceCoreParts; + private String deviceHardwareVersion; + private String deviceId; + private String deviceIp; + private String deviceMac; + private String deviceName; + private String deviceSoftwareVersion; + private int deviceStatus; + private String id; + private int iotDevice; + private String picUri; + private String produceDate; + private String productCode; + private String productName; + private String snCode; + private String supplierId; + private String updateTime; + + public String getBrandCode() { + return brandCode; + } + + public void setBrandCode(String brandCode) { + this.brandCode = brandCode; + } + + public String getBrandName() { + return brandName; + } + + public void setBrandName(String brandName) { + this.brandName = brandName; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public int getDeviceActive() { + return deviceActive; + } + + public void setDeviceActive(int deviceActive) { + this.deviceActive = deviceActive; + } + + public String getDeviceActiveTime() { + return deviceActiveTime; + } + + public void setDeviceActiveTime(String deviceActiveTime) { + this.deviceActiveTime = deviceActiveTime; + } + + public String getDeviceAddress() { + return deviceAddress; + } + + public void setDeviceAddress(String deviceAddress) { + this.deviceAddress = deviceAddress; + } + + public int getDeviceBindUser() { + return deviceBindUser; + } + + public void setDeviceBindUser(int deviceBindUser) { + this.deviceBindUser = deviceBindUser; + } + + public String getDeviceCoreParts() { + return deviceCoreParts; + } + + public void setDeviceCoreParts(String deviceCoreParts) { + this.deviceCoreParts = deviceCoreParts; + } + + public String getDeviceHardwareVersion() { + return deviceHardwareVersion; + } + + public void setDeviceHardwareVersion(String deviceHardwareVersion) { + this.deviceHardwareVersion = deviceHardwareVersion; + } + + public String getDeviceId() { + return deviceId; + } + + public void setDeviceId(String deviceId) { + this.deviceId = deviceId; + } + + public String getDeviceIp() { + return deviceIp; + } + + public void setDeviceIp(String deviceIp) { + this.deviceIp = deviceIp; + } + + public String getDeviceMac() { + return deviceMac; + } + + public void setDeviceMac(String deviceMac) { + this.deviceMac = deviceMac; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public String getDeviceSoftwareVersion() { + return deviceSoftwareVersion; + } + + public void setDeviceSoftwareVersion(String deviceSoftwareVersion) { + this.deviceSoftwareVersion = deviceSoftwareVersion; + } + + public int getDeviceStatus() { + return deviceStatus; + } + + public void setDeviceStatus(int deviceStatus) { + this.deviceStatus = deviceStatus; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIotDevice() { + return iotDevice; + } + + public void setIotDevice(int iotDevice) { + this.iotDevice = iotDevice; + } + + public String getPicUri() { + return picUri; + } + + public void setPicUri(String picUri) { + this.picUri = picUri; + } + + public String getProduceDate() { + return produceDate; + } + + public void setProduceDate(String produceDate) { + this.produceDate = produceDate; + } + + public String getProductCode() { + return productCode; + } + + public void setProductCode(String productCode) { + this.productCode = productCode; + } + + public String getProductName() { + return productName; + } + + public void setProductName(String productName) { + this.productName = productName; + } + + public String getSnCode() { + return snCode; + } + + public void setSnCode(String snCode) { + this.snCode = snCode; + } + + public String getSupplierId() { + return supplierId; + } + + public void setSupplierId(String supplierId) { + this.supplierId = supplierId; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/br/model/OtherDeviceModel.java b/app/src/main/java/com/casic/br/model/OtherDeviceModel.java index 747a107..8be88b3 100644 --- a/app/src/main/java/com/casic/br/model/OtherDeviceModel.java +++ b/app/src/main/java/com/casic/br/model/OtherDeviceModel.java @@ -1,7 +1,8 @@ package com.casic.br.model; -import java.util.List; - +/** + * 其他设备数据模型 + */ public class OtherDeviceModel { private int code; @@ -42,65 +43,258 @@ } public static class DataModel { - private List rows; - private int total; + private String brandCode; + private String brandName; + private BusinessExtModel businessExt; + private String createTime; + private int deviceActive; + private String deviceActiveTime; + private String deviceAddress; + private int deviceBindUser; + private String deviceCoreParts; + private String deviceHardwareVersion; + private String deviceId; + private String deviceIp; + private String deviceMac; + private String deviceName; + private String deviceSoftwareVersion; + private int deviceStatus; + private String id; + private int iotDevice; + private String picUri; + private String produceDate; + private String productCode; + private String productName; + private String snCode; + private String supplierId; + private String supplierName; + private String updateTime; - public List getRows() { - return rows; + public String getBrandCode() { + return brandCode; } - public void setRows(List rows) { - this.rows = rows; + public void setBrandCode(String brandCode) { + this.brandCode = brandCode; } - public int getTotal() { - return total; + public String getBrandName() { + return brandName; } - public void setTotal(int total) { - this.total = total; + public void setBrandName(String brandName) { + this.brandName = brandName; } - public static class RowsModel { - private String brandCode; - private String brandName; + public BusinessExtModel getBusinessExt() { + return businessExt; + } + + public void setBusinessExt(BusinessExtModel businessExt) { + this.businessExt = businessExt; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public int getDeviceActive() { + return deviceActive; + } + + public void setDeviceActive(int deviceActive) { + this.deviceActive = deviceActive; + } + + public String getDeviceActiveTime() { + return deviceActiveTime; + } + + public void setDeviceActiveTime(String deviceActiveTime) { + this.deviceActiveTime = deviceActiveTime; + } + + public String getDeviceAddress() { + return deviceAddress; + } + + public void setDeviceAddress(String deviceAddress) { + this.deviceAddress = deviceAddress; + } + + public int getDeviceBindUser() { + return deviceBindUser; + } + + public void setDeviceBindUser(int deviceBindUser) { + this.deviceBindUser = deviceBindUser; + } + + public String getDeviceCoreParts() { + return deviceCoreParts; + } + + public void setDeviceCoreParts(String deviceCoreParts) { + this.deviceCoreParts = deviceCoreParts; + } + + public String getDeviceHardwareVersion() { + return deviceHardwareVersion; + } + + public void setDeviceHardwareVersion(String deviceHardwareVersion) { + this.deviceHardwareVersion = deviceHardwareVersion; + } + + public String getDeviceId() { + return deviceId; + } + + public void setDeviceId(String deviceId) { + this.deviceId = deviceId; + } + + public String getDeviceIp() { + return deviceIp; + } + + public void setDeviceIp(String deviceIp) { + this.deviceIp = deviceIp; + } + + public String getDeviceMac() { + return deviceMac; + } + + public void setDeviceMac(String deviceMac) { + this.deviceMac = deviceMac; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public String getDeviceSoftwareVersion() { + return deviceSoftwareVersion; + } + + public void setDeviceSoftwareVersion(String deviceSoftwareVersion) { + this.deviceSoftwareVersion = deviceSoftwareVersion; + } + + public int getDeviceStatus() { + return deviceStatus; + } + + public void setDeviceStatus(int deviceStatus) { + this.deviceStatus = deviceStatus; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIotDevice() { + return iotDevice; + } + + public void setIotDevice(int iotDevice) { + this.iotDevice = iotDevice; + } + + public String getPicUri() { + return picUri; + } + + public void setPicUri(String picUri) { + this.picUri = picUri; + } + + public String getProduceDate() { + return produceDate; + } + + public void setProduceDate(String produceDate) { + this.produceDate = produceDate; + } + + public String getProductCode() { + return productCode; + } + + public void setProductCode(String productCode) { + this.productCode = productCode; + } + + public String getProductName() { + return productName; + } + + public void setProductName(String productName) { + this.productName = productName; + } + + public String getSnCode() { + return snCode; + } + + public void setSnCode(String snCode) { + this.snCode = snCode; + } + + public String getSupplierId() { + return supplierId; + } + + public void setSupplierId(String supplierId) { + this.supplierId = supplierId; + } + + public String getSupplierName() { + return supplierName; + } + + public void setSupplierName(String supplierName) { + this.supplierName = supplierName; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public static class BusinessExtModel { private String createTime; - private int deviceActive; - private String deviceActiveTime; - private String deviceAddress; - private int deviceBindUser; - private String deviceCoreParts; - private String deviceHardwareVersion; + private String deciPoint1; + private String deciPoint2; private String deviceId; - private String deviceIp; - private String deviceMac; - private String deviceName; - private String deviceSoftwareVersion; - private int deviceStatus; private String id; - private int iotDevice; - private String produceDate; - private String productCode; - private String productName; - private String snCode; - private String supplierId; + private String sensorCode1; + private String sensorCode2; + private String sensorType1; + private String sensorType2; + private String sensorVal1; + private String sensorVal2; + private String sensorValUnit1; + private String sensorValUnit2; private String updateTime; - - public String getBrandCode() { - return brandCode; - } - - public void setBrandCode(String brandCode) { - this.brandCode = brandCode; - } - - public String getBrandName() { - return brandName; - } - - public void setBrandName(String brandName) { - this.brandName = brandName; - } + private String workStatus1; + private String workStatus2; public String getCreateTime() { return createTime; @@ -110,52 +304,20 @@ this.createTime = createTime; } - public int getDeviceActive() { - return deviceActive; + public String getDeciPoint1() { + return deciPoint1; } - public void setDeviceActive(int deviceActive) { - this.deviceActive = deviceActive; + public void setDeciPoint1(String deciPoint1) { + this.deciPoint1 = deciPoint1; } - public String getDeviceActiveTime() { - return deviceActiveTime; + public String getDeciPoint2() { + return deciPoint2; } - public void setDeviceActiveTime(String deviceActiveTime) { - this.deviceActiveTime = deviceActiveTime; - } - - public String getDeviceAddress() { - return deviceAddress; - } - - public void setDeviceAddress(String deviceAddress) { - this.deviceAddress = deviceAddress; - } - - public int getDeviceBindUser() { - return deviceBindUser; - } - - public void setDeviceBindUser(int deviceBindUser) { - this.deviceBindUser = deviceBindUser; - } - - public String getDeviceCoreParts() { - return deviceCoreParts; - } - - public void setDeviceCoreParts(String deviceCoreParts) { - this.deviceCoreParts = deviceCoreParts; - } - - public String getDeviceHardwareVersion() { - return deviceHardwareVersion; - } - - public void setDeviceHardwareVersion(String deviceHardwareVersion) { - this.deviceHardwareVersion = deviceHardwareVersion; + public void setDeciPoint2(String deciPoint2) { + this.deciPoint2 = deciPoint2; } public String getDeviceId() { @@ -166,46 +328,6 @@ this.deviceId = deviceId; } - public String getDeviceIp() { - return deviceIp; - } - - public void setDeviceIp(String deviceIp) { - this.deviceIp = deviceIp; - } - - public String getDeviceMac() { - return deviceMac; - } - - public void setDeviceMac(String deviceMac) { - this.deviceMac = deviceMac; - } - - public String getDeviceName() { - return deviceName; - } - - public void setDeviceName(String deviceName) { - this.deviceName = deviceName; - } - - public String getDeviceSoftwareVersion() { - return deviceSoftwareVersion; - } - - public void setDeviceSoftwareVersion(String deviceSoftwareVersion) { - this.deviceSoftwareVersion = deviceSoftwareVersion; - } - - public int getDeviceStatus() { - return deviceStatus; - } - - public void setDeviceStatus(int deviceStatus) { - this.deviceStatus = deviceStatus; - } - public String getId() { return id; } @@ -214,52 +336,68 @@ this.id = id; } - public int getIotDevice() { - return iotDevice; + public String getSensorCode1() { + return sensorCode1; } - public void setIotDevice(int iotDevice) { - this.iotDevice = iotDevice; + public void setSensorCode1(String sensorCode1) { + this.sensorCode1 = sensorCode1; } - public String getProduceDate() { - return produceDate; + public String getSensorCode2() { + return sensorCode2; } - public void setProduceDate(String produceDate) { - this.produceDate = produceDate; + public void setSensorCode2(String sensorCode2) { + this.sensorCode2 = sensorCode2; } - public String getProductCode() { - return productCode; + public String getSensorType1() { + return sensorType1; } - public void setProductCode(String productCode) { - this.productCode = productCode; + public void setSensorType1(String sensorType1) { + this.sensorType1 = sensorType1; } - public String getProductName() { - return productName; + public String getSensorType2() { + return sensorType2; } - public void setProductName(String productName) { - this.productName = productName; + public void setSensorType2(String sensorType2) { + this.sensorType2 = sensorType2; } - public String getSnCode() { - return snCode; + public String getSensorVal1() { + return sensorVal1; } - public void setSnCode(String snCode) { - this.snCode = snCode; + public void setSensorVal1(String sensorVal1) { + this.sensorVal1 = sensorVal1; } - public String getSupplierId() { - return supplierId; + public String getSensorVal2() { + return sensorVal2; } - public void setSupplierId(String supplierId) { - this.supplierId = supplierId; + public void setSensorVal2(String sensorVal2) { + this.sensorVal2 = sensorVal2; + } + + public String getSensorValUnit1() { + return sensorValUnit1; + } + + public void setSensorValUnit1(String sensorValUnit1) { + this.sensorValUnit1 = sensorValUnit1; + } + + public String getSensorValUnit2() { + return sensorValUnit2; + } + + public void setSensorValUnit2(String sensorValUnit2) { + this.sensorValUnit2 = sensorValUnit2; } public String getUpdateTime() { @@ -269,6 +407,22 @@ public void setUpdateTime(String updateTime) { this.updateTime = updateTime; } + + public String getWorkStatus1() { + return workStatus1; + } + + public void setWorkStatus1(String workStatus1) { + this.workStatus1 = workStatus1; + } + + public String getWorkStatus2() { + return workStatus2; + } + + public void setWorkStatus2(String workStatus2) { + this.workStatus2 = workStatus2; + } } } } diff --git a/app/src/main/java/com/casic/br/utils/LocaleConstant.kt b/app/src/main/java/com/casic/br/utils/LocaleConstant.kt index 9a1c919..9a05cee 100644 --- a/app/src/main/java/com/casic/br/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/br/utils/LocaleConstant.kt @@ -13,9 +13,9 @@ val USER_PERMISSIONS = arrayOf( Manifest.permission.ACCESS_LOCATION_EXTRA_COMMANDS, Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION, - Manifest.permission.CAMERA, Manifest.permission.READ_EXTERNAL_STORAGE, - Manifest.permission.READ_PHONE_STATE, Manifest.permission.BLUETOOTH, - Manifest.permission.BLUETOOTH_ADMIN + Manifest.permission.CAMERA, Manifest.permission.BLUETOOTH_ADMIN, + Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, + Manifest.permission.READ_PHONE_STATE, Manifest.permission.BLUETOOTH ) val SHOP_IMAGE = intArrayOf( R.drawable.ic_gouwuche, R.drawable.ic_dingdan, R.drawable.ic_shouhou @@ -104,5 +104,4 @@ const val WIFI_PASSWORD = "wifiPassword" const val ACCOUNT = "account" const val PASSWORD = "password" - const val HW_JT_KBZ1 = "https://www.hanwei.cn/wp-content/uploads/2022/04/JT-KBZ1.png" } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/br/utils/retrofit/RetrofitService.kt index 4a3cb74..cc48b70 100644 --- a/app/src/main/java/com/casic/br/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/br/utils/retrofit/RetrofitService.kt @@ -166,4 +166,13 @@ @QueryMap limit: Map, @QueryMap offset: Map ): String + + /** + * 汉威设备详情 + */ + @POST("/deviceInfo/detail") + suspend fun obtainDeviceDetail( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/utils/retrofit/RetrofitServiceManager.kt index 7f28146..bec22c5 100644 --- a/app/src/main/java/com/casic/br/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/br/utils/retrofit/RetrofitServiceManager.kt @@ -334,4 +334,16 @@ AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } + + /** + * 汉威设备详情 + */ + suspend fun obtainDeviceDetail(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.obtainDeviceDetail(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/view/AddressManagerActivity.kt b/app/src/main/java/com/casic/br/view/AddressManagerActivity.kt index 6b38073..41987b6 100644 --- a/app/src/main/java/com/casic/br/view/AddressManagerActivity.kt +++ b/app/src/main/java/com/casic/br/view/AddressManagerActivity.kt @@ -1,6 +1,5 @@ package com.casic.br.view -import android.content.Context import android.os.Handler import android.view.ViewGroup import androidx.lifecycle.ViewModelProvider diff --git a/app/src/main/java/com/casic/br/view/device/HWGasAlarmActivity.kt b/app/src/main/java/com/casic/br/view/device/HWGasAlarmActivity.kt new file mode 100644 index 0000000..23f5357 --- /dev/null +++ b/app/src/main/java/com/casic/br/view/device/HWGasAlarmActivity.kt @@ -0,0 +1,93 @@ +package com.casic.br.view.device + +import android.view.View +import androidx.lifecycle.ViewModelProvider +import com.bumptech.glide.Glide +import com.bumptech.glide.request.RequestOptions +import com.casic.br.R +import com.casic.br.extensions.combineImagePath +import com.casic.br.extensions.convertValue +import com.casic.br.extensions.initLayoutImmersionBar +import com.casic.br.utils.LoadingDialogHub +import com.casic.br.vm.DeviceViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_gas_alarm_hw.* +import kotlinx.android.synthetic.main.include_device_title.* + +/** + * 汉威报警器 + * */ +class HWGasAlarmActivity : KotlinBaseActivity() { + + private lateinit var deviceViewModel: DeviceViewModel + + override fun initLayoutView(): Int = R.layout.activity_gas_alarm_hw + + override fun observeRequestState() { + deviceViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> { + LoadingDialogHub.show(this, "加载数据中...") + } + LoadState.Success -> { + LoadingDialogHub.dismiss() + finish() + } + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + initLayoutImmersionBar(rootView) + ImmersionBar.with(this).statusBarDarkFont(true).init() + + leftBackView.setOnClickListener { finish() } + rightOperateView.visibility = View.GONE + } + + override fun initData() { + val id = intent.getStringExtra(Constant.INTENT_PARAM)!! + + deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java] + deviceViewModel.obtainDeviceDetail(id) + deviceViewModel.deviceModel.observe(this, { + if (it.code == 200) { + val sensorData = it.data.businessExt + + Glide.with(this) + .load(it.data.picUri.combineImagePath()) + .apply(RequestOptions.circleCropTransform()) + .placeholder(R.mipmap.load_image_error) + .into(deviceLogoView) + + deviceStateView.text = if (it.data.deviceActive == 1) { + "在线" + } else { + "离线" + } + + //取数据小数点位 + tempValueView.text = + "${sensorData.sensorVal2.convertValue(sensorData.deciPoint2.toInt())}${sensorData.sensorValUnit2}" + sensorValueView.text = + "${sensorData.sensorVal1.convertValue(sensorData.deciPoint1.toInt())}${sensorData.sensorValUnit1}" + + updateTimeView.text = sensorData.updateTime + + tempStateView.text = sensorData.workStatus2 + sensorStateView.text = sensorData.workStatus1 + } + }) + } + + override fun initEvent() { + showMoreView.setOnClickListener { + "此功能待后续完善".show(this) + } + } +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 4004755..26fd5a9 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -15,6 +15,7 @@ + @@ -87,6 +88,7 @@ + + private val dataRows: MutableList ) : RecyclerView.Adapter() { private var layoutInflater: LayoutInflater = LayoutInflater.from(context) @@ -36,7 +35,7 @@ val rowsModel = dataRows[position] holder.deviceNameView.text = rowsModel.deviceName Glide.with(context) - .load(LocaleConstant.HW_JT_KBZ1) + .load(rowsModel.picUri.combineImagePath()) .apply(RequestOptions.circleCropTransform()) .placeholder(R.mipmap.load_image_error) .into(holder.imageView) @@ -47,9 +46,6 @@ holder.rootView.setOnClickListener { clickListener?.onItemClick(position) } - holder.moreOperateButton.setOnClickListener { - clickListener?.onButtonClick(position) - } } override fun getItemCount(): Int = dataRows.size @@ -58,8 +54,6 @@ interface OnItemClickListener { fun onItemClick(position: Int) - - fun onButtonClick(position: Int) } fun setOnItemClickListener(clickListener: OnItemClickListener?) { @@ -69,7 +63,6 @@ class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { val rootView: LinearLayout = itemView.findViewById(R.id.rootView) val deviceNameView: TextView = itemView.findViewById(R.id.deviceNameView) - val moreOperateButton: Button = itemView.findViewById(R.id.moreOperateButton) val imageView: ImageView = itemView.findViewById(R.id.imageView) val deviceModelView: TextView = itemView.findViewById(R.id.deviceModelView) val deviceUsedTimeView: TextView = itemView.findViewById(R.id.deviceUsedTimeView) diff --git a/app/src/main/java/com/casic/br/extensions/String.kt b/app/src/main/java/com/casic/br/extensions/String.kt index c035c7b..b63113d 100644 --- a/app/src/main/java/com/casic/br/extensions/String.kt +++ b/app/src/main/java/com/casic/br/extensions/String.kt @@ -155,4 +155,18 @@ e.printStackTrace() } return R.drawable.ic_battery_0 +} + +fun String.convertValue(deciPoint: Int): Double { + if (this.isBlank()) { + return 0.0 + } + when (deciPoint) { + 0 -> return this.toDouble() + 1 -> return (this.toDouble()) / 10 + 2 -> return (this.toDouble()) / 100 + 3 -> return (this.toDouble()) / 1000 + 4 -> return (this.toDouble()) / 10000 + } + return this.toDouble() } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index c9f9257..fe1e87d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -11,7 +11,7 @@ import com.casic.br.adapter.RecommendAdapter import com.casic.br.extensions.initLayoutImmersionBar import com.casic.br.extensions.selectCategory -import com.casic.br.model.OtherDeviceModel +import com.casic.br.model.OtherDeviceListModel import com.casic.br.model.RecommendModel import com.casic.br.utils.DeserializeModel import com.casic.br.view.AddDeviceActivity @@ -40,7 +40,7 @@ private lateinit var otherDeviceAdapter: OtherDeviceAdapter private lateinit var deviceViewModel: DeviceViewModel private var dataBeans: MutableList = ArrayList() - private var dataModes: MutableList = ArrayList() + private var dataModes: MutableList = ArrayList() private var isRefresh = false override fun initLayoutView(): Int = R.layout.fragment_device @@ -226,6 +226,12 @@ } else { otherDeviceAdapter = OtherDeviceAdapter(requireContext(), dataModes) otherDeviceRecyclerView.adapter = otherDeviceAdapter + otherDeviceAdapter.setOnItemClickListener(object : + OtherDeviceAdapter.OnItemClickListener { + override fun onItemClick(position: Int) { + requireContext().navigatePageTo(dataModes[position].id) + } + }) } } true diff --git a/app/src/main/java/com/casic/br/model/AddedDeviceModel.java b/app/src/main/java/com/casic/br/model/AddedDeviceModel.java deleted file mode 100644 index b74bb70..0000000 --- a/app/src/main/java/com/casic/br/model/AddedDeviceModel.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.br.model; - -/** - * 已添加设备(Iot和非Iot设备)数据模型 - */ -public class AddedDeviceModel { - private String deviceId; - private String deviceName; - private boolean isOnline; - private String deviceImage; - private String deviceModel; - private String deviceType; - private String deviceUsedTime; - - public String getDeviceId() { - return deviceId; - } - - public void setDeviceId(String deviceId) { - this.deviceId = deviceId; - } - - public String getDeviceName() { - return deviceName; - } - - public void setDeviceName(String deviceName) { - this.deviceName = deviceName; - } - - public boolean isOnline() { - return isOnline; - } - - public void setOnline(boolean online) { - isOnline = online; - } - - public String getDeviceImage() { - return deviceImage; - } - - public void setDeviceImage(String deviceImage) { - this.deviceImage = deviceImage; - } - - public String getDeviceModel() { - return deviceModel; - } - - public void setDeviceModel(String deviceModel) { - this.deviceModel = deviceModel; - } - - public String getDeviceType() { - return deviceType; - } - - public void setDeviceType(String deviceType) { - this.deviceType = deviceType; - } - - public String getDeviceUsedTime() { - return deviceUsedTime; - } - - public void setDeviceUsedTime(String deviceUsedTime) { - this.deviceUsedTime = deviceUsedTime; - } -} diff --git a/app/src/main/java/com/casic/br/model/OtherDeviceListModel.java b/app/src/main/java/com/casic/br/model/OtherDeviceListModel.java new file mode 100644 index 0000000..3058c1f --- /dev/null +++ b/app/src/main/java/com/casic/br/model/OtherDeviceListModel.java @@ -0,0 +1,283 @@ +package com.casic.br.model; + +import java.util.List; + +public class OtherDeviceListModel { + + private int code; + private DataModel data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String brandCode; + private String brandName; + private String createTime; + private int deviceActive; + private String deviceActiveTime; + private String deviceAddress; + private int deviceBindUser; + private String deviceCoreParts; + private String deviceHardwareVersion; + private String deviceId; + private String deviceIp; + private String deviceMac; + private String deviceName; + private String deviceSoftwareVersion; + private int deviceStatus; + private String id; + private int iotDevice; + private String picUri; + private String produceDate; + private String productCode; + private String productName; + private String snCode; + private String supplierId; + private String updateTime; + + public String getBrandCode() { + return brandCode; + } + + public void setBrandCode(String brandCode) { + this.brandCode = brandCode; + } + + public String getBrandName() { + return brandName; + } + + public void setBrandName(String brandName) { + this.brandName = brandName; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public int getDeviceActive() { + return deviceActive; + } + + public void setDeviceActive(int deviceActive) { + this.deviceActive = deviceActive; + } + + public String getDeviceActiveTime() { + return deviceActiveTime; + } + + public void setDeviceActiveTime(String deviceActiveTime) { + this.deviceActiveTime = deviceActiveTime; + } + + public String getDeviceAddress() { + return deviceAddress; + } + + public void setDeviceAddress(String deviceAddress) { + this.deviceAddress = deviceAddress; + } + + public int getDeviceBindUser() { + return deviceBindUser; + } + + public void setDeviceBindUser(int deviceBindUser) { + this.deviceBindUser = deviceBindUser; + } + + public String getDeviceCoreParts() { + return deviceCoreParts; + } + + public void setDeviceCoreParts(String deviceCoreParts) { + this.deviceCoreParts = deviceCoreParts; + } + + public String getDeviceHardwareVersion() { + return deviceHardwareVersion; + } + + public void setDeviceHardwareVersion(String deviceHardwareVersion) { + this.deviceHardwareVersion = deviceHardwareVersion; + } + + public String getDeviceId() { + return deviceId; + } + + public void setDeviceId(String deviceId) { + this.deviceId = deviceId; + } + + public String getDeviceIp() { + return deviceIp; + } + + public void setDeviceIp(String deviceIp) { + this.deviceIp = deviceIp; + } + + public String getDeviceMac() { + return deviceMac; + } + + public void setDeviceMac(String deviceMac) { + this.deviceMac = deviceMac; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public String getDeviceSoftwareVersion() { + return deviceSoftwareVersion; + } + + public void setDeviceSoftwareVersion(String deviceSoftwareVersion) { + this.deviceSoftwareVersion = deviceSoftwareVersion; + } + + public int getDeviceStatus() { + return deviceStatus; + } + + public void setDeviceStatus(int deviceStatus) { + this.deviceStatus = deviceStatus; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIotDevice() { + return iotDevice; + } + + public void setIotDevice(int iotDevice) { + this.iotDevice = iotDevice; + } + + public String getPicUri() { + return picUri; + } + + public void setPicUri(String picUri) { + this.picUri = picUri; + } + + public String getProduceDate() { + return produceDate; + } + + public void setProduceDate(String produceDate) { + this.produceDate = produceDate; + } + + public String getProductCode() { + return productCode; + } + + public void setProductCode(String productCode) { + this.productCode = productCode; + } + + public String getProductName() { + return productName; + } + + public void setProductName(String productName) { + this.productName = productName; + } + + public String getSnCode() { + return snCode; + } + + public void setSnCode(String snCode) { + this.snCode = snCode; + } + + public String getSupplierId() { + return supplierId; + } + + public void setSupplierId(String supplierId) { + this.supplierId = supplierId; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/br/model/OtherDeviceModel.java b/app/src/main/java/com/casic/br/model/OtherDeviceModel.java index 747a107..8be88b3 100644 --- a/app/src/main/java/com/casic/br/model/OtherDeviceModel.java +++ b/app/src/main/java/com/casic/br/model/OtherDeviceModel.java @@ -1,7 +1,8 @@ package com.casic.br.model; -import java.util.List; - +/** + * 其他设备数据模型 + */ public class OtherDeviceModel { private int code; @@ -42,65 +43,258 @@ } public static class DataModel { - private List rows; - private int total; + private String brandCode; + private String brandName; + private BusinessExtModel businessExt; + private String createTime; + private int deviceActive; + private String deviceActiveTime; + private String deviceAddress; + private int deviceBindUser; + private String deviceCoreParts; + private String deviceHardwareVersion; + private String deviceId; + private String deviceIp; + private String deviceMac; + private String deviceName; + private String deviceSoftwareVersion; + private int deviceStatus; + private String id; + private int iotDevice; + private String picUri; + private String produceDate; + private String productCode; + private String productName; + private String snCode; + private String supplierId; + private String supplierName; + private String updateTime; - public List getRows() { - return rows; + public String getBrandCode() { + return brandCode; } - public void setRows(List rows) { - this.rows = rows; + public void setBrandCode(String brandCode) { + this.brandCode = brandCode; } - public int getTotal() { - return total; + public String getBrandName() { + return brandName; } - public void setTotal(int total) { - this.total = total; + public void setBrandName(String brandName) { + this.brandName = brandName; } - public static class RowsModel { - private String brandCode; - private String brandName; + public BusinessExtModel getBusinessExt() { + return businessExt; + } + + public void setBusinessExt(BusinessExtModel businessExt) { + this.businessExt = businessExt; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public int getDeviceActive() { + return deviceActive; + } + + public void setDeviceActive(int deviceActive) { + this.deviceActive = deviceActive; + } + + public String getDeviceActiveTime() { + return deviceActiveTime; + } + + public void setDeviceActiveTime(String deviceActiveTime) { + this.deviceActiveTime = deviceActiveTime; + } + + public String getDeviceAddress() { + return deviceAddress; + } + + public void setDeviceAddress(String deviceAddress) { + this.deviceAddress = deviceAddress; + } + + public int getDeviceBindUser() { + return deviceBindUser; + } + + public void setDeviceBindUser(int deviceBindUser) { + this.deviceBindUser = deviceBindUser; + } + + public String getDeviceCoreParts() { + return deviceCoreParts; + } + + public void setDeviceCoreParts(String deviceCoreParts) { + this.deviceCoreParts = deviceCoreParts; + } + + public String getDeviceHardwareVersion() { + return deviceHardwareVersion; + } + + public void setDeviceHardwareVersion(String deviceHardwareVersion) { + this.deviceHardwareVersion = deviceHardwareVersion; + } + + public String getDeviceId() { + return deviceId; + } + + public void setDeviceId(String deviceId) { + this.deviceId = deviceId; + } + + public String getDeviceIp() { + return deviceIp; + } + + public void setDeviceIp(String deviceIp) { + this.deviceIp = deviceIp; + } + + public String getDeviceMac() { + return deviceMac; + } + + public void setDeviceMac(String deviceMac) { + this.deviceMac = deviceMac; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public String getDeviceSoftwareVersion() { + return deviceSoftwareVersion; + } + + public void setDeviceSoftwareVersion(String deviceSoftwareVersion) { + this.deviceSoftwareVersion = deviceSoftwareVersion; + } + + public int getDeviceStatus() { + return deviceStatus; + } + + public void setDeviceStatus(int deviceStatus) { + this.deviceStatus = deviceStatus; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIotDevice() { + return iotDevice; + } + + public void setIotDevice(int iotDevice) { + this.iotDevice = iotDevice; + } + + public String getPicUri() { + return picUri; + } + + public void setPicUri(String picUri) { + this.picUri = picUri; + } + + public String getProduceDate() { + return produceDate; + } + + public void setProduceDate(String produceDate) { + this.produceDate = produceDate; + } + + public String getProductCode() { + return productCode; + } + + public void setProductCode(String productCode) { + this.productCode = productCode; + } + + public String getProductName() { + return productName; + } + + public void setProductName(String productName) { + this.productName = productName; + } + + public String getSnCode() { + return snCode; + } + + public void setSnCode(String snCode) { + this.snCode = snCode; + } + + public String getSupplierId() { + return supplierId; + } + + public void setSupplierId(String supplierId) { + this.supplierId = supplierId; + } + + public String getSupplierName() { + return supplierName; + } + + public void setSupplierName(String supplierName) { + this.supplierName = supplierName; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public static class BusinessExtModel { private String createTime; - private int deviceActive; - private String deviceActiveTime; - private String deviceAddress; - private int deviceBindUser; - private String deviceCoreParts; - private String deviceHardwareVersion; + private String deciPoint1; + private String deciPoint2; private String deviceId; - private String deviceIp; - private String deviceMac; - private String deviceName; - private String deviceSoftwareVersion; - private int deviceStatus; private String id; - private int iotDevice; - private String produceDate; - private String productCode; - private String productName; - private String snCode; - private String supplierId; + private String sensorCode1; + private String sensorCode2; + private String sensorType1; + private String sensorType2; + private String sensorVal1; + private String sensorVal2; + private String sensorValUnit1; + private String sensorValUnit2; private String updateTime; - - public String getBrandCode() { - return brandCode; - } - - public void setBrandCode(String brandCode) { - this.brandCode = brandCode; - } - - public String getBrandName() { - return brandName; - } - - public void setBrandName(String brandName) { - this.brandName = brandName; - } + private String workStatus1; + private String workStatus2; public String getCreateTime() { return createTime; @@ -110,52 +304,20 @@ this.createTime = createTime; } - public int getDeviceActive() { - return deviceActive; + public String getDeciPoint1() { + return deciPoint1; } - public void setDeviceActive(int deviceActive) { - this.deviceActive = deviceActive; + public void setDeciPoint1(String deciPoint1) { + this.deciPoint1 = deciPoint1; } - public String getDeviceActiveTime() { - return deviceActiveTime; + public String getDeciPoint2() { + return deciPoint2; } - public void setDeviceActiveTime(String deviceActiveTime) { - this.deviceActiveTime = deviceActiveTime; - } - - public String getDeviceAddress() { - return deviceAddress; - } - - public void setDeviceAddress(String deviceAddress) { - this.deviceAddress = deviceAddress; - } - - public int getDeviceBindUser() { - return deviceBindUser; - } - - public void setDeviceBindUser(int deviceBindUser) { - this.deviceBindUser = deviceBindUser; - } - - public String getDeviceCoreParts() { - return deviceCoreParts; - } - - public void setDeviceCoreParts(String deviceCoreParts) { - this.deviceCoreParts = deviceCoreParts; - } - - public String getDeviceHardwareVersion() { - return deviceHardwareVersion; - } - - public void setDeviceHardwareVersion(String deviceHardwareVersion) { - this.deviceHardwareVersion = deviceHardwareVersion; + public void setDeciPoint2(String deciPoint2) { + this.deciPoint2 = deciPoint2; } public String getDeviceId() { @@ -166,46 +328,6 @@ this.deviceId = deviceId; } - public String getDeviceIp() { - return deviceIp; - } - - public void setDeviceIp(String deviceIp) { - this.deviceIp = deviceIp; - } - - public String getDeviceMac() { - return deviceMac; - } - - public void setDeviceMac(String deviceMac) { - this.deviceMac = deviceMac; - } - - public String getDeviceName() { - return deviceName; - } - - public void setDeviceName(String deviceName) { - this.deviceName = deviceName; - } - - public String getDeviceSoftwareVersion() { - return deviceSoftwareVersion; - } - - public void setDeviceSoftwareVersion(String deviceSoftwareVersion) { - this.deviceSoftwareVersion = deviceSoftwareVersion; - } - - public int getDeviceStatus() { - return deviceStatus; - } - - public void setDeviceStatus(int deviceStatus) { - this.deviceStatus = deviceStatus; - } - public String getId() { return id; } @@ -214,52 +336,68 @@ this.id = id; } - public int getIotDevice() { - return iotDevice; + public String getSensorCode1() { + return sensorCode1; } - public void setIotDevice(int iotDevice) { - this.iotDevice = iotDevice; + public void setSensorCode1(String sensorCode1) { + this.sensorCode1 = sensorCode1; } - public String getProduceDate() { - return produceDate; + public String getSensorCode2() { + return sensorCode2; } - public void setProduceDate(String produceDate) { - this.produceDate = produceDate; + public void setSensorCode2(String sensorCode2) { + this.sensorCode2 = sensorCode2; } - public String getProductCode() { - return productCode; + public String getSensorType1() { + return sensorType1; } - public void setProductCode(String productCode) { - this.productCode = productCode; + public void setSensorType1(String sensorType1) { + this.sensorType1 = sensorType1; } - public String getProductName() { - return productName; + public String getSensorType2() { + return sensorType2; } - public void setProductName(String productName) { - this.productName = productName; + public void setSensorType2(String sensorType2) { + this.sensorType2 = sensorType2; } - public String getSnCode() { - return snCode; + public String getSensorVal1() { + return sensorVal1; } - public void setSnCode(String snCode) { - this.snCode = snCode; + public void setSensorVal1(String sensorVal1) { + this.sensorVal1 = sensorVal1; } - public String getSupplierId() { - return supplierId; + public String getSensorVal2() { + return sensorVal2; } - public void setSupplierId(String supplierId) { - this.supplierId = supplierId; + public void setSensorVal2(String sensorVal2) { + this.sensorVal2 = sensorVal2; + } + + public String getSensorValUnit1() { + return sensorValUnit1; + } + + public void setSensorValUnit1(String sensorValUnit1) { + this.sensorValUnit1 = sensorValUnit1; + } + + public String getSensorValUnit2() { + return sensorValUnit2; + } + + public void setSensorValUnit2(String sensorValUnit2) { + this.sensorValUnit2 = sensorValUnit2; } public String getUpdateTime() { @@ -269,6 +407,22 @@ public void setUpdateTime(String updateTime) { this.updateTime = updateTime; } + + public String getWorkStatus1() { + return workStatus1; + } + + public void setWorkStatus1(String workStatus1) { + this.workStatus1 = workStatus1; + } + + public String getWorkStatus2() { + return workStatus2; + } + + public void setWorkStatus2(String workStatus2) { + this.workStatus2 = workStatus2; + } } } } diff --git a/app/src/main/java/com/casic/br/utils/LocaleConstant.kt b/app/src/main/java/com/casic/br/utils/LocaleConstant.kt index 9a1c919..9a05cee 100644 --- a/app/src/main/java/com/casic/br/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/br/utils/LocaleConstant.kt @@ -13,9 +13,9 @@ val USER_PERMISSIONS = arrayOf( Manifest.permission.ACCESS_LOCATION_EXTRA_COMMANDS, Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION, - Manifest.permission.CAMERA, Manifest.permission.READ_EXTERNAL_STORAGE, - Manifest.permission.READ_PHONE_STATE, Manifest.permission.BLUETOOTH, - Manifest.permission.BLUETOOTH_ADMIN + Manifest.permission.CAMERA, Manifest.permission.BLUETOOTH_ADMIN, + Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, + Manifest.permission.READ_PHONE_STATE, Manifest.permission.BLUETOOTH ) val SHOP_IMAGE = intArrayOf( R.drawable.ic_gouwuche, R.drawable.ic_dingdan, R.drawable.ic_shouhou @@ -104,5 +104,4 @@ const val WIFI_PASSWORD = "wifiPassword" const val ACCOUNT = "account" const val PASSWORD = "password" - const val HW_JT_KBZ1 = "https://www.hanwei.cn/wp-content/uploads/2022/04/JT-KBZ1.png" } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/br/utils/retrofit/RetrofitService.kt index 4a3cb74..cc48b70 100644 --- a/app/src/main/java/com/casic/br/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/br/utils/retrofit/RetrofitService.kt @@ -166,4 +166,13 @@ @QueryMap limit: Map, @QueryMap offset: Map ): String + + /** + * 汉威设备详情 + */ + @POST("/deviceInfo/detail") + suspend fun obtainDeviceDetail( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/utils/retrofit/RetrofitServiceManager.kt index 7f28146..bec22c5 100644 --- a/app/src/main/java/com/casic/br/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/br/utils/retrofit/RetrofitServiceManager.kt @@ -334,4 +334,16 @@ AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } + + /** + * 汉威设备详情 + */ + suspend fun obtainDeviceDetail(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.obtainDeviceDetail(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/view/AddressManagerActivity.kt b/app/src/main/java/com/casic/br/view/AddressManagerActivity.kt index 6b38073..41987b6 100644 --- a/app/src/main/java/com/casic/br/view/AddressManagerActivity.kt +++ b/app/src/main/java/com/casic/br/view/AddressManagerActivity.kt @@ -1,6 +1,5 @@ package com.casic.br.view -import android.content.Context import android.os.Handler import android.view.ViewGroup import androidx.lifecycle.ViewModelProvider diff --git a/app/src/main/java/com/casic/br/view/device/HWGasAlarmActivity.kt b/app/src/main/java/com/casic/br/view/device/HWGasAlarmActivity.kt new file mode 100644 index 0000000..23f5357 --- /dev/null +++ b/app/src/main/java/com/casic/br/view/device/HWGasAlarmActivity.kt @@ -0,0 +1,93 @@ +package com.casic.br.view.device + +import android.view.View +import androidx.lifecycle.ViewModelProvider +import com.bumptech.glide.Glide +import com.bumptech.glide.request.RequestOptions +import com.casic.br.R +import com.casic.br.extensions.combineImagePath +import com.casic.br.extensions.convertValue +import com.casic.br.extensions.initLayoutImmersionBar +import com.casic.br.utils.LoadingDialogHub +import com.casic.br.vm.DeviceViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_gas_alarm_hw.* +import kotlinx.android.synthetic.main.include_device_title.* + +/** + * 汉威报警器 + * */ +class HWGasAlarmActivity : KotlinBaseActivity() { + + private lateinit var deviceViewModel: DeviceViewModel + + override fun initLayoutView(): Int = R.layout.activity_gas_alarm_hw + + override fun observeRequestState() { + deviceViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> { + LoadingDialogHub.show(this, "加载数据中...") + } + LoadState.Success -> { + LoadingDialogHub.dismiss() + finish() + } + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + initLayoutImmersionBar(rootView) + ImmersionBar.with(this).statusBarDarkFont(true).init() + + leftBackView.setOnClickListener { finish() } + rightOperateView.visibility = View.GONE + } + + override fun initData() { + val id = intent.getStringExtra(Constant.INTENT_PARAM)!! + + deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java] + deviceViewModel.obtainDeviceDetail(id) + deviceViewModel.deviceModel.observe(this, { + if (it.code == 200) { + val sensorData = it.data.businessExt + + Glide.with(this) + .load(it.data.picUri.combineImagePath()) + .apply(RequestOptions.circleCropTransform()) + .placeholder(R.mipmap.load_image_error) + .into(deviceLogoView) + + deviceStateView.text = if (it.data.deviceActive == 1) { + "在线" + } else { + "离线" + } + + //取数据小数点位 + tempValueView.text = + "${sensorData.sensorVal2.convertValue(sensorData.deciPoint2.toInt())}${sensorData.sensorValUnit2}" + sensorValueView.text = + "${sensorData.sensorVal1.convertValue(sensorData.deciPoint1.toInt())}${sensorData.sensorValUnit1}" + + updateTimeView.text = sensorData.updateTime + + tempStateView.text = sensorData.workStatus2 + sensorStateView.text = sensorData.workStatus1 + } + }) + } + + override fun initEvent() { + showMoreView.setOnClickListener { + "此功能待后续完善".show(this) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/vm/DeviceViewModel.kt b/app/src/main/java/com/casic/br/vm/DeviceViewModel.kt index da88052..a3535c2 100644 --- a/app/src/main/java/com/casic/br/vm/DeviceViewModel.kt +++ b/app/src/main/java/com/casic/br/vm/DeviceViewModel.kt @@ -5,6 +5,7 @@ import com.casic.br.base.BaseApplication import com.casic.br.extensions.separateResponseCode import com.casic.br.extensions.toErrorMessage +import com.casic.br.model.OtherDeviceListModel import com.casic.br.model.OtherDeviceModel import com.casic.br.model.UserDetailModel import com.casic.br.utils.retrofit.RetrofitServiceManager @@ -20,7 +21,8 @@ class DeviceViewModel : BaseViewModel() { private val gson by lazy { Gson() } - val listModel = MutableLiveData() + val listModel = MutableLiveData() + val deviceModel = MutableLiveData() fun addDevice( devResp: DeviceBean, @@ -56,7 +58,21 @@ val response = RetrofitServiceManager.obtainOtherDeviceListByPage() val responseCode = response.separateResponseCode() if (responseCode == 200) { - listModel.value = gson.fromJson( + listModel.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + response.toErrorMessage().show(BaseApplication.obtainInstance()) + } + }, { + it.printStackTrace() + }) + + fun obtainDeviceDetail(id: String) = launch({ + val response = RetrofitServiceManager.obtainDeviceDetail(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + deviceModel.value = gson.fromJson( response, object : TypeToken() {}.type ) } else { diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 4004755..26fd5a9 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -15,6 +15,7 @@ + @@ -87,6 +88,7 @@ + + private val dataRows: MutableList ) : RecyclerView.Adapter() { private var layoutInflater: LayoutInflater = LayoutInflater.from(context) @@ -36,7 +35,7 @@ val rowsModel = dataRows[position] holder.deviceNameView.text = rowsModel.deviceName Glide.with(context) - .load(LocaleConstant.HW_JT_KBZ1) + .load(rowsModel.picUri.combineImagePath()) .apply(RequestOptions.circleCropTransform()) .placeholder(R.mipmap.load_image_error) .into(holder.imageView) @@ -47,9 +46,6 @@ holder.rootView.setOnClickListener { clickListener?.onItemClick(position) } - holder.moreOperateButton.setOnClickListener { - clickListener?.onButtonClick(position) - } } override fun getItemCount(): Int = dataRows.size @@ -58,8 +54,6 @@ interface OnItemClickListener { fun onItemClick(position: Int) - - fun onButtonClick(position: Int) } fun setOnItemClickListener(clickListener: OnItemClickListener?) { @@ -69,7 +63,6 @@ class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { val rootView: LinearLayout = itemView.findViewById(R.id.rootView) val deviceNameView: TextView = itemView.findViewById(R.id.deviceNameView) - val moreOperateButton: Button = itemView.findViewById(R.id.moreOperateButton) val imageView: ImageView = itemView.findViewById(R.id.imageView) val deviceModelView: TextView = itemView.findViewById(R.id.deviceModelView) val deviceUsedTimeView: TextView = itemView.findViewById(R.id.deviceUsedTimeView) diff --git a/app/src/main/java/com/casic/br/extensions/String.kt b/app/src/main/java/com/casic/br/extensions/String.kt index c035c7b..b63113d 100644 --- a/app/src/main/java/com/casic/br/extensions/String.kt +++ b/app/src/main/java/com/casic/br/extensions/String.kt @@ -155,4 +155,18 @@ e.printStackTrace() } return R.drawable.ic_battery_0 +} + +fun String.convertValue(deciPoint: Int): Double { + if (this.isBlank()) { + return 0.0 + } + when (deciPoint) { + 0 -> return this.toDouble() + 1 -> return (this.toDouble()) / 10 + 2 -> return (this.toDouble()) / 100 + 3 -> return (this.toDouble()) / 1000 + 4 -> return (this.toDouble()) / 10000 + } + return this.toDouble() } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index c9f9257..fe1e87d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -11,7 +11,7 @@ import com.casic.br.adapter.RecommendAdapter import com.casic.br.extensions.initLayoutImmersionBar import com.casic.br.extensions.selectCategory -import com.casic.br.model.OtherDeviceModel +import com.casic.br.model.OtherDeviceListModel import com.casic.br.model.RecommendModel import com.casic.br.utils.DeserializeModel import com.casic.br.view.AddDeviceActivity @@ -40,7 +40,7 @@ private lateinit var otherDeviceAdapter: OtherDeviceAdapter private lateinit var deviceViewModel: DeviceViewModel private var dataBeans: MutableList = ArrayList() - private var dataModes: MutableList = ArrayList() + private var dataModes: MutableList = ArrayList() private var isRefresh = false override fun initLayoutView(): Int = R.layout.fragment_device @@ -226,6 +226,12 @@ } else { otherDeviceAdapter = OtherDeviceAdapter(requireContext(), dataModes) otherDeviceRecyclerView.adapter = otherDeviceAdapter + otherDeviceAdapter.setOnItemClickListener(object : + OtherDeviceAdapter.OnItemClickListener { + override fun onItemClick(position: Int) { + requireContext().navigatePageTo(dataModes[position].id) + } + }) } } true diff --git a/app/src/main/java/com/casic/br/model/AddedDeviceModel.java b/app/src/main/java/com/casic/br/model/AddedDeviceModel.java deleted file mode 100644 index b74bb70..0000000 --- a/app/src/main/java/com/casic/br/model/AddedDeviceModel.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.br.model; - -/** - * 已添加设备(Iot和非Iot设备)数据模型 - */ -public class AddedDeviceModel { - private String deviceId; - private String deviceName; - private boolean isOnline; - private String deviceImage; - private String deviceModel; - private String deviceType; - private String deviceUsedTime; - - public String getDeviceId() { - return deviceId; - } - - public void setDeviceId(String deviceId) { - this.deviceId = deviceId; - } - - public String getDeviceName() { - return deviceName; - } - - public void setDeviceName(String deviceName) { - this.deviceName = deviceName; - } - - public boolean isOnline() { - return isOnline; - } - - public void setOnline(boolean online) { - isOnline = online; - } - - public String getDeviceImage() { - return deviceImage; - } - - public void setDeviceImage(String deviceImage) { - this.deviceImage = deviceImage; - } - - public String getDeviceModel() { - return deviceModel; - } - - public void setDeviceModel(String deviceModel) { - this.deviceModel = deviceModel; - } - - public String getDeviceType() { - return deviceType; - } - - public void setDeviceType(String deviceType) { - this.deviceType = deviceType; - } - - public String getDeviceUsedTime() { - return deviceUsedTime; - } - - public void setDeviceUsedTime(String deviceUsedTime) { - this.deviceUsedTime = deviceUsedTime; - } -} diff --git a/app/src/main/java/com/casic/br/model/OtherDeviceListModel.java b/app/src/main/java/com/casic/br/model/OtherDeviceListModel.java new file mode 100644 index 0000000..3058c1f --- /dev/null +++ b/app/src/main/java/com/casic/br/model/OtherDeviceListModel.java @@ -0,0 +1,283 @@ +package com.casic.br.model; + +import java.util.List; + +public class OtherDeviceListModel { + + private int code; + private DataModel data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String brandCode; + private String brandName; + private String createTime; + private int deviceActive; + private String deviceActiveTime; + private String deviceAddress; + private int deviceBindUser; + private String deviceCoreParts; + private String deviceHardwareVersion; + private String deviceId; + private String deviceIp; + private String deviceMac; + private String deviceName; + private String deviceSoftwareVersion; + private int deviceStatus; + private String id; + private int iotDevice; + private String picUri; + private String produceDate; + private String productCode; + private String productName; + private String snCode; + private String supplierId; + private String updateTime; + + public String getBrandCode() { + return brandCode; + } + + public void setBrandCode(String brandCode) { + this.brandCode = brandCode; + } + + public String getBrandName() { + return brandName; + } + + public void setBrandName(String brandName) { + this.brandName = brandName; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public int getDeviceActive() { + return deviceActive; + } + + public void setDeviceActive(int deviceActive) { + this.deviceActive = deviceActive; + } + + public String getDeviceActiveTime() { + return deviceActiveTime; + } + + public void setDeviceActiveTime(String deviceActiveTime) { + this.deviceActiveTime = deviceActiveTime; + } + + public String getDeviceAddress() { + return deviceAddress; + } + + public void setDeviceAddress(String deviceAddress) { + this.deviceAddress = deviceAddress; + } + + public int getDeviceBindUser() { + return deviceBindUser; + } + + public void setDeviceBindUser(int deviceBindUser) { + this.deviceBindUser = deviceBindUser; + } + + public String getDeviceCoreParts() { + return deviceCoreParts; + } + + public void setDeviceCoreParts(String deviceCoreParts) { + this.deviceCoreParts = deviceCoreParts; + } + + public String getDeviceHardwareVersion() { + return deviceHardwareVersion; + } + + public void setDeviceHardwareVersion(String deviceHardwareVersion) { + this.deviceHardwareVersion = deviceHardwareVersion; + } + + public String getDeviceId() { + return deviceId; + } + + public void setDeviceId(String deviceId) { + this.deviceId = deviceId; + } + + public String getDeviceIp() { + return deviceIp; + } + + public void setDeviceIp(String deviceIp) { + this.deviceIp = deviceIp; + } + + public String getDeviceMac() { + return deviceMac; + } + + public void setDeviceMac(String deviceMac) { + this.deviceMac = deviceMac; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public String getDeviceSoftwareVersion() { + return deviceSoftwareVersion; + } + + public void setDeviceSoftwareVersion(String deviceSoftwareVersion) { + this.deviceSoftwareVersion = deviceSoftwareVersion; + } + + public int getDeviceStatus() { + return deviceStatus; + } + + public void setDeviceStatus(int deviceStatus) { + this.deviceStatus = deviceStatus; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIotDevice() { + return iotDevice; + } + + public void setIotDevice(int iotDevice) { + this.iotDevice = iotDevice; + } + + public String getPicUri() { + return picUri; + } + + public void setPicUri(String picUri) { + this.picUri = picUri; + } + + public String getProduceDate() { + return produceDate; + } + + public void setProduceDate(String produceDate) { + this.produceDate = produceDate; + } + + public String getProductCode() { + return productCode; + } + + public void setProductCode(String productCode) { + this.productCode = productCode; + } + + public String getProductName() { + return productName; + } + + public void setProductName(String productName) { + this.productName = productName; + } + + public String getSnCode() { + return snCode; + } + + public void setSnCode(String snCode) { + this.snCode = snCode; + } + + public String getSupplierId() { + return supplierId; + } + + public void setSupplierId(String supplierId) { + this.supplierId = supplierId; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/br/model/OtherDeviceModel.java b/app/src/main/java/com/casic/br/model/OtherDeviceModel.java index 747a107..8be88b3 100644 --- a/app/src/main/java/com/casic/br/model/OtherDeviceModel.java +++ b/app/src/main/java/com/casic/br/model/OtherDeviceModel.java @@ -1,7 +1,8 @@ package com.casic.br.model; -import java.util.List; - +/** + * 其他设备数据模型 + */ public class OtherDeviceModel { private int code; @@ -42,65 +43,258 @@ } public static class DataModel { - private List rows; - private int total; + private String brandCode; + private String brandName; + private BusinessExtModel businessExt; + private String createTime; + private int deviceActive; + private String deviceActiveTime; + private String deviceAddress; + private int deviceBindUser; + private String deviceCoreParts; + private String deviceHardwareVersion; + private String deviceId; + private String deviceIp; + private String deviceMac; + private String deviceName; + private String deviceSoftwareVersion; + private int deviceStatus; + private String id; + private int iotDevice; + private String picUri; + private String produceDate; + private String productCode; + private String productName; + private String snCode; + private String supplierId; + private String supplierName; + private String updateTime; - public List getRows() { - return rows; + public String getBrandCode() { + return brandCode; } - public void setRows(List rows) { - this.rows = rows; + public void setBrandCode(String brandCode) { + this.brandCode = brandCode; } - public int getTotal() { - return total; + public String getBrandName() { + return brandName; } - public void setTotal(int total) { - this.total = total; + public void setBrandName(String brandName) { + this.brandName = brandName; } - public static class RowsModel { - private String brandCode; - private String brandName; + public BusinessExtModel getBusinessExt() { + return businessExt; + } + + public void setBusinessExt(BusinessExtModel businessExt) { + this.businessExt = businessExt; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public int getDeviceActive() { + return deviceActive; + } + + public void setDeviceActive(int deviceActive) { + this.deviceActive = deviceActive; + } + + public String getDeviceActiveTime() { + return deviceActiveTime; + } + + public void setDeviceActiveTime(String deviceActiveTime) { + this.deviceActiveTime = deviceActiveTime; + } + + public String getDeviceAddress() { + return deviceAddress; + } + + public void setDeviceAddress(String deviceAddress) { + this.deviceAddress = deviceAddress; + } + + public int getDeviceBindUser() { + return deviceBindUser; + } + + public void setDeviceBindUser(int deviceBindUser) { + this.deviceBindUser = deviceBindUser; + } + + public String getDeviceCoreParts() { + return deviceCoreParts; + } + + public void setDeviceCoreParts(String deviceCoreParts) { + this.deviceCoreParts = deviceCoreParts; + } + + public String getDeviceHardwareVersion() { + return deviceHardwareVersion; + } + + public void setDeviceHardwareVersion(String deviceHardwareVersion) { + this.deviceHardwareVersion = deviceHardwareVersion; + } + + public String getDeviceId() { + return deviceId; + } + + public void setDeviceId(String deviceId) { + this.deviceId = deviceId; + } + + public String getDeviceIp() { + return deviceIp; + } + + public void setDeviceIp(String deviceIp) { + this.deviceIp = deviceIp; + } + + public String getDeviceMac() { + return deviceMac; + } + + public void setDeviceMac(String deviceMac) { + this.deviceMac = deviceMac; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public String getDeviceSoftwareVersion() { + return deviceSoftwareVersion; + } + + public void setDeviceSoftwareVersion(String deviceSoftwareVersion) { + this.deviceSoftwareVersion = deviceSoftwareVersion; + } + + public int getDeviceStatus() { + return deviceStatus; + } + + public void setDeviceStatus(int deviceStatus) { + this.deviceStatus = deviceStatus; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIotDevice() { + return iotDevice; + } + + public void setIotDevice(int iotDevice) { + this.iotDevice = iotDevice; + } + + public String getPicUri() { + return picUri; + } + + public void setPicUri(String picUri) { + this.picUri = picUri; + } + + public String getProduceDate() { + return produceDate; + } + + public void setProduceDate(String produceDate) { + this.produceDate = produceDate; + } + + public String getProductCode() { + return productCode; + } + + public void setProductCode(String productCode) { + this.productCode = productCode; + } + + public String getProductName() { + return productName; + } + + public void setProductName(String productName) { + this.productName = productName; + } + + public String getSnCode() { + return snCode; + } + + public void setSnCode(String snCode) { + this.snCode = snCode; + } + + public String getSupplierId() { + return supplierId; + } + + public void setSupplierId(String supplierId) { + this.supplierId = supplierId; + } + + public String getSupplierName() { + return supplierName; + } + + public void setSupplierName(String supplierName) { + this.supplierName = supplierName; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public static class BusinessExtModel { private String createTime; - private int deviceActive; - private String deviceActiveTime; - private String deviceAddress; - private int deviceBindUser; - private String deviceCoreParts; - private String deviceHardwareVersion; + private String deciPoint1; + private String deciPoint2; private String deviceId; - private String deviceIp; - private String deviceMac; - private String deviceName; - private String deviceSoftwareVersion; - private int deviceStatus; private String id; - private int iotDevice; - private String produceDate; - private String productCode; - private String productName; - private String snCode; - private String supplierId; + private String sensorCode1; + private String sensorCode2; + private String sensorType1; + private String sensorType2; + private String sensorVal1; + private String sensorVal2; + private String sensorValUnit1; + private String sensorValUnit2; private String updateTime; - - public String getBrandCode() { - return brandCode; - } - - public void setBrandCode(String brandCode) { - this.brandCode = brandCode; - } - - public String getBrandName() { - return brandName; - } - - public void setBrandName(String brandName) { - this.brandName = brandName; - } + private String workStatus1; + private String workStatus2; public String getCreateTime() { return createTime; @@ -110,52 +304,20 @@ this.createTime = createTime; } - public int getDeviceActive() { - return deviceActive; + public String getDeciPoint1() { + return deciPoint1; } - public void setDeviceActive(int deviceActive) { - this.deviceActive = deviceActive; + public void setDeciPoint1(String deciPoint1) { + this.deciPoint1 = deciPoint1; } - public String getDeviceActiveTime() { - return deviceActiveTime; + public String getDeciPoint2() { + return deciPoint2; } - public void setDeviceActiveTime(String deviceActiveTime) { - this.deviceActiveTime = deviceActiveTime; - } - - public String getDeviceAddress() { - return deviceAddress; - } - - public void setDeviceAddress(String deviceAddress) { - this.deviceAddress = deviceAddress; - } - - public int getDeviceBindUser() { - return deviceBindUser; - } - - public void setDeviceBindUser(int deviceBindUser) { - this.deviceBindUser = deviceBindUser; - } - - public String getDeviceCoreParts() { - return deviceCoreParts; - } - - public void setDeviceCoreParts(String deviceCoreParts) { - this.deviceCoreParts = deviceCoreParts; - } - - public String getDeviceHardwareVersion() { - return deviceHardwareVersion; - } - - public void setDeviceHardwareVersion(String deviceHardwareVersion) { - this.deviceHardwareVersion = deviceHardwareVersion; + public void setDeciPoint2(String deciPoint2) { + this.deciPoint2 = deciPoint2; } public String getDeviceId() { @@ -166,46 +328,6 @@ this.deviceId = deviceId; } - public String getDeviceIp() { - return deviceIp; - } - - public void setDeviceIp(String deviceIp) { - this.deviceIp = deviceIp; - } - - public String getDeviceMac() { - return deviceMac; - } - - public void setDeviceMac(String deviceMac) { - this.deviceMac = deviceMac; - } - - public String getDeviceName() { - return deviceName; - } - - public void setDeviceName(String deviceName) { - this.deviceName = deviceName; - } - - public String getDeviceSoftwareVersion() { - return deviceSoftwareVersion; - } - - public void setDeviceSoftwareVersion(String deviceSoftwareVersion) { - this.deviceSoftwareVersion = deviceSoftwareVersion; - } - - public int getDeviceStatus() { - return deviceStatus; - } - - public void setDeviceStatus(int deviceStatus) { - this.deviceStatus = deviceStatus; - } - public String getId() { return id; } @@ -214,52 +336,68 @@ this.id = id; } - public int getIotDevice() { - return iotDevice; + public String getSensorCode1() { + return sensorCode1; } - public void setIotDevice(int iotDevice) { - this.iotDevice = iotDevice; + public void setSensorCode1(String sensorCode1) { + this.sensorCode1 = sensorCode1; } - public String getProduceDate() { - return produceDate; + public String getSensorCode2() { + return sensorCode2; } - public void setProduceDate(String produceDate) { - this.produceDate = produceDate; + public void setSensorCode2(String sensorCode2) { + this.sensorCode2 = sensorCode2; } - public String getProductCode() { - return productCode; + public String getSensorType1() { + return sensorType1; } - public void setProductCode(String productCode) { - this.productCode = productCode; + public void setSensorType1(String sensorType1) { + this.sensorType1 = sensorType1; } - public String getProductName() { - return productName; + public String getSensorType2() { + return sensorType2; } - public void setProductName(String productName) { - this.productName = productName; + public void setSensorType2(String sensorType2) { + this.sensorType2 = sensorType2; } - public String getSnCode() { - return snCode; + public String getSensorVal1() { + return sensorVal1; } - public void setSnCode(String snCode) { - this.snCode = snCode; + public void setSensorVal1(String sensorVal1) { + this.sensorVal1 = sensorVal1; } - public String getSupplierId() { - return supplierId; + public String getSensorVal2() { + return sensorVal2; } - public void setSupplierId(String supplierId) { - this.supplierId = supplierId; + public void setSensorVal2(String sensorVal2) { + this.sensorVal2 = sensorVal2; + } + + public String getSensorValUnit1() { + return sensorValUnit1; + } + + public void setSensorValUnit1(String sensorValUnit1) { + this.sensorValUnit1 = sensorValUnit1; + } + + public String getSensorValUnit2() { + return sensorValUnit2; + } + + public void setSensorValUnit2(String sensorValUnit2) { + this.sensorValUnit2 = sensorValUnit2; } public String getUpdateTime() { @@ -269,6 +407,22 @@ public void setUpdateTime(String updateTime) { this.updateTime = updateTime; } + + public String getWorkStatus1() { + return workStatus1; + } + + public void setWorkStatus1(String workStatus1) { + this.workStatus1 = workStatus1; + } + + public String getWorkStatus2() { + return workStatus2; + } + + public void setWorkStatus2(String workStatus2) { + this.workStatus2 = workStatus2; + } } } } diff --git a/app/src/main/java/com/casic/br/utils/LocaleConstant.kt b/app/src/main/java/com/casic/br/utils/LocaleConstant.kt index 9a1c919..9a05cee 100644 --- a/app/src/main/java/com/casic/br/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/br/utils/LocaleConstant.kt @@ -13,9 +13,9 @@ val USER_PERMISSIONS = arrayOf( Manifest.permission.ACCESS_LOCATION_EXTRA_COMMANDS, Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION, - Manifest.permission.CAMERA, Manifest.permission.READ_EXTERNAL_STORAGE, - Manifest.permission.READ_PHONE_STATE, Manifest.permission.BLUETOOTH, - Manifest.permission.BLUETOOTH_ADMIN + Manifest.permission.CAMERA, Manifest.permission.BLUETOOTH_ADMIN, + Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, + Manifest.permission.READ_PHONE_STATE, Manifest.permission.BLUETOOTH ) val SHOP_IMAGE = intArrayOf( R.drawable.ic_gouwuche, R.drawable.ic_dingdan, R.drawable.ic_shouhou @@ -104,5 +104,4 @@ const val WIFI_PASSWORD = "wifiPassword" const val ACCOUNT = "account" const val PASSWORD = "password" - const val HW_JT_KBZ1 = "https://www.hanwei.cn/wp-content/uploads/2022/04/JT-KBZ1.png" } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/br/utils/retrofit/RetrofitService.kt index 4a3cb74..cc48b70 100644 --- a/app/src/main/java/com/casic/br/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/br/utils/retrofit/RetrofitService.kt @@ -166,4 +166,13 @@ @QueryMap limit: Map, @QueryMap offset: Map ): String + + /** + * 汉威设备详情 + */ + @POST("/deviceInfo/detail") + suspend fun obtainDeviceDetail( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/utils/retrofit/RetrofitServiceManager.kt index 7f28146..bec22c5 100644 --- a/app/src/main/java/com/casic/br/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/br/utils/retrofit/RetrofitServiceManager.kt @@ -334,4 +334,16 @@ AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } + + /** + * 汉威设备详情 + */ + suspend fun obtainDeviceDetail(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.obtainDeviceDetail(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/view/AddressManagerActivity.kt b/app/src/main/java/com/casic/br/view/AddressManagerActivity.kt index 6b38073..41987b6 100644 --- a/app/src/main/java/com/casic/br/view/AddressManagerActivity.kt +++ b/app/src/main/java/com/casic/br/view/AddressManagerActivity.kt @@ -1,6 +1,5 @@ package com.casic.br.view -import android.content.Context import android.os.Handler import android.view.ViewGroup import androidx.lifecycle.ViewModelProvider diff --git a/app/src/main/java/com/casic/br/view/device/HWGasAlarmActivity.kt b/app/src/main/java/com/casic/br/view/device/HWGasAlarmActivity.kt new file mode 100644 index 0000000..23f5357 --- /dev/null +++ b/app/src/main/java/com/casic/br/view/device/HWGasAlarmActivity.kt @@ -0,0 +1,93 @@ +package com.casic.br.view.device + +import android.view.View +import androidx.lifecycle.ViewModelProvider +import com.bumptech.glide.Glide +import com.bumptech.glide.request.RequestOptions +import com.casic.br.R +import com.casic.br.extensions.combineImagePath +import com.casic.br.extensions.convertValue +import com.casic.br.extensions.initLayoutImmersionBar +import com.casic.br.utils.LoadingDialogHub +import com.casic.br.vm.DeviceViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_gas_alarm_hw.* +import kotlinx.android.synthetic.main.include_device_title.* + +/** + * 汉威报警器 + * */ +class HWGasAlarmActivity : KotlinBaseActivity() { + + private lateinit var deviceViewModel: DeviceViewModel + + override fun initLayoutView(): Int = R.layout.activity_gas_alarm_hw + + override fun observeRequestState() { + deviceViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> { + LoadingDialogHub.show(this, "加载数据中...") + } + LoadState.Success -> { + LoadingDialogHub.dismiss() + finish() + } + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + initLayoutImmersionBar(rootView) + ImmersionBar.with(this).statusBarDarkFont(true).init() + + leftBackView.setOnClickListener { finish() } + rightOperateView.visibility = View.GONE + } + + override fun initData() { + val id = intent.getStringExtra(Constant.INTENT_PARAM)!! + + deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java] + deviceViewModel.obtainDeviceDetail(id) + deviceViewModel.deviceModel.observe(this, { + if (it.code == 200) { + val sensorData = it.data.businessExt + + Glide.with(this) + .load(it.data.picUri.combineImagePath()) + .apply(RequestOptions.circleCropTransform()) + .placeholder(R.mipmap.load_image_error) + .into(deviceLogoView) + + deviceStateView.text = if (it.data.deviceActive == 1) { + "在线" + } else { + "离线" + } + + //取数据小数点位 + tempValueView.text = + "${sensorData.sensorVal2.convertValue(sensorData.deciPoint2.toInt())}${sensorData.sensorValUnit2}" + sensorValueView.text = + "${sensorData.sensorVal1.convertValue(sensorData.deciPoint1.toInt())}${sensorData.sensorValUnit1}" + + updateTimeView.text = sensorData.updateTime + + tempStateView.text = sensorData.workStatus2 + sensorStateView.text = sensorData.workStatus1 + } + }) + } + + override fun initEvent() { + showMoreView.setOnClickListener { + "此功能待后续完善".show(this) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/vm/DeviceViewModel.kt b/app/src/main/java/com/casic/br/vm/DeviceViewModel.kt index da88052..a3535c2 100644 --- a/app/src/main/java/com/casic/br/vm/DeviceViewModel.kt +++ b/app/src/main/java/com/casic/br/vm/DeviceViewModel.kt @@ -5,6 +5,7 @@ import com.casic.br.base.BaseApplication import com.casic.br.extensions.separateResponseCode import com.casic.br.extensions.toErrorMessage +import com.casic.br.model.OtherDeviceListModel import com.casic.br.model.OtherDeviceModel import com.casic.br.model.UserDetailModel import com.casic.br.utils.retrofit.RetrofitServiceManager @@ -20,7 +21,8 @@ class DeviceViewModel : BaseViewModel() { private val gson by lazy { Gson() } - val listModel = MutableLiveData() + val listModel = MutableLiveData() + val deviceModel = MutableLiveData() fun addDevice( devResp: DeviceBean, @@ -56,7 +58,21 @@ val response = RetrofitServiceManager.obtainOtherDeviceListByPage() val responseCode = response.separateResponseCode() if (responseCode == 200) { - listModel.value = gson.fromJson( + listModel.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + response.toErrorMessage().show(BaseApplication.obtainInstance()) + } + }, { + it.printStackTrace() + }) + + fun obtainDeviceDetail(id: String) = launch({ + val response = RetrofitServiceManager.obtainDeviceDetail(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + deviceModel.value = gson.fromJson( response, object : TypeToken() {}.type ) } else { diff --git a/app/src/main/res/layout/activity_gas_alarm_hw.xml b/app/src/main/res/layout/activity_gas_alarm_hw.xml new file mode 100644 index 0000000..d99f6bc --- /dev/null +++ b/app/src/main/res/layout/activity_gas_alarm_hw.xml @@ -0,0 +1,197 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 4004755..26fd5a9 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -15,6 +15,7 @@ + @@ -87,6 +88,7 @@ + + private val dataRows: MutableList ) : RecyclerView.Adapter() { private var layoutInflater: LayoutInflater = LayoutInflater.from(context) @@ -36,7 +35,7 @@ val rowsModel = dataRows[position] holder.deviceNameView.text = rowsModel.deviceName Glide.with(context) - .load(LocaleConstant.HW_JT_KBZ1) + .load(rowsModel.picUri.combineImagePath()) .apply(RequestOptions.circleCropTransform()) .placeholder(R.mipmap.load_image_error) .into(holder.imageView) @@ -47,9 +46,6 @@ holder.rootView.setOnClickListener { clickListener?.onItemClick(position) } - holder.moreOperateButton.setOnClickListener { - clickListener?.onButtonClick(position) - } } override fun getItemCount(): Int = dataRows.size @@ -58,8 +54,6 @@ interface OnItemClickListener { fun onItemClick(position: Int) - - fun onButtonClick(position: Int) } fun setOnItemClickListener(clickListener: OnItemClickListener?) { @@ -69,7 +63,6 @@ class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { val rootView: LinearLayout = itemView.findViewById(R.id.rootView) val deviceNameView: TextView = itemView.findViewById(R.id.deviceNameView) - val moreOperateButton: Button = itemView.findViewById(R.id.moreOperateButton) val imageView: ImageView = itemView.findViewById(R.id.imageView) val deviceModelView: TextView = itemView.findViewById(R.id.deviceModelView) val deviceUsedTimeView: TextView = itemView.findViewById(R.id.deviceUsedTimeView) diff --git a/app/src/main/java/com/casic/br/extensions/String.kt b/app/src/main/java/com/casic/br/extensions/String.kt index c035c7b..b63113d 100644 --- a/app/src/main/java/com/casic/br/extensions/String.kt +++ b/app/src/main/java/com/casic/br/extensions/String.kt @@ -155,4 +155,18 @@ e.printStackTrace() } return R.drawable.ic_battery_0 +} + +fun String.convertValue(deciPoint: Int): Double { + if (this.isBlank()) { + return 0.0 + } + when (deciPoint) { + 0 -> return this.toDouble() + 1 -> return (this.toDouble()) / 10 + 2 -> return (this.toDouble()) / 100 + 3 -> return (this.toDouble()) / 1000 + 4 -> return (this.toDouble()) / 10000 + } + return this.toDouble() } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt index c9f9257..fe1e87d 100644 --- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt +++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt @@ -11,7 +11,7 @@ import com.casic.br.adapter.RecommendAdapter import com.casic.br.extensions.initLayoutImmersionBar import com.casic.br.extensions.selectCategory -import com.casic.br.model.OtherDeviceModel +import com.casic.br.model.OtherDeviceListModel import com.casic.br.model.RecommendModel import com.casic.br.utils.DeserializeModel import com.casic.br.view.AddDeviceActivity @@ -40,7 +40,7 @@ private lateinit var otherDeviceAdapter: OtherDeviceAdapter private lateinit var deviceViewModel: DeviceViewModel private var dataBeans: MutableList = ArrayList() - private var dataModes: MutableList = ArrayList() + private var dataModes: MutableList = ArrayList() private var isRefresh = false override fun initLayoutView(): Int = R.layout.fragment_device @@ -226,6 +226,12 @@ } else { otherDeviceAdapter = OtherDeviceAdapter(requireContext(), dataModes) otherDeviceRecyclerView.adapter = otherDeviceAdapter + otherDeviceAdapter.setOnItemClickListener(object : + OtherDeviceAdapter.OnItemClickListener { + override fun onItemClick(position: Int) { + requireContext().navigatePageTo(dataModes[position].id) + } + }) } } true diff --git a/app/src/main/java/com/casic/br/model/AddedDeviceModel.java b/app/src/main/java/com/casic/br/model/AddedDeviceModel.java deleted file mode 100644 index b74bb70..0000000 --- a/app/src/main/java/com/casic/br/model/AddedDeviceModel.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.casic.br.model; - -/** - * 已添加设备(Iot和非Iot设备)数据模型 - */ -public class AddedDeviceModel { - private String deviceId; - private String deviceName; - private boolean isOnline; - private String deviceImage; - private String deviceModel; - private String deviceType; - private String deviceUsedTime; - - public String getDeviceId() { - return deviceId; - } - - public void setDeviceId(String deviceId) { - this.deviceId = deviceId; - } - - public String getDeviceName() { - return deviceName; - } - - public void setDeviceName(String deviceName) { - this.deviceName = deviceName; - } - - public boolean isOnline() { - return isOnline; - } - - public void setOnline(boolean online) { - isOnline = online; - } - - public String getDeviceImage() { - return deviceImage; - } - - public void setDeviceImage(String deviceImage) { - this.deviceImage = deviceImage; - } - - public String getDeviceModel() { - return deviceModel; - } - - public void setDeviceModel(String deviceModel) { - this.deviceModel = deviceModel; - } - - public String getDeviceType() { - return deviceType; - } - - public void setDeviceType(String deviceType) { - this.deviceType = deviceType; - } - - public String getDeviceUsedTime() { - return deviceUsedTime; - } - - public void setDeviceUsedTime(String deviceUsedTime) { - this.deviceUsedTime = deviceUsedTime; - } -} diff --git a/app/src/main/java/com/casic/br/model/OtherDeviceListModel.java b/app/src/main/java/com/casic/br/model/OtherDeviceListModel.java new file mode 100644 index 0000000..3058c1f --- /dev/null +++ b/app/src/main/java/com/casic/br/model/OtherDeviceListModel.java @@ -0,0 +1,283 @@ +package com.casic.br.model; + +import java.util.List; + +public class OtherDeviceListModel { + + private int code; + private DataModel data; + private String message; + private boolean success; + + public int getCode() { + return code; + } + + public void setCode(int code) { + this.code = code; + } + + public DataModel getData() { + return data; + } + + public void setData(DataModel data) { + this.data = data; + } + + public String getMessage() { + return message; + } + + public void setMessage(String message) { + this.message = message; + } + + public boolean isSuccess() { + return success; + } + + public void setSuccess(boolean success) { + this.success = success; + } + + public static class DataModel { + private List rows; + private int total; + + public List getRows() { + return rows; + } + + public void setRows(List rows) { + this.rows = rows; + } + + public int getTotal() { + return total; + } + + public void setTotal(int total) { + this.total = total; + } + + public static class RowsModel { + private String brandCode; + private String brandName; + private String createTime; + private int deviceActive; + private String deviceActiveTime; + private String deviceAddress; + private int deviceBindUser; + private String deviceCoreParts; + private String deviceHardwareVersion; + private String deviceId; + private String deviceIp; + private String deviceMac; + private String deviceName; + private String deviceSoftwareVersion; + private int deviceStatus; + private String id; + private int iotDevice; + private String picUri; + private String produceDate; + private String productCode; + private String productName; + private String snCode; + private String supplierId; + private String updateTime; + + public String getBrandCode() { + return brandCode; + } + + public void setBrandCode(String brandCode) { + this.brandCode = brandCode; + } + + public String getBrandName() { + return brandName; + } + + public void setBrandName(String brandName) { + this.brandName = brandName; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public int getDeviceActive() { + return deviceActive; + } + + public void setDeviceActive(int deviceActive) { + this.deviceActive = deviceActive; + } + + public String getDeviceActiveTime() { + return deviceActiveTime; + } + + public void setDeviceActiveTime(String deviceActiveTime) { + this.deviceActiveTime = deviceActiveTime; + } + + public String getDeviceAddress() { + return deviceAddress; + } + + public void setDeviceAddress(String deviceAddress) { + this.deviceAddress = deviceAddress; + } + + public int getDeviceBindUser() { + return deviceBindUser; + } + + public void setDeviceBindUser(int deviceBindUser) { + this.deviceBindUser = deviceBindUser; + } + + public String getDeviceCoreParts() { + return deviceCoreParts; + } + + public void setDeviceCoreParts(String deviceCoreParts) { + this.deviceCoreParts = deviceCoreParts; + } + + public String getDeviceHardwareVersion() { + return deviceHardwareVersion; + } + + public void setDeviceHardwareVersion(String deviceHardwareVersion) { + this.deviceHardwareVersion = deviceHardwareVersion; + } + + public String getDeviceId() { + return deviceId; + } + + public void setDeviceId(String deviceId) { + this.deviceId = deviceId; + } + + public String getDeviceIp() { + return deviceIp; + } + + public void setDeviceIp(String deviceIp) { + this.deviceIp = deviceIp; + } + + public String getDeviceMac() { + return deviceMac; + } + + public void setDeviceMac(String deviceMac) { + this.deviceMac = deviceMac; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public String getDeviceSoftwareVersion() { + return deviceSoftwareVersion; + } + + public void setDeviceSoftwareVersion(String deviceSoftwareVersion) { + this.deviceSoftwareVersion = deviceSoftwareVersion; + } + + public int getDeviceStatus() { + return deviceStatus; + } + + public void setDeviceStatus(int deviceStatus) { + this.deviceStatus = deviceStatus; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIotDevice() { + return iotDevice; + } + + public void setIotDevice(int iotDevice) { + this.iotDevice = iotDevice; + } + + public String getPicUri() { + return picUri; + } + + public void setPicUri(String picUri) { + this.picUri = picUri; + } + + public String getProduceDate() { + return produceDate; + } + + public void setProduceDate(String produceDate) { + this.produceDate = produceDate; + } + + public String getProductCode() { + return productCode; + } + + public void setProductCode(String productCode) { + this.productCode = productCode; + } + + public String getProductName() { + return productName; + } + + public void setProductName(String productName) { + this.productName = productName; + } + + public String getSnCode() { + return snCode; + } + + public void setSnCode(String snCode) { + this.snCode = snCode; + } + + public String getSupplierId() { + return supplierId; + } + + public void setSupplierId(String supplierId) { + this.supplierId = supplierId; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + } + } +} diff --git a/app/src/main/java/com/casic/br/model/OtherDeviceModel.java b/app/src/main/java/com/casic/br/model/OtherDeviceModel.java index 747a107..8be88b3 100644 --- a/app/src/main/java/com/casic/br/model/OtherDeviceModel.java +++ b/app/src/main/java/com/casic/br/model/OtherDeviceModel.java @@ -1,7 +1,8 @@ package com.casic.br.model; -import java.util.List; - +/** + * 其他设备数据模型 + */ public class OtherDeviceModel { private int code; @@ -42,65 +43,258 @@ } public static class DataModel { - private List rows; - private int total; + private String brandCode; + private String brandName; + private BusinessExtModel businessExt; + private String createTime; + private int deviceActive; + private String deviceActiveTime; + private String deviceAddress; + private int deviceBindUser; + private String deviceCoreParts; + private String deviceHardwareVersion; + private String deviceId; + private String deviceIp; + private String deviceMac; + private String deviceName; + private String deviceSoftwareVersion; + private int deviceStatus; + private String id; + private int iotDevice; + private String picUri; + private String produceDate; + private String productCode; + private String productName; + private String snCode; + private String supplierId; + private String supplierName; + private String updateTime; - public List getRows() { - return rows; + public String getBrandCode() { + return brandCode; } - public void setRows(List rows) { - this.rows = rows; + public void setBrandCode(String brandCode) { + this.brandCode = brandCode; } - public int getTotal() { - return total; + public String getBrandName() { + return brandName; } - public void setTotal(int total) { - this.total = total; + public void setBrandName(String brandName) { + this.brandName = brandName; } - public static class RowsModel { - private String brandCode; - private String brandName; + public BusinessExtModel getBusinessExt() { + return businessExt; + } + + public void setBusinessExt(BusinessExtModel businessExt) { + this.businessExt = businessExt; + } + + public String getCreateTime() { + return createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public int getDeviceActive() { + return deviceActive; + } + + public void setDeviceActive(int deviceActive) { + this.deviceActive = deviceActive; + } + + public String getDeviceActiveTime() { + return deviceActiveTime; + } + + public void setDeviceActiveTime(String deviceActiveTime) { + this.deviceActiveTime = deviceActiveTime; + } + + public String getDeviceAddress() { + return deviceAddress; + } + + public void setDeviceAddress(String deviceAddress) { + this.deviceAddress = deviceAddress; + } + + public int getDeviceBindUser() { + return deviceBindUser; + } + + public void setDeviceBindUser(int deviceBindUser) { + this.deviceBindUser = deviceBindUser; + } + + public String getDeviceCoreParts() { + return deviceCoreParts; + } + + public void setDeviceCoreParts(String deviceCoreParts) { + this.deviceCoreParts = deviceCoreParts; + } + + public String getDeviceHardwareVersion() { + return deviceHardwareVersion; + } + + public void setDeviceHardwareVersion(String deviceHardwareVersion) { + this.deviceHardwareVersion = deviceHardwareVersion; + } + + public String getDeviceId() { + return deviceId; + } + + public void setDeviceId(String deviceId) { + this.deviceId = deviceId; + } + + public String getDeviceIp() { + return deviceIp; + } + + public void setDeviceIp(String deviceIp) { + this.deviceIp = deviceIp; + } + + public String getDeviceMac() { + return deviceMac; + } + + public void setDeviceMac(String deviceMac) { + this.deviceMac = deviceMac; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public String getDeviceSoftwareVersion() { + return deviceSoftwareVersion; + } + + public void setDeviceSoftwareVersion(String deviceSoftwareVersion) { + this.deviceSoftwareVersion = deviceSoftwareVersion; + } + + public int getDeviceStatus() { + return deviceStatus; + } + + public void setDeviceStatus(int deviceStatus) { + this.deviceStatus = deviceStatus; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getIotDevice() { + return iotDevice; + } + + public void setIotDevice(int iotDevice) { + this.iotDevice = iotDevice; + } + + public String getPicUri() { + return picUri; + } + + public void setPicUri(String picUri) { + this.picUri = picUri; + } + + public String getProduceDate() { + return produceDate; + } + + public void setProduceDate(String produceDate) { + this.produceDate = produceDate; + } + + public String getProductCode() { + return productCode; + } + + public void setProductCode(String productCode) { + this.productCode = productCode; + } + + public String getProductName() { + return productName; + } + + public void setProductName(String productName) { + this.productName = productName; + } + + public String getSnCode() { + return snCode; + } + + public void setSnCode(String snCode) { + this.snCode = snCode; + } + + public String getSupplierId() { + return supplierId; + } + + public void setSupplierId(String supplierId) { + this.supplierId = supplierId; + } + + public String getSupplierName() { + return supplierName; + } + + public void setSupplierName(String supplierName) { + this.supplierName = supplierName; + } + + public String getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(String updateTime) { + this.updateTime = updateTime; + } + + public static class BusinessExtModel { private String createTime; - private int deviceActive; - private String deviceActiveTime; - private String deviceAddress; - private int deviceBindUser; - private String deviceCoreParts; - private String deviceHardwareVersion; + private String deciPoint1; + private String deciPoint2; private String deviceId; - private String deviceIp; - private String deviceMac; - private String deviceName; - private String deviceSoftwareVersion; - private int deviceStatus; private String id; - private int iotDevice; - private String produceDate; - private String productCode; - private String productName; - private String snCode; - private String supplierId; + private String sensorCode1; + private String sensorCode2; + private String sensorType1; + private String sensorType2; + private String sensorVal1; + private String sensorVal2; + private String sensorValUnit1; + private String sensorValUnit2; private String updateTime; - - public String getBrandCode() { - return brandCode; - } - - public void setBrandCode(String brandCode) { - this.brandCode = brandCode; - } - - public String getBrandName() { - return brandName; - } - - public void setBrandName(String brandName) { - this.brandName = brandName; - } + private String workStatus1; + private String workStatus2; public String getCreateTime() { return createTime; @@ -110,52 +304,20 @@ this.createTime = createTime; } - public int getDeviceActive() { - return deviceActive; + public String getDeciPoint1() { + return deciPoint1; } - public void setDeviceActive(int deviceActive) { - this.deviceActive = deviceActive; + public void setDeciPoint1(String deciPoint1) { + this.deciPoint1 = deciPoint1; } - public String getDeviceActiveTime() { - return deviceActiveTime; + public String getDeciPoint2() { + return deciPoint2; } - public void setDeviceActiveTime(String deviceActiveTime) { - this.deviceActiveTime = deviceActiveTime; - } - - public String getDeviceAddress() { - return deviceAddress; - } - - public void setDeviceAddress(String deviceAddress) { - this.deviceAddress = deviceAddress; - } - - public int getDeviceBindUser() { - return deviceBindUser; - } - - public void setDeviceBindUser(int deviceBindUser) { - this.deviceBindUser = deviceBindUser; - } - - public String getDeviceCoreParts() { - return deviceCoreParts; - } - - public void setDeviceCoreParts(String deviceCoreParts) { - this.deviceCoreParts = deviceCoreParts; - } - - public String getDeviceHardwareVersion() { - return deviceHardwareVersion; - } - - public void setDeviceHardwareVersion(String deviceHardwareVersion) { - this.deviceHardwareVersion = deviceHardwareVersion; + public void setDeciPoint2(String deciPoint2) { + this.deciPoint2 = deciPoint2; } public String getDeviceId() { @@ -166,46 +328,6 @@ this.deviceId = deviceId; } - public String getDeviceIp() { - return deviceIp; - } - - public void setDeviceIp(String deviceIp) { - this.deviceIp = deviceIp; - } - - public String getDeviceMac() { - return deviceMac; - } - - public void setDeviceMac(String deviceMac) { - this.deviceMac = deviceMac; - } - - public String getDeviceName() { - return deviceName; - } - - public void setDeviceName(String deviceName) { - this.deviceName = deviceName; - } - - public String getDeviceSoftwareVersion() { - return deviceSoftwareVersion; - } - - public void setDeviceSoftwareVersion(String deviceSoftwareVersion) { - this.deviceSoftwareVersion = deviceSoftwareVersion; - } - - public int getDeviceStatus() { - return deviceStatus; - } - - public void setDeviceStatus(int deviceStatus) { - this.deviceStatus = deviceStatus; - } - public String getId() { return id; } @@ -214,52 +336,68 @@ this.id = id; } - public int getIotDevice() { - return iotDevice; + public String getSensorCode1() { + return sensorCode1; } - public void setIotDevice(int iotDevice) { - this.iotDevice = iotDevice; + public void setSensorCode1(String sensorCode1) { + this.sensorCode1 = sensorCode1; } - public String getProduceDate() { - return produceDate; + public String getSensorCode2() { + return sensorCode2; } - public void setProduceDate(String produceDate) { - this.produceDate = produceDate; + public void setSensorCode2(String sensorCode2) { + this.sensorCode2 = sensorCode2; } - public String getProductCode() { - return productCode; + public String getSensorType1() { + return sensorType1; } - public void setProductCode(String productCode) { - this.productCode = productCode; + public void setSensorType1(String sensorType1) { + this.sensorType1 = sensorType1; } - public String getProductName() { - return productName; + public String getSensorType2() { + return sensorType2; } - public void setProductName(String productName) { - this.productName = productName; + public void setSensorType2(String sensorType2) { + this.sensorType2 = sensorType2; } - public String getSnCode() { - return snCode; + public String getSensorVal1() { + return sensorVal1; } - public void setSnCode(String snCode) { - this.snCode = snCode; + public void setSensorVal1(String sensorVal1) { + this.sensorVal1 = sensorVal1; } - public String getSupplierId() { - return supplierId; + public String getSensorVal2() { + return sensorVal2; } - public void setSupplierId(String supplierId) { - this.supplierId = supplierId; + public void setSensorVal2(String sensorVal2) { + this.sensorVal2 = sensorVal2; + } + + public String getSensorValUnit1() { + return sensorValUnit1; + } + + public void setSensorValUnit1(String sensorValUnit1) { + this.sensorValUnit1 = sensorValUnit1; + } + + public String getSensorValUnit2() { + return sensorValUnit2; + } + + public void setSensorValUnit2(String sensorValUnit2) { + this.sensorValUnit2 = sensorValUnit2; } public String getUpdateTime() { @@ -269,6 +407,22 @@ public void setUpdateTime(String updateTime) { this.updateTime = updateTime; } + + public String getWorkStatus1() { + return workStatus1; + } + + public void setWorkStatus1(String workStatus1) { + this.workStatus1 = workStatus1; + } + + public String getWorkStatus2() { + return workStatus2; + } + + public void setWorkStatus2(String workStatus2) { + this.workStatus2 = workStatus2; + } } } } diff --git a/app/src/main/java/com/casic/br/utils/LocaleConstant.kt b/app/src/main/java/com/casic/br/utils/LocaleConstant.kt index 9a1c919..9a05cee 100644 --- a/app/src/main/java/com/casic/br/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/br/utils/LocaleConstant.kt @@ -13,9 +13,9 @@ val USER_PERMISSIONS = arrayOf( Manifest.permission.ACCESS_LOCATION_EXTRA_COMMANDS, Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION, - Manifest.permission.CAMERA, Manifest.permission.READ_EXTERNAL_STORAGE, - Manifest.permission.READ_PHONE_STATE, Manifest.permission.BLUETOOTH, - Manifest.permission.BLUETOOTH_ADMIN + Manifest.permission.CAMERA, Manifest.permission.BLUETOOTH_ADMIN, + Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, + Manifest.permission.READ_PHONE_STATE, Manifest.permission.BLUETOOTH ) val SHOP_IMAGE = intArrayOf( R.drawable.ic_gouwuche, R.drawable.ic_dingdan, R.drawable.ic_shouhou @@ -104,5 +104,4 @@ const val WIFI_PASSWORD = "wifiPassword" const val ACCOUNT = "account" const val PASSWORD = "password" - const val HW_JT_KBZ1 = "https://www.hanwei.cn/wp-content/uploads/2022/04/JT-KBZ1.png" } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/utils/retrofit/RetrofitService.kt b/app/src/main/java/com/casic/br/utils/retrofit/RetrofitService.kt index 4a3cb74..cc48b70 100644 --- a/app/src/main/java/com/casic/br/utils/retrofit/RetrofitService.kt +++ b/app/src/main/java/com/casic/br/utils/retrofit/RetrofitService.kt @@ -166,4 +166,13 @@ @QueryMap limit: Map, @QueryMap offset: Map ): String + + /** + * 汉威设备详情 + */ + @POST("/deviceInfo/detail") + suspend fun obtainDeviceDetail( + @Header("token") token: String, + @Body requestBody: RequestBody + ): String } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/utils/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/br/utils/retrofit/RetrofitServiceManager.kt index 7f28146..bec22c5 100644 --- a/app/src/main/java/com/casic/br/utils/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/br/utils/retrofit/RetrofitServiceManager.kt @@ -334,4 +334,16 @@ AuthenticationHelper.token!!, requestBody, limitMap, offsetMap ) } + + /** + * 汉威设备详情 + */ + suspend fun obtainDeviceDetail(id: String): String { + val paramObject = JSONObject() + paramObject.put("id", id) + val requestBody = paramObject.toString().toRequestBody( + "application/json;charset=UTF-8".toMediaType() + ) + return api.obtainDeviceDetail(AuthenticationHelper.token!!, requestBody) + } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/view/AddressManagerActivity.kt b/app/src/main/java/com/casic/br/view/AddressManagerActivity.kt index 6b38073..41987b6 100644 --- a/app/src/main/java/com/casic/br/view/AddressManagerActivity.kt +++ b/app/src/main/java/com/casic/br/view/AddressManagerActivity.kt @@ -1,6 +1,5 @@ package com.casic.br.view -import android.content.Context import android.os.Handler import android.view.ViewGroup import androidx.lifecycle.ViewModelProvider diff --git a/app/src/main/java/com/casic/br/view/device/HWGasAlarmActivity.kt b/app/src/main/java/com/casic/br/view/device/HWGasAlarmActivity.kt new file mode 100644 index 0000000..23f5357 --- /dev/null +++ b/app/src/main/java/com/casic/br/view/device/HWGasAlarmActivity.kt @@ -0,0 +1,93 @@ +package com.casic.br.view.device + +import android.view.View +import androidx.lifecycle.ViewModelProvider +import com.bumptech.glide.Glide +import com.bumptech.glide.request.RequestOptions +import com.casic.br.R +import com.casic.br.extensions.combineImagePath +import com.casic.br.extensions.convertValue +import com.casic.br.extensions.initLayoutImmersionBar +import com.casic.br.utils.LoadingDialogHub +import com.casic.br.vm.DeviceViewModel +import com.gyf.immersionbar.ImmersionBar +import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant +import com.pengxh.kt.lite.vm.LoadState +import kotlinx.android.synthetic.main.activity_gas_alarm_hw.* +import kotlinx.android.synthetic.main.include_device_title.* + +/** + * 汉威报警器 + * */ +class HWGasAlarmActivity : KotlinBaseActivity() { + + private lateinit var deviceViewModel: DeviceViewModel + + override fun initLayoutView(): Int = R.layout.activity_gas_alarm_hw + + override fun observeRequestState() { + deviceViewModel.loadState.observe(this, { + when (it) { + LoadState.Loading -> { + LoadingDialogHub.show(this, "加载数据中...") + } + LoadState.Success -> { + LoadingDialogHub.dismiss() + finish() + } + else -> LoadingDialogHub.dismiss() + } + }) + } + + override fun setupTopBarLayout() { + initLayoutImmersionBar(rootView) + ImmersionBar.with(this).statusBarDarkFont(true).init() + + leftBackView.setOnClickListener { finish() } + rightOperateView.visibility = View.GONE + } + + override fun initData() { + val id = intent.getStringExtra(Constant.INTENT_PARAM)!! + + deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java] + deviceViewModel.obtainDeviceDetail(id) + deviceViewModel.deviceModel.observe(this, { + if (it.code == 200) { + val sensorData = it.data.businessExt + + Glide.with(this) + .load(it.data.picUri.combineImagePath()) + .apply(RequestOptions.circleCropTransform()) + .placeholder(R.mipmap.load_image_error) + .into(deviceLogoView) + + deviceStateView.text = if (it.data.deviceActive == 1) { + "在线" + } else { + "离线" + } + + //取数据小数点位 + tempValueView.text = + "${sensorData.sensorVal2.convertValue(sensorData.deciPoint2.toInt())}${sensorData.sensorValUnit2}" + sensorValueView.text = + "${sensorData.sensorVal1.convertValue(sensorData.deciPoint1.toInt())}${sensorData.sensorValUnit1}" + + updateTimeView.text = sensorData.updateTime + + tempStateView.text = sensorData.workStatus2 + sensorStateView.text = sensorData.workStatus1 + } + }) + } + + override fun initEvent() { + showMoreView.setOnClickListener { + "此功能待后续完善".show(this) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/vm/DeviceViewModel.kt b/app/src/main/java/com/casic/br/vm/DeviceViewModel.kt index da88052..a3535c2 100644 --- a/app/src/main/java/com/casic/br/vm/DeviceViewModel.kt +++ b/app/src/main/java/com/casic/br/vm/DeviceViewModel.kt @@ -5,6 +5,7 @@ import com.casic.br.base.BaseApplication import com.casic.br.extensions.separateResponseCode import com.casic.br.extensions.toErrorMessage +import com.casic.br.model.OtherDeviceListModel import com.casic.br.model.OtherDeviceModel import com.casic.br.model.UserDetailModel import com.casic.br.utils.retrofit.RetrofitServiceManager @@ -20,7 +21,8 @@ class DeviceViewModel : BaseViewModel() { private val gson by lazy { Gson() } - val listModel = MutableLiveData() + val listModel = MutableLiveData() + val deviceModel = MutableLiveData() fun addDevice( devResp: DeviceBean, @@ -56,7 +58,21 @@ val response = RetrofitServiceManager.obtainOtherDeviceListByPage() val responseCode = response.separateResponseCode() if (responseCode == 200) { - listModel.value = gson.fromJson( + listModel.value = gson.fromJson( + response, object : TypeToken() {}.type + ) + } else { + response.toErrorMessage().show(BaseApplication.obtainInstance()) + } + }, { + it.printStackTrace() + }) + + fun obtainDeviceDetail(id: String) = launch({ + val response = RetrofitServiceManager.obtainDeviceDetail(id) + val responseCode = response.separateResponseCode() + if (responseCode == 200) { + deviceModel.value = gson.fromJson( response, object : TypeToken() {}.type ) } else { diff --git a/app/src/main/res/layout/activity_gas_alarm_hw.xml b/app/src/main/res/layout/activity_gas_alarm_hw.xml new file mode 100644 index 0000000..d99f6bc --- /dev/null +++ b/app/src/main/res/layout/activity_gas_alarm_hw.xml @@ -0,0 +1,197 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_other_device_rv_g.xml b/app/src/main/res/layout/item_other_device_rv_g.xml index bb6bda7..291cd00 100644 --- a/app/src/main/res/layout/item_other_device_rv_g.xml +++ b/app/src/main/res/layout/item_other_device_rv_g.xml @@ -9,32 +9,13 @@ android:orientation="vertical" android:padding="@dimen/dp_5"> - - - - -