diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 611e149..7c387fc 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -40,6 +40,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 611e149..7c387fc 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -40,6 +40,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt b/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt
new file mode 100644
index 0000000..48321ae
--- /dev/null
+++ b/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt
@@ -0,0 +1,49 @@
+package com.casic.br.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.ImageView
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.br.R
+import com.casic.br.model.AddedDeviceModel
+
+class AddedDeviceAdapter(
+ private val context: Context,
+ private val dataRows: MutableList
+) : RecyclerView.Adapter() {
+
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_added_device_rv_l, parent, false)
+ )
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ holder.deviceNameView.text = dataRows[position].deviceName
+ holder.deviceUsedTimeView.text = dataRows[position].deviceUsedTime
+ holder.itemView.setOnClickListener {
+ clickListener?.onItemClick(position)
+ }
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ private var clickListener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onItemClick(position: Int)
+ }
+
+ fun setOnItemClickListener(clickListener: OnItemClickListener?) {
+ this.clickListener = clickListener
+ }
+
+ class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
+ val imageView: ImageView = itemView.findViewById(R.id.imageView)
+ val deviceNameView: TextView = itemView.findViewById(R.id.deviceNameView)
+ val deviceUsedTimeView: TextView = itemView.findViewById(R.id.deviceUsedTimeView)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 611e149..7c387fc 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -40,6 +40,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt b/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt
new file mode 100644
index 0000000..48321ae
--- /dev/null
+++ b/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt
@@ -0,0 +1,49 @@
+package com.casic.br.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.ImageView
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.br.R
+import com.casic.br.model.AddedDeviceModel
+
+class AddedDeviceAdapter(
+ private val context: Context,
+ private val dataRows: MutableList
+) : RecyclerView.Adapter() {
+
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_added_device_rv_l, parent, false)
+ )
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ holder.deviceNameView.text = dataRows[position].deviceName
+ holder.deviceUsedTimeView.text = dataRows[position].deviceUsedTime
+ holder.itemView.setOnClickListener {
+ clickListener?.onItemClick(position)
+ }
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ private var clickListener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onItemClick(position: Int)
+ }
+
+ fun setOnItemClickListener(clickListener: OnItemClickListener?) {
+ this.clickListener = clickListener
+ }
+
+ class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
+ val imageView: ImageView = itemView.findViewById(R.id.imageView)
+ val deviceNameView: TextView = itemView.findViewById(R.id.deviceNameView)
+ val deviceUsedTimeView: TextView = itemView.findViewById(R.id.deviceUsedTimeView)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt b/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt
index 29b7b3f..3b2dd90 100644
--- a/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt
+++ b/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt
@@ -18,8 +18,7 @@
private val context: Context,
private val icons: IntArray,
private val titles: Array
-) :
- RecyclerView.Adapter() {
+) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 611e149..7c387fc 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -40,6 +40,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt b/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt
new file mode 100644
index 0000000..48321ae
--- /dev/null
+++ b/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt
@@ -0,0 +1,49 @@
+package com.casic.br.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.ImageView
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.br.R
+import com.casic.br.model.AddedDeviceModel
+
+class AddedDeviceAdapter(
+ private val context: Context,
+ private val dataRows: MutableList
+) : RecyclerView.Adapter() {
+
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_added_device_rv_l, parent, false)
+ )
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ holder.deviceNameView.text = dataRows[position].deviceName
+ holder.deviceUsedTimeView.text = dataRows[position].deviceUsedTime
+ holder.itemView.setOnClickListener {
+ clickListener?.onItemClick(position)
+ }
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ private var clickListener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onItemClick(position: Int)
+ }
+
+ fun setOnItemClickListener(clickListener: OnItemClickListener?) {
+ this.clickListener = clickListener
+ }
+
+ class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
+ val imageView: ImageView = itemView.findViewById(R.id.imageView)
+ val deviceNameView: TextView = itemView.findViewById(R.id.deviceNameView)
+ val deviceUsedTimeView: TextView = itemView.findViewById(R.id.deviceUsedTimeView)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt b/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt
index 29b7b3f..3b2dd90 100644
--- a/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt
+++ b/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt
@@ -18,8 +18,7 @@
private val context: Context,
private val icons: IntArray,
private val titles: Array
-) :
- RecyclerView.Adapter() {
+) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
diff --git a/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt b/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt
index 1a4e58a..260be96 100644
--- a/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt
+++ b/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt
@@ -15,8 +15,7 @@
class IconTextListAdapter(
private val context: Context,
private val titles: Array
-) :
- RecyclerView.Adapter() {
+) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 611e149..7c387fc 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -40,6 +40,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt b/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt
new file mode 100644
index 0000000..48321ae
--- /dev/null
+++ b/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt
@@ -0,0 +1,49 @@
+package com.casic.br.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.ImageView
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.br.R
+import com.casic.br.model.AddedDeviceModel
+
+class AddedDeviceAdapter(
+ private val context: Context,
+ private val dataRows: MutableList
+) : RecyclerView.Adapter() {
+
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_added_device_rv_l, parent, false)
+ )
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ holder.deviceNameView.text = dataRows[position].deviceName
+ holder.deviceUsedTimeView.text = dataRows[position].deviceUsedTime
+ holder.itemView.setOnClickListener {
+ clickListener?.onItemClick(position)
+ }
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ private var clickListener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onItemClick(position: Int)
+ }
+
+ fun setOnItemClickListener(clickListener: OnItemClickListener?) {
+ this.clickListener = clickListener
+ }
+
+ class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
+ val imageView: ImageView = itemView.findViewById(R.id.imageView)
+ val deviceNameView: TextView = itemView.findViewById(R.id.deviceNameView)
+ val deviceUsedTimeView: TextView = itemView.findViewById(R.id.deviceUsedTimeView)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt b/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt
index 29b7b3f..3b2dd90 100644
--- a/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt
+++ b/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt
@@ -18,8 +18,7 @@
private val context: Context,
private val icons: IntArray,
private val titles: Array
-) :
- RecyclerView.Adapter() {
+) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
diff --git a/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt b/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt
index 1a4e58a..260be96 100644
--- a/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt
+++ b/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt
@@ -15,8 +15,7 @@
class IconTextListAdapter(
private val context: Context,
private val titles: Array
-) :
- RecyclerView.Adapter() {
+) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
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 2d32a78..9857505 100644
--- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt
+++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt
@@ -1,21 +1,57 @@
package com.casic.br.fragment
+import androidx.recyclerview.widget.DividerItemDecoration
import com.casic.br.R
+import com.casic.br.adapter.AddedDeviceAdapter
+import com.casic.br.model.AddedDeviceModel
+import com.casic.br.view.AllDeviceActivity
import com.pengxh.kt.lite.base.KotlinBaseFragment
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.show
+import kotlinx.android.synthetic.main.fragment_device.*
+import kotlinx.android.synthetic.main.include_main_title.*
+import java.util.*
class DevicePageFragment : KotlinBaseFragment() {
override fun initLayoutView(): Int = R.layout.fragment_device
override fun setupTopBarLayout() {
-
+ leftTitleView.text = "设备"
}
override fun initData() {
+ //TODO 模拟数据 只显示前三个设备
+ val deviceModels = ArrayList()
+ for (i in 0..2) {
+ val model = AddedDeviceModel()
+ model.deviceName = "*****热水器"
+ model.deviceUsedTime = "已使用${Random().nextInt(12)}个月${Random().nextInt(31)}天"
+ deviceModels.add(model)
+ }
+ val addedDeviceAdapter = AddedDeviceAdapter(requireContext(), deviceModels)
+ deviceRecyclerView.addItemDecoration(
+ DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL)
+ )
+ deviceRecyclerView.adapter = addedDeviceAdapter
+ addedDeviceAdapter.setOnItemClickListener(object :
+ AddedDeviceAdapter.OnItemClickListener {
+ override fun onItemClick(position: Int) {
+ //TODO 需要根据设备类型显示不同的页面
+ val deviceModel = deviceModels[position]
+ deviceModel.deviceName.show(requireContext())
+ }
+ })
}
override fun initEvent() {
+ showAllDeviceLayout.setOnClickListener {
+ requireContext().navigatePageTo()
+ }
+ addDeviceLayout.setOnClickListener {
+
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 611e149..7c387fc 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -40,6 +40,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt b/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt
new file mode 100644
index 0000000..48321ae
--- /dev/null
+++ b/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt
@@ -0,0 +1,49 @@
+package com.casic.br.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.ImageView
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.br.R
+import com.casic.br.model.AddedDeviceModel
+
+class AddedDeviceAdapter(
+ private val context: Context,
+ private val dataRows: MutableList
+) : RecyclerView.Adapter() {
+
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_added_device_rv_l, parent, false)
+ )
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ holder.deviceNameView.text = dataRows[position].deviceName
+ holder.deviceUsedTimeView.text = dataRows[position].deviceUsedTime
+ holder.itemView.setOnClickListener {
+ clickListener?.onItemClick(position)
+ }
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ private var clickListener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onItemClick(position: Int)
+ }
+
+ fun setOnItemClickListener(clickListener: OnItemClickListener?) {
+ this.clickListener = clickListener
+ }
+
+ class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
+ val imageView: ImageView = itemView.findViewById(R.id.imageView)
+ val deviceNameView: TextView = itemView.findViewById(R.id.deviceNameView)
+ val deviceUsedTimeView: TextView = itemView.findViewById(R.id.deviceUsedTimeView)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt b/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt
index 29b7b3f..3b2dd90 100644
--- a/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt
+++ b/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt
@@ -18,8 +18,7 @@
private val context: Context,
private val icons: IntArray,
private val titles: Array
-) :
- RecyclerView.Adapter() {
+) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
diff --git a/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt b/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt
index 1a4e58a..260be96 100644
--- a/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt
+++ b/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt
@@ -15,8 +15,7 @@
class IconTextListAdapter(
private val context: Context,
private val titles: Array
-) :
- RecyclerView.Adapter() {
+) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
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 2d32a78..9857505 100644
--- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt
+++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt
@@ -1,21 +1,57 @@
package com.casic.br.fragment
+import androidx.recyclerview.widget.DividerItemDecoration
import com.casic.br.R
+import com.casic.br.adapter.AddedDeviceAdapter
+import com.casic.br.model.AddedDeviceModel
+import com.casic.br.view.AllDeviceActivity
import com.pengxh.kt.lite.base.KotlinBaseFragment
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.show
+import kotlinx.android.synthetic.main.fragment_device.*
+import kotlinx.android.synthetic.main.include_main_title.*
+import java.util.*
class DevicePageFragment : KotlinBaseFragment() {
override fun initLayoutView(): Int = R.layout.fragment_device
override fun setupTopBarLayout() {
-
+ leftTitleView.text = "设备"
}
override fun initData() {
+ //TODO 模拟数据 只显示前三个设备
+ val deviceModels = ArrayList()
+ for (i in 0..2) {
+ val model = AddedDeviceModel()
+ model.deviceName = "*****热水器"
+ model.deviceUsedTime = "已使用${Random().nextInt(12)}个月${Random().nextInt(31)}天"
+ deviceModels.add(model)
+ }
+ val addedDeviceAdapter = AddedDeviceAdapter(requireContext(), deviceModels)
+ deviceRecyclerView.addItemDecoration(
+ DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL)
+ )
+ deviceRecyclerView.adapter = addedDeviceAdapter
+ addedDeviceAdapter.setOnItemClickListener(object :
+ AddedDeviceAdapter.OnItemClickListener {
+ override fun onItemClick(position: Int) {
+ //TODO 需要根据设备类型显示不同的页面
+ val deviceModel = deviceModels[position]
+ deviceModel.deviceName.show(requireContext())
+ }
+ })
}
override fun initEvent() {
+ showAllDeviceLayout.setOnClickListener {
+ requireContext().navigatePageTo()
+ }
+ addDeviceLayout.setOnClickListener {
+
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/model/AddedDeviceModel.java b/app/src/main/java/com/casic/br/model/AddedDeviceModel.java
new file mode 100644
index 0000000..40a545c
--- /dev/null
+++ b/app/src/main/java/com/casic/br/model/AddedDeviceModel.java
@@ -0,0 +1,43 @@
+package com.casic.br.model;
+
+/**
+ * 已添加设备(Iot和非Iot设备)数据模型
+ */
+public class AddedDeviceModel {
+ private String deviceImage;
+ private String deviceName;
+ private String deviceType;
+ private String deviceUsedTime;
+
+ public String getDeviceImage() {
+ return deviceImage;
+ }
+
+ public void setDeviceImage(String deviceImage) {
+ this.deviceImage = deviceImage;
+ }
+
+ public String getDeviceName() {
+ return deviceName;
+ }
+
+ public void setDeviceName(String deviceName) {
+ this.deviceName = deviceName;
+ }
+
+ 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 611e149..7c387fc 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -40,6 +40,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt b/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt
new file mode 100644
index 0000000..48321ae
--- /dev/null
+++ b/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt
@@ -0,0 +1,49 @@
+package com.casic.br.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.ImageView
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.br.R
+import com.casic.br.model.AddedDeviceModel
+
+class AddedDeviceAdapter(
+ private val context: Context,
+ private val dataRows: MutableList
+) : RecyclerView.Adapter() {
+
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_added_device_rv_l, parent, false)
+ )
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ holder.deviceNameView.text = dataRows[position].deviceName
+ holder.deviceUsedTimeView.text = dataRows[position].deviceUsedTime
+ holder.itemView.setOnClickListener {
+ clickListener?.onItemClick(position)
+ }
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ private var clickListener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onItemClick(position: Int)
+ }
+
+ fun setOnItemClickListener(clickListener: OnItemClickListener?) {
+ this.clickListener = clickListener
+ }
+
+ class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
+ val imageView: ImageView = itemView.findViewById(R.id.imageView)
+ val deviceNameView: TextView = itemView.findViewById(R.id.deviceNameView)
+ val deviceUsedTimeView: TextView = itemView.findViewById(R.id.deviceUsedTimeView)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt b/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt
index 29b7b3f..3b2dd90 100644
--- a/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt
+++ b/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt
@@ -18,8 +18,7 @@
private val context: Context,
private val icons: IntArray,
private val titles: Array
-) :
- RecyclerView.Adapter() {
+) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
diff --git a/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt b/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt
index 1a4e58a..260be96 100644
--- a/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt
+++ b/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt
@@ -15,8 +15,7 @@
class IconTextListAdapter(
private val context: Context,
private val titles: Array
-) :
- RecyclerView.Adapter() {
+) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
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 2d32a78..9857505 100644
--- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt
+++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt
@@ -1,21 +1,57 @@
package com.casic.br.fragment
+import androidx.recyclerview.widget.DividerItemDecoration
import com.casic.br.R
+import com.casic.br.adapter.AddedDeviceAdapter
+import com.casic.br.model.AddedDeviceModel
+import com.casic.br.view.AllDeviceActivity
import com.pengxh.kt.lite.base.KotlinBaseFragment
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.show
+import kotlinx.android.synthetic.main.fragment_device.*
+import kotlinx.android.synthetic.main.include_main_title.*
+import java.util.*
class DevicePageFragment : KotlinBaseFragment() {
override fun initLayoutView(): Int = R.layout.fragment_device
override fun setupTopBarLayout() {
-
+ leftTitleView.text = "设备"
}
override fun initData() {
+ //TODO 模拟数据 只显示前三个设备
+ val deviceModels = ArrayList()
+ for (i in 0..2) {
+ val model = AddedDeviceModel()
+ model.deviceName = "*****热水器"
+ model.deviceUsedTime = "已使用${Random().nextInt(12)}个月${Random().nextInt(31)}天"
+ deviceModels.add(model)
+ }
+ val addedDeviceAdapter = AddedDeviceAdapter(requireContext(), deviceModels)
+ deviceRecyclerView.addItemDecoration(
+ DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL)
+ )
+ deviceRecyclerView.adapter = addedDeviceAdapter
+ addedDeviceAdapter.setOnItemClickListener(object :
+ AddedDeviceAdapter.OnItemClickListener {
+ override fun onItemClick(position: Int) {
+ //TODO 需要根据设备类型显示不同的页面
+ val deviceModel = deviceModels[position]
+ deviceModel.deviceName.show(requireContext())
+ }
+ })
}
override fun initEvent() {
+ showAllDeviceLayout.setOnClickListener {
+ requireContext().navigatePageTo()
+ }
+ addDeviceLayout.setOnClickListener {
+
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/model/AddedDeviceModel.java b/app/src/main/java/com/casic/br/model/AddedDeviceModel.java
new file mode 100644
index 0000000..40a545c
--- /dev/null
+++ b/app/src/main/java/com/casic/br/model/AddedDeviceModel.java
@@ -0,0 +1,43 @@
+package com.casic.br.model;
+
+/**
+ * 已添加设备(Iot和非Iot设备)数据模型
+ */
+public class AddedDeviceModel {
+ private String deviceImage;
+ private String deviceName;
+ private String deviceType;
+ private String deviceUsedTime;
+
+ public String getDeviceImage() {
+ return deviceImage;
+ }
+
+ public void setDeviceImage(String deviceImage) {
+ this.deviceImage = deviceImage;
+ }
+
+ public String getDeviceName() {
+ return deviceName;
+ }
+
+ public void setDeviceName(String deviceName) {
+ this.deviceName = deviceName;
+ }
+
+ 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/view/AllDeviceActivity.kt b/app/src/main/java/com/casic/br/view/AllDeviceActivity.kt
new file mode 100644
index 0000000..bafd851
--- /dev/null
+++ b/app/src/main/java/com/casic/br/view/AllDeviceActivity.kt
@@ -0,0 +1,56 @@
+package com.casic.br.view
+
+import androidx.recyclerview.widget.DividerItemDecoration
+import com.casic.br.R
+import com.casic.br.adapter.AddedDeviceAdapter
+import com.casic.br.model.AddedDeviceModel
+import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
+import kotlinx.android.synthetic.main.fragment_device.*
+import kotlinx.android.synthetic.main.include_base_title.*
+import java.util.*
+
+class AllDeviceActivity : KotlinBaseActivity() {
+
+ override fun initLayoutView(): Int = R.layout.activity_all_device
+
+ override fun setupTopBarLayout() {
+ ImmersionBar.with(this).statusBarDarkFont(true).init()
+ ImmerseStatusBarUtil.setColor(this, R.color.white.convertColor(this))
+
+ leftBackView.setOnClickListener { finish() }
+ titleView.text = "全部设备"
+ }
+
+ override fun initData() {
+ //TODO 模拟数据
+ val deviceModels = ArrayList()
+ for (i in 0..9) {
+ val model = AddedDeviceModel()
+ model.deviceName = "*****热水器"
+ model.deviceUsedTime = "已使用${Random().nextInt(12)}个月${Random().nextInt(31)}天"
+
+ deviceModels.add(model)
+ }
+ val addedDeviceAdapter = AddedDeviceAdapter(this, deviceModels)
+ deviceRecyclerView.addItemDecoration(
+ DividerItemDecoration(this, DividerItemDecoration.VERTICAL)
+ )
+ deviceRecyclerView.adapter = addedDeviceAdapter
+ addedDeviceAdapter.setOnItemClickListener(object :
+ AddedDeviceAdapter.OnItemClickListener {
+ override fun onItemClick(position: Int) {
+ //TODO 需要根据设备类型显示不同的页面
+ val deviceModel = deviceModels[position]
+ deviceModel.deviceName.show(this@AllDeviceActivity)
+ }
+ })
+ }
+
+ override fun initEvent() {
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 611e149..7c387fc 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -40,6 +40,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt b/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt
new file mode 100644
index 0000000..48321ae
--- /dev/null
+++ b/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt
@@ -0,0 +1,49 @@
+package com.casic.br.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.ImageView
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.br.R
+import com.casic.br.model.AddedDeviceModel
+
+class AddedDeviceAdapter(
+ private val context: Context,
+ private val dataRows: MutableList
+) : RecyclerView.Adapter() {
+
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_added_device_rv_l, parent, false)
+ )
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ holder.deviceNameView.text = dataRows[position].deviceName
+ holder.deviceUsedTimeView.text = dataRows[position].deviceUsedTime
+ holder.itemView.setOnClickListener {
+ clickListener?.onItemClick(position)
+ }
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ private var clickListener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onItemClick(position: Int)
+ }
+
+ fun setOnItemClickListener(clickListener: OnItemClickListener?) {
+ this.clickListener = clickListener
+ }
+
+ class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
+ val imageView: ImageView = itemView.findViewById(R.id.imageView)
+ val deviceNameView: TextView = itemView.findViewById(R.id.deviceNameView)
+ val deviceUsedTimeView: TextView = itemView.findViewById(R.id.deviceUsedTimeView)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt b/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt
index 29b7b3f..3b2dd90 100644
--- a/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt
+++ b/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt
@@ -18,8 +18,7 @@
private val context: Context,
private val icons: IntArray,
private val titles: Array
-) :
- RecyclerView.Adapter() {
+) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
diff --git a/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt b/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt
index 1a4e58a..260be96 100644
--- a/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt
+++ b/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt
@@ -15,8 +15,7 @@
class IconTextListAdapter(
private val context: Context,
private val titles: Array
-) :
- RecyclerView.Adapter() {
+) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
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 2d32a78..9857505 100644
--- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt
+++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt
@@ -1,21 +1,57 @@
package com.casic.br.fragment
+import androidx.recyclerview.widget.DividerItemDecoration
import com.casic.br.R
+import com.casic.br.adapter.AddedDeviceAdapter
+import com.casic.br.model.AddedDeviceModel
+import com.casic.br.view.AllDeviceActivity
import com.pengxh.kt.lite.base.KotlinBaseFragment
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.show
+import kotlinx.android.synthetic.main.fragment_device.*
+import kotlinx.android.synthetic.main.include_main_title.*
+import java.util.*
class DevicePageFragment : KotlinBaseFragment() {
override fun initLayoutView(): Int = R.layout.fragment_device
override fun setupTopBarLayout() {
-
+ leftTitleView.text = "设备"
}
override fun initData() {
+ //TODO 模拟数据 只显示前三个设备
+ val deviceModels = ArrayList()
+ for (i in 0..2) {
+ val model = AddedDeviceModel()
+ model.deviceName = "*****热水器"
+ model.deviceUsedTime = "已使用${Random().nextInt(12)}个月${Random().nextInt(31)}天"
+ deviceModels.add(model)
+ }
+ val addedDeviceAdapter = AddedDeviceAdapter(requireContext(), deviceModels)
+ deviceRecyclerView.addItemDecoration(
+ DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL)
+ )
+ deviceRecyclerView.adapter = addedDeviceAdapter
+ addedDeviceAdapter.setOnItemClickListener(object :
+ AddedDeviceAdapter.OnItemClickListener {
+ override fun onItemClick(position: Int) {
+ //TODO 需要根据设备类型显示不同的页面
+ val deviceModel = deviceModels[position]
+ deviceModel.deviceName.show(requireContext())
+ }
+ })
}
override fun initEvent() {
+ showAllDeviceLayout.setOnClickListener {
+ requireContext().navigatePageTo()
+ }
+ addDeviceLayout.setOnClickListener {
+
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/model/AddedDeviceModel.java b/app/src/main/java/com/casic/br/model/AddedDeviceModel.java
new file mode 100644
index 0000000..40a545c
--- /dev/null
+++ b/app/src/main/java/com/casic/br/model/AddedDeviceModel.java
@@ -0,0 +1,43 @@
+package com.casic.br.model;
+
+/**
+ * 已添加设备(Iot和非Iot设备)数据模型
+ */
+public class AddedDeviceModel {
+ private String deviceImage;
+ private String deviceName;
+ private String deviceType;
+ private String deviceUsedTime;
+
+ public String getDeviceImage() {
+ return deviceImage;
+ }
+
+ public void setDeviceImage(String deviceImage) {
+ this.deviceImage = deviceImage;
+ }
+
+ public String getDeviceName() {
+ return deviceName;
+ }
+
+ public void setDeviceName(String deviceName) {
+ this.deviceName = deviceName;
+ }
+
+ 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/view/AllDeviceActivity.kt b/app/src/main/java/com/casic/br/view/AllDeviceActivity.kt
new file mode 100644
index 0000000..bafd851
--- /dev/null
+++ b/app/src/main/java/com/casic/br/view/AllDeviceActivity.kt
@@ -0,0 +1,56 @@
+package com.casic.br.view
+
+import androidx.recyclerview.widget.DividerItemDecoration
+import com.casic.br.R
+import com.casic.br.adapter.AddedDeviceAdapter
+import com.casic.br.model.AddedDeviceModel
+import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
+import kotlinx.android.synthetic.main.fragment_device.*
+import kotlinx.android.synthetic.main.include_base_title.*
+import java.util.*
+
+class AllDeviceActivity : KotlinBaseActivity() {
+
+ override fun initLayoutView(): Int = R.layout.activity_all_device
+
+ override fun setupTopBarLayout() {
+ ImmersionBar.with(this).statusBarDarkFont(true).init()
+ ImmerseStatusBarUtil.setColor(this, R.color.white.convertColor(this))
+
+ leftBackView.setOnClickListener { finish() }
+ titleView.text = "全部设备"
+ }
+
+ override fun initData() {
+ //TODO 模拟数据
+ val deviceModels = ArrayList()
+ for (i in 0..9) {
+ val model = AddedDeviceModel()
+ model.deviceName = "*****热水器"
+ model.deviceUsedTime = "已使用${Random().nextInt(12)}个月${Random().nextInt(31)}天"
+
+ deviceModels.add(model)
+ }
+ val addedDeviceAdapter = AddedDeviceAdapter(this, deviceModels)
+ deviceRecyclerView.addItemDecoration(
+ DividerItemDecoration(this, DividerItemDecoration.VERTICAL)
+ )
+ deviceRecyclerView.adapter = addedDeviceAdapter
+ addedDeviceAdapter.setOnItemClickListener(object :
+ AddedDeviceAdapter.OnItemClickListener {
+ override fun onItemClick(position: Int) {
+ //TODO 需要根据设备类型显示不同的页面
+ val deviceModel = deviceModels[position]
+ deviceModel.deviceName.show(this@AllDeviceActivity)
+ }
+ })
+ }
+
+ override fun initEvent() {
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/view/device/CookerActivity.kt b/app/src/main/java/com/casic/br/view/device/CookerActivity.kt
new file mode 100644
index 0000000..23c7a55
--- /dev/null
+++ b/app/src/main/java/com/casic/br/view/device/CookerActivity.kt
@@ -0,0 +1,7 @@
+package com.casic.br.view.device
+
+/**
+ * 灶具
+ * */
+class CookerActivity {
+}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 611e149..7c387fc 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -40,6 +40,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt b/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt
new file mode 100644
index 0000000..48321ae
--- /dev/null
+++ b/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt
@@ -0,0 +1,49 @@
+package com.casic.br.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.ImageView
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.br.R
+import com.casic.br.model.AddedDeviceModel
+
+class AddedDeviceAdapter(
+ private val context: Context,
+ private val dataRows: MutableList
+) : RecyclerView.Adapter() {
+
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_added_device_rv_l, parent, false)
+ )
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ holder.deviceNameView.text = dataRows[position].deviceName
+ holder.deviceUsedTimeView.text = dataRows[position].deviceUsedTime
+ holder.itemView.setOnClickListener {
+ clickListener?.onItemClick(position)
+ }
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ private var clickListener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onItemClick(position: Int)
+ }
+
+ fun setOnItemClickListener(clickListener: OnItemClickListener?) {
+ this.clickListener = clickListener
+ }
+
+ class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
+ val imageView: ImageView = itemView.findViewById(R.id.imageView)
+ val deviceNameView: TextView = itemView.findViewById(R.id.deviceNameView)
+ val deviceUsedTimeView: TextView = itemView.findViewById(R.id.deviceUsedTimeView)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt b/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt
index 29b7b3f..3b2dd90 100644
--- a/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt
+++ b/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt
@@ -18,8 +18,7 @@
private val context: Context,
private val icons: IntArray,
private val titles: Array
-) :
- RecyclerView.Adapter() {
+) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
diff --git a/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt b/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt
index 1a4e58a..260be96 100644
--- a/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt
+++ b/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt
@@ -15,8 +15,7 @@
class IconTextListAdapter(
private val context: Context,
private val titles: Array
-) :
- RecyclerView.Adapter() {
+) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
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 2d32a78..9857505 100644
--- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt
+++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt
@@ -1,21 +1,57 @@
package com.casic.br.fragment
+import androidx.recyclerview.widget.DividerItemDecoration
import com.casic.br.R
+import com.casic.br.adapter.AddedDeviceAdapter
+import com.casic.br.model.AddedDeviceModel
+import com.casic.br.view.AllDeviceActivity
import com.pengxh.kt.lite.base.KotlinBaseFragment
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.show
+import kotlinx.android.synthetic.main.fragment_device.*
+import kotlinx.android.synthetic.main.include_main_title.*
+import java.util.*
class DevicePageFragment : KotlinBaseFragment() {
override fun initLayoutView(): Int = R.layout.fragment_device
override fun setupTopBarLayout() {
-
+ leftTitleView.text = "设备"
}
override fun initData() {
+ //TODO 模拟数据 只显示前三个设备
+ val deviceModels = ArrayList()
+ for (i in 0..2) {
+ val model = AddedDeviceModel()
+ model.deviceName = "*****热水器"
+ model.deviceUsedTime = "已使用${Random().nextInt(12)}个月${Random().nextInt(31)}天"
+ deviceModels.add(model)
+ }
+ val addedDeviceAdapter = AddedDeviceAdapter(requireContext(), deviceModels)
+ deviceRecyclerView.addItemDecoration(
+ DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL)
+ )
+ deviceRecyclerView.adapter = addedDeviceAdapter
+ addedDeviceAdapter.setOnItemClickListener(object :
+ AddedDeviceAdapter.OnItemClickListener {
+ override fun onItemClick(position: Int) {
+ //TODO 需要根据设备类型显示不同的页面
+ val deviceModel = deviceModels[position]
+ deviceModel.deviceName.show(requireContext())
+ }
+ })
}
override fun initEvent() {
+ showAllDeviceLayout.setOnClickListener {
+ requireContext().navigatePageTo()
+ }
+ addDeviceLayout.setOnClickListener {
+
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/model/AddedDeviceModel.java b/app/src/main/java/com/casic/br/model/AddedDeviceModel.java
new file mode 100644
index 0000000..40a545c
--- /dev/null
+++ b/app/src/main/java/com/casic/br/model/AddedDeviceModel.java
@@ -0,0 +1,43 @@
+package com.casic.br.model;
+
+/**
+ * 已添加设备(Iot和非Iot设备)数据模型
+ */
+public class AddedDeviceModel {
+ private String deviceImage;
+ private String deviceName;
+ private String deviceType;
+ private String deviceUsedTime;
+
+ public String getDeviceImage() {
+ return deviceImage;
+ }
+
+ public void setDeviceImage(String deviceImage) {
+ this.deviceImage = deviceImage;
+ }
+
+ public String getDeviceName() {
+ return deviceName;
+ }
+
+ public void setDeviceName(String deviceName) {
+ this.deviceName = deviceName;
+ }
+
+ 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/view/AllDeviceActivity.kt b/app/src/main/java/com/casic/br/view/AllDeviceActivity.kt
new file mode 100644
index 0000000..bafd851
--- /dev/null
+++ b/app/src/main/java/com/casic/br/view/AllDeviceActivity.kt
@@ -0,0 +1,56 @@
+package com.casic.br.view
+
+import androidx.recyclerview.widget.DividerItemDecoration
+import com.casic.br.R
+import com.casic.br.adapter.AddedDeviceAdapter
+import com.casic.br.model.AddedDeviceModel
+import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
+import kotlinx.android.synthetic.main.fragment_device.*
+import kotlinx.android.synthetic.main.include_base_title.*
+import java.util.*
+
+class AllDeviceActivity : KotlinBaseActivity() {
+
+ override fun initLayoutView(): Int = R.layout.activity_all_device
+
+ override fun setupTopBarLayout() {
+ ImmersionBar.with(this).statusBarDarkFont(true).init()
+ ImmerseStatusBarUtil.setColor(this, R.color.white.convertColor(this))
+
+ leftBackView.setOnClickListener { finish() }
+ titleView.text = "全部设备"
+ }
+
+ override fun initData() {
+ //TODO 模拟数据
+ val deviceModels = ArrayList()
+ for (i in 0..9) {
+ val model = AddedDeviceModel()
+ model.deviceName = "*****热水器"
+ model.deviceUsedTime = "已使用${Random().nextInt(12)}个月${Random().nextInt(31)}天"
+
+ deviceModels.add(model)
+ }
+ val addedDeviceAdapter = AddedDeviceAdapter(this, deviceModels)
+ deviceRecyclerView.addItemDecoration(
+ DividerItemDecoration(this, DividerItemDecoration.VERTICAL)
+ )
+ deviceRecyclerView.adapter = addedDeviceAdapter
+ addedDeviceAdapter.setOnItemClickListener(object :
+ AddedDeviceAdapter.OnItemClickListener {
+ override fun onItemClick(position: Int) {
+ //TODO 需要根据设备类型显示不同的页面
+ val deviceModel = deviceModels[position]
+ deviceModel.deviceName.show(this@AllDeviceActivity)
+ }
+ })
+ }
+
+ override fun initEvent() {
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/view/device/CookerActivity.kt b/app/src/main/java/com/casic/br/view/device/CookerActivity.kt
new file mode 100644
index 0000000..23c7a55
--- /dev/null
+++ b/app/src/main/java/com/casic/br/view/device/CookerActivity.kt
@@ -0,0 +1,7 @@
+package com.casic.br.view.device
+
+/**
+ * 灶具
+ * */
+class CookerActivity {
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/view/device/FireplaceActivity.kt b/app/src/main/java/com/casic/br/view/device/FireplaceActivity.kt
new file mode 100644
index 0000000..139cb18
--- /dev/null
+++ b/app/src/main/java/com/casic/br/view/device/FireplaceActivity.kt
@@ -0,0 +1,7 @@
+package com.casic.br.view.device
+
+/**
+ * 壁挂炉
+ * */
+class FireplaceActivity {
+}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 611e149..7c387fc 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -40,6 +40,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt b/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt
new file mode 100644
index 0000000..48321ae
--- /dev/null
+++ b/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt
@@ -0,0 +1,49 @@
+package com.casic.br.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.ImageView
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.br.R
+import com.casic.br.model.AddedDeviceModel
+
+class AddedDeviceAdapter(
+ private val context: Context,
+ private val dataRows: MutableList
+) : RecyclerView.Adapter() {
+
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_added_device_rv_l, parent, false)
+ )
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ holder.deviceNameView.text = dataRows[position].deviceName
+ holder.deviceUsedTimeView.text = dataRows[position].deviceUsedTime
+ holder.itemView.setOnClickListener {
+ clickListener?.onItemClick(position)
+ }
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ private var clickListener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onItemClick(position: Int)
+ }
+
+ fun setOnItemClickListener(clickListener: OnItemClickListener?) {
+ this.clickListener = clickListener
+ }
+
+ class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
+ val imageView: ImageView = itemView.findViewById(R.id.imageView)
+ val deviceNameView: TextView = itemView.findViewById(R.id.deviceNameView)
+ val deviceUsedTimeView: TextView = itemView.findViewById(R.id.deviceUsedTimeView)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt b/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt
index 29b7b3f..3b2dd90 100644
--- a/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt
+++ b/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt
@@ -18,8 +18,7 @@
private val context: Context,
private val icons: IntArray,
private val titles: Array
-) :
- RecyclerView.Adapter() {
+) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
diff --git a/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt b/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt
index 1a4e58a..260be96 100644
--- a/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt
+++ b/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt
@@ -15,8 +15,7 @@
class IconTextListAdapter(
private val context: Context,
private val titles: Array
-) :
- RecyclerView.Adapter() {
+) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
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 2d32a78..9857505 100644
--- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt
+++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt
@@ -1,21 +1,57 @@
package com.casic.br.fragment
+import androidx.recyclerview.widget.DividerItemDecoration
import com.casic.br.R
+import com.casic.br.adapter.AddedDeviceAdapter
+import com.casic.br.model.AddedDeviceModel
+import com.casic.br.view.AllDeviceActivity
import com.pengxh.kt.lite.base.KotlinBaseFragment
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.show
+import kotlinx.android.synthetic.main.fragment_device.*
+import kotlinx.android.synthetic.main.include_main_title.*
+import java.util.*
class DevicePageFragment : KotlinBaseFragment() {
override fun initLayoutView(): Int = R.layout.fragment_device
override fun setupTopBarLayout() {
-
+ leftTitleView.text = "设备"
}
override fun initData() {
+ //TODO 模拟数据 只显示前三个设备
+ val deviceModels = ArrayList()
+ for (i in 0..2) {
+ val model = AddedDeviceModel()
+ model.deviceName = "*****热水器"
+ model.deviceUsedTime = "已使用${Random().nextInt(12)}个月${Random().nextInt(31)}天"
+ deviceModels.add(model)
+ }
+ val addedDeviceAdapter = AddedDeviceAdapter(requireContext(), deviceModels)
+ deviceRecyclerView.addItemDecoration(
+ DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL)
+ )
+ deviceRecyclerView.adapter = addedDeviceAdapter
+ addedDeviceAdapter.setOnItemClickListener(object :
+ AddedDeviceAdapter.OnItemClickListener {
+ override fun onItemClick(position: Int) {
+ //TODO 需要根据设备类型显示不同的页面
+ val deviceModel = deviceModels[position]
+ deviceModel.deviceName.show(requireContext())
+ }
+ })
}
override fun initEvent() {
+ showAllDeviceLayout.setOnClickListener {
+ requireContext().navigatePageTo()
+ }
+ addDeviceLayout.setOnClickListener {
+
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/model/AddedDeviceModel.java b/app/src/main/java/com/casic/br/model/AddedDeviceModel.java
new file mode 100644
index 0000000..40a545c
--- /dev/null
+++ b/app/src/main/java/com/casic/br/model/AddedDeviceModel.java
@@ -0,0 +1,43 @@
+package com.casic.br.model;
+
+/**
+ * 已添加设备(Iot和非Iot设备)数据模型
+ */
+public class AddedDeviceModel {
+ private String deviceImage;
+ private String deviceName;
+ private String deviceType;
+ private String deviceUsedTime;
+
+ public String getDeviceImage() {
+ return deviceImage;
+ }
+
+ public void setDeviceImage(String deviceImage) {
+ this.deviceImage = deviceImage;
+ }
+
+ public String getDeviceName() {
+ return deviceName;
+ }
+
+ public void setDeviceName(String deviceName) {
+ this.deviceName = deviceName;
+ }
+
+ 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/view/AllDeviceActivity.kt b/app/src/main/java/com/casic/br/view/AllDeviceActivity.kt
new file mode 100644
index 0000000..bafd851
--- /dev/null
+++ b/app/src/main/java/com/casic/br/view/AllDeviceActivity.kt
@@ -0,0 +1,56 @@
+package com.casic.br.view
+
+import androidx.recyclerview.widget.DividerItemDecoration
+import com.casic.br.R
+import com.casic.br.adapter.AddedDeviceAdapter
+import com.casic.br.model.AddedDeviceModel
+import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
+import kotlinx.android.synthetic.main.fragment_device.*
+import kotlinx.android.synthetic.main.include_base_title.*
+import java.util.*
+
+class AllDeviceActivity : KotlinBaseActivity() {
+
+ override fun initLayoutView(): Int = R.layout.activity_all_device
+
+ override fun setupTopBarLayout() {
+ ImmersionBar.with(this).statusBarDarkFont(true).init()
+ ImmerseStatusBarUtil.setColor(this, R.color.white.convertColor(this))
+
+ leftBackView.setOnClickListener { finish() }
+ titleView.text = "全部设备"
+ }
+
+ override fun initData() {
+ //TODO 模拟数据
+ val deviceModels = ArrayList()
+ for (i in 0..9) {
+ val model = AddedDeviceModel()
+ model.deviceName = "*****热水器"
+ model.deviceUsedTime = "已使用${Random().nextInt(12)}个月${Random().nextInt(31)}天"
+
+ deviceModels.add(model)
+ }
+ val addedDeviceAdapter = AddedDeviceAdapter(this, deviceModels)
+ deviceRecyclerView.addItemDecoration(
+ DividerItemDecoration(this, DividerItemDecoration.VERTICAL)
+ )
+ deviceRecyclerView.adapter = addedDeviceAdapter
+ addedDeviceAdapter.setOnItemClickListener(object :
+ AddedDeviceAdapter.OnItemClickListener {
+ override fun onItemClick(position: Int) {
+ //TODO 需要根据设备类型显示不同的页面
+ val deviceModel = deviceModels[position]
+ deviceModel.deviceName.show(this@AllDeviceActivity)
+ }
+ })
+ }
+
+ override fun initEvent() {
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/view/device/CookerActivity.kt b/app/src/main/java/com/casic/br/view/device/CookerActivity.kt
new file mode 100644
index 0000000..23c7a55
--- /dev/null
+++ b/app/src/main/java/com/casic/br/view/device/CookerActivity.kt
@@ -0,0 +1,7 @@
+package com.casic.br.view.device
+
+/**
+ * 灶具
+ * */
+class CookerActivity {
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/view/device/FireplaceActivity.kt b/app/src/main/java/com/casic/br/view/device/FireplaceActivity.kt
new file mode 100644
index 0000000..139cb18
--- /dev/null
+++ b/app/src/main/java/com/casic/br/view/device/FireplaceActivity.kt
@@ -0,0 +1,7 @@
+package com.casic.br.view.device
+
+/**
+ * 壁挂炉
+ * */
+class FireplaceActivity {
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/view/device/RangeHoodActivity.kt b/app/src/main/java/com/casic/br/view/device/RangeHoodActivity.kt
new file mode 100644
index 0000000..838bde6
--- /dev/null
+++ b/app/src/main/java/com/casic/br/view/device/RangeHoodActivity.kt
@@ -0,0 +1,7 @@
+package com.casic.br.view.device
+
+/**
+ * 油烟机
+ * */
+class RangeHoodActivity {
+}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 611e149..7c387fc 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -40,6 +40,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt b/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt
new file mode 100644
index 0000000..48321ae
--- /dev/null
+++ b/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt
@@ -0,0 +1,49 @@
+package com.casic.br.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.ImageView
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.br.R
+import com.casic.br.model.AddedDeviceModel
+
+class AddedDeviceAdapter(
+ private val context: Context,
+ private val dataRows: MutableList
+) : RecyclerView.Adapter() {
+
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_added_device_rv_l, parent, false)
+ )
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ holder.deviceNameView.text = dataRows[position].deviceName
+ holder.deviceUsedTimeView.text = dataRows[position].deviceUsedTime
+ holder.itemView.setOnClickListener {
+ clickListener?.onItemClick(position)
+ }
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ private var clickListener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onItemClick(position: Int)
+ }
+
+ fun setOnItemClickListener(clickListener: OnItemClickListener?) {
+ this.clickListener = clickListener
+ }
+
+ class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
+ val imageView: ImageView = itemView.findViewById(R.id.imageView)
+ val deviceNameView: TextView = itemView.findViewById(R.id.deviceNameView)
+ val deviceUsedTimeView: TextView = itemView.findViewById(R.id.deviceUsedTimeView)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt b/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt
index 29b7b3f..3b2dd90 100644
--- a/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt
+++ b/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt
@@ -18,8 +18,7 @@
private val context: Context,
private val icons: IntArray,
private val titles: Array
-) :
- RecyclerView.Adapter() {
+) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
diff --git a/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt b/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt
index 1a4e58a..260be96 100644
--- a/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt
+++ b/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt
@@ -15,8 +15,7 @@
class IconTextListAdapter(
private val context: Context,
private val titles: Array
-) :
- RecyclerView.Adapter() {
+) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
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 2d32a78..9857505 100644
--- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt
+++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt
@@ -1,21 +1,57 @@
package com.casic.br.fragment
+import androidx.recyclerview.widget.DividerItemDecoration
import com.casic.br.R
+import com.casic.br.adapter.AddedDeviceAdapter
+import com.casic.br.model.AddedDeviceModel
+import com.casic.br.view.AllDeviceActivity
import com.pengxh.kt.lite.base.KotlinBaseFragment
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.show
+import kotlinx.android.synthetic.main.fragment_device.*
+import kotlinx.android.synthetic.main.include_main_title.*
+import java.util.*
class DevicePageFragment : KotlinBaseFragment() {
override fun initLayoutView(): Int = R.layout.fragment_device
override fun setupTopBarLayout() {
-
+ leftTitleView.text = "设备"
}
override fun initData() {
+ //TODO 模拟数据 只显示前三个设备
+ val deviceModels = ArrayList()
+ for (i in 0..2) {
+ val model = AddedDeviceModel()
+ model.deviceName = "*****热水器"
+ model.deviceUsedTime = "已使用${Random().nextInt(12)}个月${Random().nextInt(31)}天"
+ deviceModels.add(model)
+ }
+ val addedDeviceAdapter = AddedDeviceAdapter(requireContext(), deviceModels)
+ deviceRecyclerView.addItemDecoration(
+ DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL)
+ )
+ deviceRecyclerView.adapter = addedDeviceAdapter
+ addedDeviceAdapter.setOnItemClickListener(object :
+ AddedDeviceAdapter.OnItemClickListener {
+ override fun onItemClick(position: Int) {
+ //TODO 需要根据设备类型显示不同的页面
+ val deviceModel = deviceModels[position]
+ deviceModel.deviceName.show(requireContext())
+ }
+ })
}
override fun initEvent() {
+ showAllDeviceLayout.setOnClickListener {
+ requireContext().navigatePageTo()
+ }
+ addDeviceLayout.setOnClickListener {
+
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/model/AddedDeviceModel.java b/app/src/main/java/com/casic/br/model/AddedDeviceModel.java
new file mode 100644
index 0000000..40a545c
--- /dev/null
+++ b/app/src/main/java/com/casic/br/model/AddedDeviceModel.java
@@ -0,0 +1,43 @@
+package com.casic.br.model;
+
+/**
+ * 已添加设备(Iot和非Iot设备)数据模型
+ */
+public class AddedDeviceModel {
+ private String deviceImage;
+ private String deviceName;
+ private String deviceType;
+ private String deviceUsedTime;
+
+ public String getDeviceImage() {
+ return deviceImage;
+ }
+
+ public void setDeviceImage(String deviceImage) {
+ this.deviceImage = deviceImage;
+ }
+
+ public String getDeviceName() {
+ return deviceName;
+ }
+
+ public void setDeviceName(String deviceName) {
+ this.deviceName = deviceName;
+ }
+
+ 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/view/AllDeviceActivity.kt b/app/src/main/java/com/casic/br/view/AllDeviceActivity.kt
new file mode 100644
index 0000000..bafd851
--- /dev/null
+++ b/app/src/main/java/com/casic/br/view/AllDeviceActivity.kt
@@ -0,0 +1,56 @@
+package com.casic.br.view
+
+import androidx.recyclerview.widget.DividerItemDecoration
+import com.casic.br.R
+import com.casic.br.adapter.AddedDeviceAdapter
+import com.casic.br.model.AddedDeviceModel
+import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
+import kotlinx.android.synthetic.main.fragment_device.*
+import kotlinx.android.synthetic.main.include_base_title.*
+import java.util.*
+
+class AllDeviceActivity : KotlinBaseActivity() {
+
+ override fun initLayoutView(): Int = R.layout.activity_all_device
+
+ override fun setupTopBarLayout() {
+ ImmersionBar.with(this).statusBarDarkFont(true).init()
+ ImmerseStatusBarUtil.setColor(this, R.color.white.convertColor(this))
+
+ leftBackView.setOnClickListener { finish() }
+ titleView.text = "全部设备"
+ }
+
+ override fun initData() {
+ //TODO 模拟数据
+ val deviceModels = ArrayList()
+ for (i in 0..9) {
+ val model = AddedDeviceModel()
+ model.deviceName = "*****热水器"
+ model.deviceUsedTime = "已使用${Random().nextInt(12)}个月${Random().nextInt(31)}天"
+
+ deviceModels.add(model)
+ }
+ val addedDeviceAdapter = AddedDeviceAdapter(this, deviceModels)
+ deviceRecyclerView.addItemDecoration(
+ DividerItemDecoration(this, DividerItemDecoration.VERTICAL)
+ )
+ deviceRecyclerView.adapter = addedDeviceAdapter
+ addedDeviceAdapter.setOnItemClickListener(object :
+ AddedDeviceAdapter.OnItemClickListener {
+ override fun onItemClick(position: Int) {
+ //TODO 需要根据设备类型显示不同的页面
+ val deviceModel = deviceModels[position]
+ deviceModel.deviceName.show(this@AllDeviceActivity)
+ }
+ })
+ }
+
+ override fun initEvent() {
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/view/device/CookerActivity.kt b/app/src/main/java/com/casic/br/view/device/CookerActivity.kt
new file mode 100644
index 0000000..23c7a55
--- /dev/null
+++ b/app/src/main/java/com/casic/br/view/device/CookerActivity.kt
@@ -0,0 +1,7 @@
+package com.casic.br.view.device
+
+/**
+ * 灶具
+ * */
+class CookerActivity {
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/view/device/FireplaceActivity.kt b/app/src/main/java/com/casic/br/view/device/FireplaceActivity.kt
new file mode 100644
index 0000000..139cb18
--- /dev/null
+++ b/app/src/main/java/com/casic/br/view/device/FireplaceActivity.kt
@@ -0,0 +1,7 @@
+package com.casic.br.view.device
+
+/**
+ * 壁挂炉
+ * */
+class FireplaceActivity {
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/view/device/RangeHoodActivity.kt b/app/src/main/java/com/casic/br/view/device/RangeHoodActivity.kt
new file mode 100644
index 0000000..838bde6
--- /dev/null
+++ b/app/src/main/java/com/casic/br/view/device/RangeHoodActivity.kt
@@ -0,0 +1,7 @@
+package com.casic.br.view.device
+
+/**
+ * 油烟机
+ * */
+class RangeHoodActivity {
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt
new file mode 100644
index 0000000..66cb1a4
--- /dev/null
+++ b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt
@@ -0,0 +1,7 @@
+package com.casic.br.view.device
+
+/**
+ * 热水器
+ * */
+class WaterHeaterActivity {
+}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 611e149..7c387fc 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -40,6 +40,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt b/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt
new file mode 100644
index 0000000..48321ae
--- /dev/null
+++ b/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt
@@ -0,0 +1,49 @@
+package com.casic.br.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.ImageView
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.br.R
+import com.casic.br.model.AddedDeviceModel
+
+class AddedDeviceAdapter(
+ private val context: Context,
+ private val dataRows: MutableList
+) : RecyclerView.Adapter() {
+
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_added_device_rv_l, parent, false)
+ )
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ holder.deviceNameView.text = dataRows[position].deviceName
+ holder.deviceUsedTimeView.text = dataRows[position].deviceUsedTime
+ holder.itemView.setOnClickListener {
+ clickListener?.onItemClick(position)
+ }
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ private var clickListener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onItemClick(position: Int)
+ }
+
+ fun setOnItemClickListener(clickListener: OnItemClickListener?) {
+ this.clickListener = clickListener
+ }
+
+ class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
+ val imageView: ImageView = itemView.findViewById(R.id.imageView)
+ val deviceNameView: TextView = itemView.findViewById(R.id.deviceNameView)
+ val deviceUsedTimeView: TextView = itemView.findViewById(R.id.deviceUsedTimeView)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt b/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt
index 29b7b3f..3b2dd90 100644
--- a/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt
+++ b/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt
@@ -18,8 +18,7 @@
private val context: Context,
private val icons: IntArray,
private val titles: Array
-) :
- RecyclerView.Adapter() {
+) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
diff --git a/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt b/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt
index 1a4e58a..260be96 100644
--- a/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt
+++ b/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt
@@ -15,8 +15,7 @@
class IconTextListAdapter(
private val context: Context,
private val titles: Array
-) :
- RecyclerView.Adapter() {
+) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
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 2d32a78..9857505 100644
--- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt
+++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt
@@ -1,21 +1,57 @@
package com.casic.br.fragment
+import androidx.recyclerview.widget.DividerItemDecoration
import com.casic.br.R
+import com.casic.br.adapter.AddedDeviceAdapter
+import com.casic.br.model.AddedDeviceModel
+import com.casic.br.view.AllDeviceActivity
import com.pengxh.kt.lite.base.KotlinBaseFragment
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.show
+import kotlinx.android.synthetic.main.fragment_device.*
+import kotlinx.android.synthetic.main.include_main_title.*
+import java.util.*
class DevicePageFragment : KotlinBaseFragment() {
override fun initLayoutView(): Int = R.layout.fragment_device
override fun setupTopBarLayout() {
-
+ leftTitleView.text = "设备"
}
override fun initData() {
+ //TODO 模拟数据 只显示前三个设备
+ val deviceModels = ArrayList()
+ for (i in 0..2) {
+ val model = AddedDeviceModel()
+ model.deviceName = "*****热水器"
+ model.deviceUsedTime = "已使用${Random().nextInt(12)}个月${Random().nextInt(31)}天"
+ deviceModels.add(model)
+ }
+ val addedDeviceAdapter = AddedDeviceAdapter(requireContext(), deviceModels)
+ deviceRecyclerView.addItemDecoration(
+ DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL)
+ )
+ deviceRecyclerView.adapter = addedDeviceAdapter
+ addedDeviceAdapter.setOnItemClickListener(object :
+ AddedDeviceAdapter.OnItemClickListener {
+ override fun onItemClick(position: Int) {
+ //TODO 需要根据设备类型显示不同的页面
+ val deviceModel = deviceModels[position]
+ deviceModel.deviceName.show(requireContext())
+ }
+ })
}
override fun initEvent() {
+ showAllDeviceLayout.setOnClickListener {
+ requireContext().navigatePageTo()
+ }
+ addDeviceLayout.setOnClickListener {
+
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/model/AddedDeviceModel.java b/app/src/main/java/com/casic/br/model/AddedDeviceModel.java
new file mode 100644
index 0000000..40a545c
--- /dev/null
+++ b/app/src/main/java/com/casic/br/model/AddedDeviceModel.java
@@ -0,0 +1,43 @@
+package com.casic.br.model;
+
+/**
+ * 已添加设备(Iot和非Iot设备)数据模型
+ */
+public class AddedDeviceModel {
+ private String deviceImage;
+ private String deviceName;
+ private String deviceType;
+ private String deviceUsedTime;
+
+ public String getDeviceImage() {
+ return deviceImage;
+ }
+
+ public void setDeviceImage(String deviceImage) {
+ this.deviceImage = deviceImage;
+ }
+
+ public String getDeviceName() {
+ return deviceName;
+ }
+
+ public void setDeviceName(String deviceName) {
+ this.deviceName = deviceName;
+ }
+
+ 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/view/AllDeviceActivity.kt b/app/src/main/java/com/casic/br/view/AllDeviceActivity.kt
new file mode 100644
index 0000000..bafd851
--- /dev/null
+++ b/app/src/main/java/com/casic/br/view/AllDeviceActivity.kt
@@ -0,0 +1,56 @@
+package com.casic.br.view
+
+import androidx.recyclerview.widget.DividerItemDecoration
+import com.casic.br.R
+import com.casic.br.adapter.AddedDeviceAdapter
+import com.casic.br.model.AddedDeviceModel
+import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
+import kotlinx.android.synthetic.main.fragment_device.*
+import kotlinx.android.synthetic.main.include_base_title.*
+import java.util.*
+
+class AllDeviceActivity : KotlinBaseActivity() {
+
+ override fun initLayoutView(): Int = R.layout.activity_all_device
+
+ override fun setupTopBarLayout() {
+ ImmersionBar.with(this).statusBarDarkFont(true).init()
+ ImmerseStatusBarUtil.setColor(this, R.color.white.convertColor(this))
+
+ leftBackView.setOnClickListener { finish() }
+ titleView.text = "全部设备"
+ }
+
+ override fun initData() {
+ //TODO 模拟数据
+ val deviceModels = ArrayList()
+ for (i in 0..9) {
+ val model = AddedDeviceModel()
+ model.deviceName = "*****热水器"
+ model.deviceUsedTime = "已使用${Random().nextInt(12)}个月${Random().nextInt(31)}天"
+
+ deviceModels.add(model)
+ }
+ val addedDeviceAdapter = AddedDeviceAdapter(this, deviceModels)
+ deviceRecyclerView.addItemDecoration(
+ DividerItemDecoration(this, DividerItemDecoration.VERTICAL)
+ )
+ deviceRecyclerView.adapter = addedDeviceAdapter
+ addedDeviceAdapter.setOnItemClickListener(object :
+ AddedDeviceAdapter.OnItemClickListener {
+ override fun onItemClick(position: Int) {
+ //TODO 需要根据设备类型显示不同的页面
+ val deviceModel = deviceModels[position]
+ deviceModel.deviceName.show(this@AllDeviceActivity)
+ }
+ })
+ }
+
+ override fun initEvent() {
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/view/device/CookerActivity.kt b/app/src/main/java/com/casic/br/view/device/CookerActivity.kt
new file mode 100644
index 0000000..23c7a55
--- /dev/null
+++ b/app/src/main/java/com/casic/br/view/device/CookerActivity.kt
@@ -0,0 +1,7 @@
+package com.casic.br.view.device
+
+/**
+ * 灶具
+ * */
+class CookerActivity {
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/view/device/FireplaceActivity.kt b/app/src/main/java/com/casic/br/view/device/FireplaceActivity.kt
new file mode 100644
index 0000000..139cb18
--- /dev/null
+++ b/app/src/main/java/com/casic/br/view/device/FireplaceActivity.kt
@@ -0,0 +1,7 @@
+package com.casic.br.view.device
+
+/**
+ * 壁挂炉
+ * */
+class FireplaceActivity {
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/view/device/RangeHoodActivity.kt b/app/src/main/java/com/casic/br/view/device/RangeHoodActivity.kt
new file mode 100644
index 0000000..838bde6
--- /dev/null
+++ b/app/src/main/java/com/casic/br/view/device/RangeHoodActivity.kt
@@ -0,0 +1,7 @@
+package com.casic.br.view.device
+
+/**
+ * 油烟机
+ * */
+class RangeHoodActivity {
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt
new file mode 100644
index 0000000..66cb1a4
--- /dev/null
+++ b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt
@@ -0,0 +1,7 @@
+package com.casic.br.view.device
+
+/**
+ * 热水器
+ * */
+class WaterHeaterActivity {
+}
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_add_device.xml b/app/src/main/res/drawable/ic_add_device.xml
new file mode 100644
index 0000000..14c8ec9
--- /dev/null
+++ b/app/src/main/res/drawable/ic_add_device.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 611e149..7c387fc 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -40,6 +40,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt b/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt
new file mode 100644
index 0000000..48321ae
--- /dev/null
+++ b/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt
@@ -0,0 +1,49 @@
+package com.casic.br.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.ImageView
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.br.R
+import com.casic.br.model.AddedDeviceModel
+
+class AddedDeviceAdapter(
+ private val context: Context,
+ private val dataRows: MutableList
+) : RecyclerView.Adapter() {
+
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_added_device_rv_l, parent, false)
+ )
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ holder.deviceNameView.text = dataRows[position].deviceName
+ holder.deviceUsedTimeView.text = dataRows[position].deviceUsedTime
+ holder.itemView.setOnClickListener {
+ clickListener?.onItemClick(position)
+ }
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ private var clickListener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onItemClick(position: Int)
+ }
+
+ fun setOnItemClickListener(clickListener: OnItemClickListener?) {
+ this.clickListener = clickListener
+ }
+
+ class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
+ val imageView: ImageView = itemView.findViewById(R.id.imageView)
+ val deviceNameView: TextView = itemView.findViewById(R.id.deviceNameView)
+ val deviceUsedTimeView: TextView = itemView.findViewById(R.id.deviceUsedTimeView)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt b/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt
index 29b7b3f..3b2dd90 100644
--- a/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt
+++ b/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt
@@ -18,8 +18,7 @@
private val context: Context,
private val icons: IntArray,
private val titles: Array
-) :
- RecyclerView.Adapter() {
+) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
diff --git a/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt b/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt
index 1a4e58a..260be96 100644
--- a/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt
+++ b/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt
@@ -15,8 +15,7 @@
class IconTextListAdapter(
private val context: Context,
private val titles: Array
-) :
- RecyclerView.Adapter() {
+) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
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 2d32a78..9857505 100644
--- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt
+++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt
@@ -1,21 +1,57 @@
package com.casic.br.fragment
+import androidx.recyclerview.widget.DividerItemDecoration
import com.casic.br.R
+import com.casic.br.adapter.AddedDeviceAdapter
+import com.casic.br.model.AddedDeviceModel
+import com.casic.br.view.AllDeviceActivity
import com.pengxh.kt.lite.base.KotlinBaseFragment
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.show
+import kotlinx.android.synthetic.main.fragment_device.*
+import kotlinx.android.synthetic.main.include_main_title.*
+import java.util.*
class DevicePageFragment : KotlinBaseFragment() {
override fun initLayoutView(): Int = R.layout.fragment_device
override fun setupTopBarLayout() {
-
+ leftTitleView.text = "设备"
}
override fun initData() {
+ //TODO 模拟数据 只显示前三个设备
+ val deviceModels = ArrayList()
+ for (i in 0..2) {
+ val model = AddedDeviceModel()
+ model.deviceName = "*****热水器"
+ model.deviceUsedTime = "已使用${Random().nextInt(12)}个月${Random().nextInt(31)}天"
+ deviceModels.add(model)
+ }
+ val addedDeviceAdapter = AddedDeviceAdapter(requireContext(), deviceModels)
+ deviceRecyclerView.addItemDecoration(
+ DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL)
+ )
+ deviceRecyclerView.adapter = addedDeviceAdapter
+ addedDeviceAdapter.setOnItemClickListener(object :
+ AddedDeviceAdapter.OnItemClickListener {
+ override fun onItemClick(position: Int) {
+ //TODO 需要根据设备类型显示不同的页面
+ val deviceModel = deviceModels[position]
+ deviceModel.deviceName.show(requireContext())
+ }
+ })
}
override fun initEvent() {
+ showAllDeviceLayout.setOnClickListener {
+ requireContext().navigatePageTo()
+ }
+ addDeviceLayout.setOnClickListener {
+
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/model/AddedDeviceModel.java b/app/src/main/java/com/casic/br/model/AddedDeviceModel.java
new file mode 100644
index 0000000..40a545c
--- /dev/null
+++ b/app/src/main/java/com/casic/br/model/AddedDeviceModel.java
@@ -0,0 +1,43 @@
+package com.casic.br.model;
+
+/**
+ * 已添加设备(Iot和非Iot设备)数据模型
+ */
+public class AddedDeviceModel {
+ private String deviceImage;
+ private String deviceName;
+ private String deviceType;
+ private String deviceUsedTime;
+
+ public String getDeviceImage() {
+ return deviceImage;
+ }
+
+ public void setDeviceImage(String deviceImage) {
+ this.deviceImage = deviceImage;
+ }
+
+ public String getDeviceName() {
+ return deviceName;
+ }
+
+ public void setDeviceName(String deviceName) {
+ this.deviceName = deviceName;
+ }
+
+ 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/view/AllDeviceActivity.kt b/app/src/main/java/com/casic/br/view/AllDeviceActivity.kt
new file mode 100644
index 0000000..bafd851
--- /dev/null
+++ b/app/src/main/java/com/casic/br/view/AllDeviceActivity.kt
@@ -0,0 +1,56 @@
+package com.casic.br.view
+
+import androidx.recyclerview.widget.DividerItemDecoration
+import com.casic.br.R
+import com.casic.br.adapter.AddedDeviceAdapter
+import com.casic.br.model.AddedDeviceModel
+import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
+import kotlinx.android.synthetic.main.fragment_device.*
+import kotlinx.android.synthetic.main.include_base_title.*
+import java.util.*
+
+class AllDeviceActivity : KotlinBaseActivity() {
+
+ override fun initLayoutView(): Int = R.layout.activity_all_device
+
+ override fun setupTopBarLayout() {
+ ImmersionBar.with(this).statusBarDarkFont(true).init()
+ ImmerseStatusBarUtil.setColor(this, R.color.white.convertColor(this))
+
+ leftBackView.setOnClickListener { finish() }
+ titleView.text = "全部设备"
+ }
+
+ override fun initData() {
+ //TODO 模拟数据
+ val deviceModels = ArrayList()
+ for (i in 0..9) {
+ val model = AddedDeviceModel()
+ model.deviceName = "*****热水器"
+ model.deviceUsedTime = "已使用${Random().nextInt(12)}个月${Random().nextInt(31)}天"
+
+ deviceModels.add(model)
+ }
+ val addedDeviceAdapter = AddedDeviceAdapter(this, deviceModels)
+ deviceRecyclerView.addItemDecoration(
+ DividerItemDecoration(this, DividerItemDecoration.VERTICAL)
+ )
+ deviceRecyclerView.adapter = addedDeviceAdapter
+ addedDeviceAdapter.setOnItemClickListener(object :
+ AddedDeviceAdapter.OnItemClickListener {
+ override fun onItemClick(position: Int) {
+ //TODO 需要根据设备类型显示不同的页面
+ val deviceModel = deviceModels[position]
+ deviceModel.deviceName.show(this@AllDeviceActivity)
+ }
+ })
+ }
+
+ override fun initEvent() {
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/view/device/CookerActivity.kt b/app/src/main/java/com/casic/br/view/device/CookerActivity.kt
new file mode 100644
index 0000000..23c7a55
--- /dev/null
+++ b/app/src/main/java/com/casic/br/view/device/CookerActivity.kt
@@ -0,0 +1,7 @@
+package com.casic.br.view.device
+
+/**
+ * 灶具
+ * */
+class CookerActivity {
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/view/device/FireplaceActivity.kt b/app/src/main/java/com/casic/br/view/device/FireplaceActivity.kt
new file mode 100644
index 0000000..139cb18
--- /dev/null
+++ b/app/src/main/java/com/casic/br/view/device/FireplaceActivity.kt
@@ -0,0 +1,7 @@
+package com.casic.br.view.device
+
+/**
+ * 壁挂炉
+ * */
+class FireplaceActivity {
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/view/device/RangeHoodActivity.kt b/app/src/main/java/com/casic/br/view/device/RangeHoodActivity.kt
new file mode 100644
index 0000000..838bde6
--- /dev/null
+++ b/app/src/main/java/com/casic/br/view/device/RangeHoodActivity.kt
@@ -0,0 +1,7 @@
+package com.casic.br.view.device
+
+/**
+ * 油烟机
+ * */
+class RangeHoodActivity {
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt
new file mode 100644
index 0000000..66cb1a4
--- /dev/null
+++ b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt
@@ -0,0 +1,7 @@
+package com.casic.br.view.device
+
+/**
+ * 热水器
+ * */
+class WaterHeaterActivity {
+}
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_add_device.xml b/app/src/main/res/drawable/ic_add_device.xml
new file mode 100644
index 0000000..14c8ec9
--- /dev/null
+++ b/app/src/main/res/drawable/ic_add_device.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_right.xml b/app/src/main/res/drawable/ic_right.xml
index 6020f09..de4d3b2 100644
--- a/app/src/main/res/drawable/ic_right.xml
+++ b/app/src/main/res/drawable/ic_right.xml
@@ -1,6 +1,6 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt b/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt
new file mode 100644
index 0000000..48321ae
--- /dev/null
+++ b/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt
@@ -0,0 +1,49 @@
+package com.casic.br.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.ImageView
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.br.R
+import com.casic.br.model.AddedDeviceModel
+
+class AddedDeviceAdapter(
+ private val context: Context,
+ private val dataRows: MutableList
+) : RecyclerView.Adapter() {
+
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_added_device_rv_l, parent, false)
+ )
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ holder.deviceNameView.text = dataRows[position].deviceName
+ holder.deviceUsedTimeView.text = dataRows[position].deviceUsedTime
+ holder.itemView.setOnClickListener {
+ clickListener?.onItemClick(position)
+ }
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ private var clickListener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onItemClick(position: Int)
+ }
+
+ fun setOnItemClickListener(clickListener: OnItemClickListener?) {
+ this.clickListener = clickListener
+ }
+
+ class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
+ val imageView: ImageView = itemView.findViewById(R.id.imageView)
+ val deviceNameView: TextView = itemView.findViewById(R.id.deviceNameView)
+ val deviceUsedTimeView: TextView = itemView.findViewById(R.id.deviceUsedTimeView)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt b/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt
index 29b7b3f..3b2dd90 100644
--- a/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt
+++ b/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt
@@ -18,8 +18,7 @@
private val context: Context,
private val icons: IntArray,
private val titles: Array
-) :
- RecyclerView.Adapter() {
+) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
diff --git a/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt b/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt
index 1a4e58a..260be96 100644
--- a/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt
+++ b/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt
@@ -15,8 +15,7 @@
class IconTextListAdapter(
private val context: Context,
private val titles: Array
-) :
- RecyclerView.Adapter() {
+) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
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 2d32a78..9857505 100644
--- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt
+++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt
@@ -1,21 +1,57 @@
package com.casic.br.fragment
+import androidx.recyclerview.widget.DividerItemDecoration
import com.casic.br.R
+import com.casic.br.adapter.AddedDeviceAdapter
+import com.casic.br.model.AddedDeviceModel
+import com.casic.br.view.AllDeviceActivity
import com.pengxh.kt.lite.base.KotlinBaseFragment
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.show
+import kotlinx.android.synthetic.main.fragment_device.*
+import kotlinx.android.synthetic.main.include_main_title.*
+import java.util.*
class DevicePageFragment : KotlinBaseFragment() {
override fun initLayoutView(): Int = R.layout.fragment_device
override fun setupTopBarLayout() {
-
+ leftTitleView.text = "设备"
}
override fun initData() {
+ //TODO 模拟数据 只显示前三个设备
+ val deviceModels = ArrayList()
+ for (i in 0..2) {
+ val model = AddedDeviceModel()
+ model.deviceName = "*****热水器"
+ model.deviceUsedTime = "已使用${Random().nextInt(12)}个月${Random().nextInt(31)}天"
+ deviceModels.add(model)
+ }
+ val addedDeviceAdapter = AddedDeviceAdapter(requireContext(), deviceModels)
+ deviceRecyclerView.addItemDecoration(
+ DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL)
+ )
+ deviceRecyclerView.adapter = addedDeviceAdapter
+ addedDeviceAdapter.setOnItemClickListener(object :
+ AddedDeviceAdapter.OnItemClickListener {
+ override fun onItemClick(position: Int) {
+ //TODO 需要根据设备类型显示不同的页面
+ val deviceModel = deviceModels[position]
+ deviceModel.deviceName.show(requireContext())
+ }
+ })
}
override fun initEvent() {
+ showAllDeviceLayout.setOnClickListener {
+ requireContext().navigatePageTo()
+ }
+ addDeviceLayout.setOnClickListener {
+
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/model/AddedDeviceModel.java b/app/src/main/java/com/casic/br/model/AddedDeviceModel.java
new file mode 100644
index 0000000..40a545c
--- /dev/null
+++ b/app/src/main/java/com/casic/br/model/AddedDeviceModel.java
@@ -0,0 +1,43 @@
+package com.casic.br.model;
+
+/**
+ * 已添加设备(Iot和非Iot设备)数据模型
+ */
+public class AddedDeviceModel {
+ private String deviceImage;
+ private String deviceName;
+ private String deviceType;
+ private String deviceUsedTime;
+
+ public String getDeviceImage() {
+ return deviceImage;
+ }
+
+ public void setDeviceImage(String deviceImage) {
+ this.deviceImage = deviceImage;
+ }
+
+ public String getDeviceName() {
+ return deviceName;
+ }
+
+ public void setDeviceName(String deviceName) {
+ this.deviceName = deviceName;
+ }
+
+ 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/view/AllDeviceActivity.kt b/app/src/main/java/com/casic/br/view/AllDeviceActivity.kt
new file mode 100644
index 0000000..bafd851
--- /dev/null
+++ b/app/src/main/java/com/casic/br/view/AllDeviceActivity.kt
@@ -0,0 +1,56 @@
+package com.casic.br.view
+
+import androidx.recyclerview.widget.DividerItemDecoration
+import com.casic.br.R
+import com.casic.br.adapter.AddedDeviceAdapter
+import com.casic.br.model.AddedDeviceModel
+import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
+import kotlinx.android.synthetic.main.fragment_device.*
+import kotlinx.android.synthetic.main.include_base_title.*
+import java.util.*
+
+class AllDeviceActivity : KotlinBaseActivity() {
+
+ override fun initLayoutView(): Int = R.layout.activity_all_device
+
+ override fun setupTopBarLayout() {
+ ImmersionBar.with(this).statusBarDarkFont(true).init()
+ ImmerseStatusBarUtil.setColor(this, R.color.white.convertColor(this))
+
+ leftBackView.setOnClickListener { finish() }
+ titleView.text = "全部设备"
+ }
+
+ override fun initData() {
+ //TODO 模拟数据
+ val deviceModels = ArrayList()
+ for (i in 0..9) {
+ val model = AddedDeviceModel()
+ model.deviceName = "*****热水器"
+ model.deviceUsedTime = "已使用${Random().nextInt(12)}个月${Random().nextInt(31)}天"
+
+ deviceModels.add(model)
+ }
+ val addedDeviceAdapter = AddedDeviceAdapter(this, deviceModels)
+ deviceRecyclerView.addItemDecoration(
+ DividerItemDecoration(this, DividerItemDecoration.VERTICAL)
+ )
+ deviceRecyclerView.adapter = addedDeviceAdapter
+ addedDeviceAdapter.setOnItemClickListener(object :
+ AddedDeviceAdapter.OnItemClickListener {
+ override fun onItemClick(position: Int) {
+ //TODO 需要根据设备类型显示不同的页面
+ val deviceModel = deviceModels[position]
+ deviceModel.deviceName.show(this@AllDeviceActivity)
+ }
+ })
+ }
+
+ override fun initEvent() {
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/view/device/CookerActivity.kt b/app/src/main/java/com/casic/br/view/device/CookerActivity.kt
new file mode 100644
index 0000000..23c7a55
--- /dev/null
+++ b/app/src/main/java/com/casic/br/view/device/CookerActivity.kt
@@ -0,0 +1,7 @@
+package com.casic.br.view.device
+
+/**
+ * 灶具
+ * */
+class CookerActivity {
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/view/device/FireplaceActivity.kt b/app/src/main/java/com/casic/br/view/device/FireplaceActivity.kt
new file mode 100644
index 0000000..139cb18
--- /dev/null
+++ b/app/src/main/java/com/casic/br/view/device/FireplaceActivity.kt
@@ -0,0 +1,7 @@
+package com.casic.br.view.device
+
+/**
+ * 壁挂炉
+ * */
+class FireplaceActivity {
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/view/device/RangeHoodActivity.kt b/app/src/main/java/com/casic/br/view/device/RangeHoodActivity.kt
new file mode 100644
index 0000000..838bde6
--- /dev/null
+++ b/app/src/main/java/com/casic/br/view/device/RangeHoodActivity.kt
@@ -0,0 +1,7 @@
+package com.casic.br.view.device
+
+/**
+ * 油烟机
+ * */
+class RangeHoodActivity {
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt
new file mode 100644
index 0000000..66cb1a4
--- /dev/null
+++ b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt
@@ -0,0 +1,7 @@
+package com.casic.br.view.device
+
+/**
+ * 热水器
+ * */
+class WaterHeaterActivity {
+}
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_add_device.xml b/app/src/main/res/drawable/ic_add_device.xml
new file mode 100644
index 0000000..14c8ec9
--- /dev/null
+++ b/app/src/main/res/drawable/ic_add_device.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_right.xml b/app/src/main/res/drawable/ic_right.xml
index 6020f09..de4d3b2 100644
--- a/app/src/main/res/drawable/ic_right.xml
+++ b/app/src/main/res/drawable/ic_right.xml
@@ -1,6 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 611e149..7c387fc 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -40,6 +40,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt b/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt
new file mode 100644
index 0000000..48321ae
--- /dev/null
+++ b/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt
@@ -0,0 +1,49 @@
+package com.casic.br.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.ImageView
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.br.R
+import com.casic.br.model.AddedDeviceModel
+
+class AddedDeviceAdapter(
+ private val context: Context,
+ private val dataRows: MutableList
+) : RecyclerView.Adapter() {
+
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_added_device_rv_l, parent, false)
+ )
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ holder.deviceNameView.text = dataRows[position].deviceName
+ holder.deviceUsedTimeView.text = dataRows[position].deviceUsedTime
+ holder.itemView.setOnClickListener {
+ clickListener?.onItemClick(position)
+ }
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ private var clickListener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onItemClick(position: Int)
+ }
+
+ fun setOnItemClickListener(clickListener: OnItemClickListener?) {
+ this.clickListener = clickListener
+ }
+
+ class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
+ val imageView: ImageView = itemView.findViewById(R.id.imageView)
+ val deviceNameView: TextView = itemView.findViewById(R.id.deviceNameView)
+ val deviceUsedTimeView: TextView = itemView.findViewById(R.id.deviceUsedTimeView)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt b/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt
index 29b7b3f..3b2dd90 100644
--- a/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt
+++ b/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt
@@ -18,8 +18,7 @@
private val context: Context,
private val icons: IntArray,
private val titles: Array
-) :
- RecyclerView.Adapter() {
+) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
diff --git a/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt b/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt
index 1a4e58a..260be96 100644
--- a/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt
+++ b/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt
@@ -15,8 +15,7 @@
class IconTextListAdapter(
private val context: Context,
private val titles: Array
-) :
- RecyclerView.Adapter() {
+) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
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 2d32a78..9857505 100644
--- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt
+++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt
@@ -1,21 +1,57 @@
package com.casic.br.fragment
+import androidx.recyclerview.widget.DividerItemDecoration
import com.casic.br.R
+import com.casic.br.adapter.AddedDeviceAdapter
+import com.casic.br.model.AddedDeviceModel
+import com.casic.br.view.AllDeviceActivity
import com.pengxh.kt.lite.base.KotlinBaseFragment
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.show
+import kotlinx.android.synthetic.main.fragment_device.*
+import kotlinx.android.synthetic.main.include_main_title.*
+import java.util.*
class DevicePageFragment : KotlinBaseFragment() {
override fun initLayoutView(): Int = R.layout.fragment_device
override fun setupTopBarLayout() {
-
+ leftTitleView.text = "设备"
}
override fun initData() {
+ //TODO 模拟数据 只显示前三个设备
+ val deviceModels = ArrayList()
+ for (i in 0..2) {
+ val model = AddedDeviceModel()
+ model.deviceName = "*****热水器"
+ model.deviceUsedTime = "已使用${Random().nextInt(12)}个月${Random().nextInt(31)}天"
+ deviceModels.add(model)
+ }
+ val addedDeviceAdapter = AddedDeviceAdapter(requireContext(), deviceModels)
+ deviceRecyclerView.addItemDecoration(
+ DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL)
+ )
+ deviceRecyclerView.adapter = addedDeviceAdapter
+ addedDeviceAdapter.setOnItemClickListener(object :
+ AddedDeviceAdapter.OnItemClickListener {
+ override fun onItemClick(position: Int) {
+ //TODO 需要根据设备类型显示不同的页面
+ val deviceModel = deviceModels[position]
+ deviceModel.deviceName.show(requireContext())
+ }
+ })
}
override fun initEvent() {
+ showAllDeviceLayout.setOnClickListener {
+ requireContext().navigatePageTo()
+ }
+ addDeviceLayout.setOnClickListener {
+
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/model/AddedDeviceModel.java b/app/src/main/java/com/casic/br/model/AddedDeviceModel.java
new file mode 100644
index 0000000..40a545c
--- /dev/null
+++ b/app/src/main/java/com/casic/br/model/AddedDeviceModel.java
@@ -0,0 +1,43 @@
+package com.casic.br.model;
+
+/**
+ * 已添加设备(Iot和非Iot设备)数据模型
+ */
+public class AddedDeviceModel {
+ private String deviceImage;
+ private String deviceName;
+ private String deviceType;
+ private String deviceUsedTime;
+
+ public String getDeviceImage() {
+ return deviceImage;
+ }
+
+ public void setDeviceImage(String deviceImage) {
+ this.deviceImage = deviceImage;
+ }
+
+ public String getDeviceName() {
+ return deviceName;
+ }
+
+ public void setDeviceName(String deviceName) {
+ this.deviceName = deviceName;
+ }
+
+ 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/view/AllDeviceActivity.kt b/app/src/main/java/com/casic/br/view/AllDeviceActivity.kt
new file mode 100644
index 0000000..bafd851
--- /dev/null
+++ b/app/src/main/java/com/casic/br/view/AllDeviceActivity.kt
@@ -0,0 +1,56 @@
+package com.casic.br.view
+
+import androidx.recyclerview.widget.DividerItemDecoration
+import com.casic.br.R
+import com.casic.br.adapter.AddedDeviceAdapter
+import com.casic.br.model.AddedDeviceModel
+import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
+import kotlinx.android.synthetic.main.fragment_device.*
+import kotlinx.android.synthetic.main.include_base_title.*
+import java.util.*
+
+class AllDeviceActivity : KotlinBaseActivity() {
+
+ override fun initLayoutView(): Int = R.layout.activity_all_device
+
+ override fun setupTopBarLayout() {
+ ImmersionBar.with(this).statusBarDarkFont(true).init()
+ ImmerseStatusBarUtil.setColor(this, R.color.white.convertColor(this))
+
+ leftBackView.setOnClickListener { finish() }
+ titleView.text = "全部设备"
+ }
+
+ override fun initData() {
+ //TODO 模拟数据
+ val deviceModels = ArrayList()
+ for (i in 0..9) {
+ val model = AddedDeviceModel()
+ model.deviceName = "*****热水器"
+ model.deviceUsedTime = "已使用${Random().nextInt(12)}个月${Random().nextInt(31)}天"
+
+ deviceModels.add(model)
+ }
+ val addedDeviceAdapter = AddedDeviceAdapter(this, deviceModels)
+ deviceRecyclerView.addItemDecoration(
+ DividerItemDecoration(this, DividerItemDecoration.VERTICAL)
+ )
+ deviceRecyclerView.adapter = addedDeviceAdapter
+ addedDeviceAdapter.setOnItemClickListener(object :
+ AddedDeviceAdapter.OnItemClickListener {
+ override fun onItemClick(position: Int) {
+ //TODO 需要根据设备类型显示不同的页面
+ val deviceModel = deviceModels[position]
+ deviceModel.deviceName.show(this@AllDeviceActivity)
+ }
+ })
+ }
+
+ override fun initEvent() {
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/view/device/CookerActivity.kt b/app/src/main/java/com/casic/br/view/device/CookerActivity.kt
new file mode 100644
index 0000000..23c7a55
--- /dev/null
+++ b/app/src/main/java/com/casic/br/view/device/CookerActivity.kt
@@ -0,0 +1,7 @@
+package com.casic.br.view.device
+
+/**
+ * 灶具
+ * */
+class CookerActivity {
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/view/device/FireplaceActivity.kt b/app/src/main/java/com/casic/br/view/device/FireplaceActivity.kt
new file mode 100644
index 0000000..139cb18
--- /dev/null
+++ b/app/src/main/java/com/casic/br/view/device/FireplaceActivity.kt
@@ -0,0 +1,7 @@
+package com.casic.br.view.device
+
+/**
+ * 壁挂炉
+ * */
+class FireplaceActivity {
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/view/device/RangeHoodActivity.kt b/app/src/main/java/com/casic/br/view/device/RangeHoodActivity.kt
new file mode 100644
index 0000000..838bde6
--- /dev/null
+++ b/app/src/main/java/com/casic/br/view/device/RangeHoodActivity.kt
@@ -0,0 +1,7 @@
+package com.casic.br.view.device
+
+/**
+ * 油烟机
+ * */
+class RangeHoodActivity {
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt
new file mode 100644
index 0000000..66cb1a4
--- /dev/null
+++ b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt
@@ -0,0 +1,7 @@
+package com.casic.br.view.device
+
+/**
+ * 热水器
+ * */
+class WaterHeaterActivity {
+}
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_add_device.xml b/app/src/main/res/drawable/ic_add_device.xml
new file mode 100644
index 0000000..14c8ec9
--- /dev/null
+++ b/app/src/main/res/drawable/ic_add_device.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_right.xml b/app/src/main/res/drawable/ic_right.xml
index 6020f09..de4d3b2 100644
--- a/app/src/main/res/drawable/ic_right.xml
+++ b/app/src/main/res/drawable/ic_right.xml
@@ -1,6 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_device.xml b/app/src/main/res/layout/fragment_device.xml
index a97ec1b..a19fe53 100644
--- a/app/src/main/res/layout/fragment_device.xml
+++ b/app/src/main/res/layout/fragment_device.xml
@@ -1,5 +1,6 @@
+ android:layout_marginTop="1dp"
+ android:orientation="vertical">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 611e149..7c387fc 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -40,6 +40,7 @@
+
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt b/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt
new file mode 100644
index 0000000..48321ae
--- /dev/null
+++ b/app/src/main/java/com/casic/br/adapter/AddedDeviceAdapter.kt
@@ -0,0 +1,49 @@
+package com.casic.br.adapter
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.ImageView
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.casic.br.R
+import com.casic.br.model.AddedDeviceModel
+
+class AddedDeviceAdapter(
+ private val context: Context,
+ private val dataRows: MutableList
+) : RecyclerView.Adapter() {
+
+ private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ItemViewHolder(
+ layoutInflater.inflate(R.layout.item_added_device_rv_l, parent, false)
+ )
+
+ override fun onBindViewHolder(holder: ItemViewHolder, position: Int) {
+ holder.deviceNameView.text = dataRows[position].deviceName
+ holder.deviceUsedTimeView.text = dataRows[position].deviceUsedTime
+ holder.itemView.setOnClickListener {
+ clickListener?.onItemClick(position)
+ }
+ }
+
+ override fun getItemCount(): Int = dataRows.size
+
+ private var clickListener: OnItemClickListener? = null
+
+ interface OnItemClickListener {
+ fun onItemClick(position: Int)
+ }
+
+ fun setOnItemClickListener(clickListener: OnItemClickListener?) {
+ this.clickListener = clickListener
+ }
+
+ class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
+ val imageView: ImageView = itemView.findViewById(R.id.imageView)
+ val deviceNameView: TextView = itemView.findViewById(R.id.deviceNameView)
+ val deviceUsedTimeView: TextView = itemView.findViewById(R.id.deviceUsedTimeView)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt b/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt
index 29b7b3f..3b2dd90 100644
--- a/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt
+++ b/app/src/main/java/com/casic/br/adapter/IconTextGridAdapter.kt
@@ -18,8 +18,7 @@
private val context: Context,
private val icons: IntArray,
private val titles: Array
-) :
- RecyclerView.Adapter() {
+) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
diff --git a/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt b/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt
index 1a4e58a..260be96 100644
--- a/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt
+++ b/app/src/main/java/com/casic/br/adapter/IconTextListAdapter.kt
@@ -15,8 +15,7 @@
class IconTextListAdapter(
private val context: Context,
private val titles: Array
-) :
- RecyclerView.Adapter() {
+) : RecyclerView.Adapter() {
private var layoutInflater: LayoutInflater = LayoutInflater.from(context)
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 2d32a78..9857505 100644
--- a/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt
+++ b/app/src/main/java/com/casic/br/fragment/DevicePageFragment.kt
@@ -1,21 +1,57 @@
package com.casic.br.fragment
+import androidx.recyclerview.widget.DividerItemDecoration
import com.casic.br.R
+import com.casic.br.adapter.AddedDeviceAdapter
+import com.casic.br.model.AddedDeviceModel
+import com.casic.br.view.AllDeviceActivity
import com.pengxh.kt.lite.base.KotlinBaseFragment
+import com.pengxh.kt.lite.extensions.navigatePageTo
+import com.pengxh.kt.lite.extensions.show
+import kotlinx.android.synthetic.main.fragment_device.*
+import kotlinx.android.synthetic.main.include_main_title.*
+import java.util.*
class DevicePageFragment : KotlinBaseFragment() {
override fun initLayoutView(): Int = R.layout.fragment_device
override fun setupTopBarLayout() {
-
+ leftTitleView.text = "设备"
}
override fun initData() {
+ //TODO 模拟数据 只显示前三个设备
+ val deviceModels = ArrayList()
+ for (i in 0..2) {
+ val model = AddedDeviceModel()
+ model.deviceName = "*****热水器"
+ model.deviceUsedTime = "已使用${Random().nextInt(12)}个月${Random().nextInt(31)}天"
+ deviceModels.add(model)
+ }
+ val addedDeviceAdapter = AddedDeviceAdapter(requireContext(), deviceModels)
+ deviceRecyclerView.addItemDecoration(
+ DividerItemDecoration(requireContext(), DividerItemDecoration.VERTICAL)
+ )
+ deviceRecyclerView.adapter = addedDeviceAdapter
+ addedDeviceAdapter.setOnItemClickListener(object :
+ AddedDeviceAdapter.OnItemClickListener {
+ override fun onItemClick(position: Int) {
+ //TODO 需要根据设备类型显示不同的页面
+ val deviceModel = deviceModels[position]
+ deviceModel.deviceName.show(requireContext())
+ }
+ })
}
override fun initEvent() {
+ showAllDeviceLayout.setOnClickListener {
+ requireContext().navigatePageTo()
+ }
+ addDeviceLayout.setOnClickListener {
+
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/model/AddedDeviceModel.java b/app/src/main/java/com/casic/br/model/AddedDeviceModel.java
new file mode 100644
index 0000000..40a545c
--- /dev/null
+++ b/app/src/main/java/com/casic/br/model/AddedDeviceModel.java
@@ -0,0 +1,43 @@
+package com.casic.br.model;
+
+/**
+ * 已添加设备(Iot和非Iot设备)数据模型
+ */
+public class AddedDeviceModel {
+ private String deviceImage;
+ private String deviceName;
+ private String deviceType;
+ private String deviceUsedTime;
+
+ public String getDeviceImage() {
+ return deviceImage;
+ }
+
+ public void setDeviceImage(String deviceImage) {
+ this.deviceImage = deviceImage;
+ }
+
+ public String getDeviceName() {
+ return deviceName;
+ }
+
+ public void setDeviceName(String deviceName) {
+ this.deviceName = deviceName;
+ }
+
+ 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/view/AllDeviceActivity.kt b/app/src/main/java/com/casic/br/view/AllDeviceActivity.kt
new file mode 100644
index 0000000..bafd851
--- /dev/null
+++ b/app/src/main/java/com/casic/br/view/AllDeviceActivity.kt
@@ -0,0 +1,56 @@
+package com.casic.br.view
+
+import androidx.recyclerview.widget.DividerItemDecoration
+import com.casic.br.R
+import com.casic.br.adapter.AddedDeviceAdapter
+import com.casic.br.model.AddedDeviceModel
+import com.gyf.immersionbar.ImmersionBar
+import com.pengxh.kt.lite.base.KotlinBaseActivity
+import com.pengxh.kt.lite.extensions.convertColor
+import com.pengxh.kt.lite.extensions.show
+import com.pengxh.kt.lite.utils.ImmerseStatusBarUtil
+import kotlinx.android.synthetic.main.fragment_device.*
+import kotlinx.android.synthetic.main.include_base_title.*
+import java.util.*
+
+class AllDeviceActivity : KotlinBaseActivity() {
+
+ override fun initLayoutView(): Int = R.layout.activity_all_device
+
+ override fun setupTopBarLayout() {
+ ImmersionBar.with(this).statusBarDarkFont(true).init()
+ ImmerseStatusBarUtil.setColor(this, R.color.white.convertColor(this))
+
+ leftBackView.setOnClickListener { finish() }
+ titleView.text = "全部设备"
+ }
+
+ override fun initData() {
+ //TODO 模拟数据
+ val deviceModels = ArrayList()
+ for (i in 0..9) {
+ val model = AddedDeviceModel()
+ model.deviceName = "*****热水器"
+ model.deviceUsedTime = "已使用${Random().nextInt(12)}个月${Random().nextInt(31)}天"
+
+ deviceModels.add(model)
+ }
+ val addedDeviceAdapter = AddedDeviceAdapter(this, deviceModels)
+ deviceRecyclerView.addItemDecoration(
+ DividerItemDecoration(this, DividerItemDecoration.VERTICAL)
+ )
+ deviceRecyclerView.adapter = addedDeviceAdapter
+ addedDeviceAdapter.setOnItemClickListener(object :
+ AddedDeviceAdapter.OnItemClickListener {
+ override fun onItemClick(position: Int) {
+ //TODO 需要根据设备类型显示不同的页面
+ val deviceModel = deviceModels[position]
+ deviceModel.deviceName.show(this@AllDeviceActivity)
+ }
+ })
+ }
+
+ override fun initEvent() {
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/view/device/CookerActivity.kt b/app/src/main/java/com/casic/br/view/device/CookerActivity.kt
new file mode 100644
index 0000000..23c7a55
--- /dev/null
+++ b/app/src/main/java/com/casic/br/view/device/CookerActivity.kt
@@ -0,0 +1,7 @@
+package com.casic.br.view.device
+
+/**
+ * 灶具
+ * */
+class CookerActivity {
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/view/device/FireplaceActivity.kt b/app/src/main/java/com/casic/br/view/device/FireplaceActivity.kt
new file mode 100644
index 0000000..139cb18
--- /dev/null
+++ b/app/src/main/java/com/casic/br/view/device/FireplaceActivity.kt
@@ -0,0 +1,7 @@
+package com.casic.br.view.device
+
+/**
+ * 壁挂炉
+ * */
+class FireplaceActivity {
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/view/device/RangeHoodActivity.kt b/app/src/main/java/com/casic/br/view/device/RangeHoodActivity.kt
new file mode 100644
index 0000000..838bde6
--- /dev/null
+++ b/app/src/main/java/com/casic/br/view/device/RangeHoodActivity.kt
@@ -0,0 +1,7 @@
+package com.casic.br.view.device
+
+/**
+ * 油烟机
+ * */
+class RangeHoodActivity {
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt
new file mode 100644
index 0000000..66cb1a4
--- /dev/null
+++ b/app/src/main/java/com/casic/br/view/device/WaterHeaterActivity.kt
@@ -0,0 +1,7 @@
+package com.casic.br.view.device
+
+/**
+ * 热水器
+ * */
+class WaterHeaterActivity {
+}
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_add_device.xml b/app/src/main/res/drawable/ic_add_device.xml
new file mode 100644
index 0000000..14c8ec9
--- /dev/null
+++ b/app/src/main/res/drawable/ic_add_device.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/ic_right.xml b/app/src/main/res/drawable/ic_right.xml
index 6020f09..de4d3b2 100644
--- a/app/src/main/res/drawable/ic_right.xml
+++ b/app/src/main/res/drawable/ic_right.xml
@@ -1,6 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_device.xml b/app/src/main/res/layout/fragment_device.xml
index a97ec1b..a19fe53 100644
--- a/app/src/main/res/layout/fragment_device.xml
+++ b/app/src/main/res/layout/fragment_device.xml
@@ -1,5 +1,6 @@
+ android:layout_marginTop="1dp"
+ android:orientation="vertical">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_added_device_rv_l.xml b/app/src/main/res/layout/item_added_device_rv_l.xml
new file mode 100644
index 0000000..9132614
--- /dev/null
+++ b/app/src/main/res/layout/item_added_device_rv_l.xml
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file