Newer
Older
SmartKitchen / app / src / main / java / com / casic / br / fragment / DevicePageFragment.kt
package com.casic.br.fragment

import android.graphics.Typeface
import com.casic.br.R
import com.casic.br.adapter.AddedDeviceAdapter
import com.casic.br.extensions.initLayoutImmersionBar
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() {
        requireContext().initLayoutImmersionBar(rootView)
        leftTitleView.text = "设备"
        leftTitleView.typeface = Typeface.create(Typeface.DEFAULT, Typeface.BOLD)
    }

    override fun initData() {
        //TODO 模拟数据 只显示前三个设备
        val deviceModels = ArrayList<AddedDeviceModel>()
        for (i in 0..2) {
            val model = AddedDeviceModel()
            model.deviceName = "万家乐热水器"
            model.deviceModel = "D40-DM1"
            model.deviceUsedTime = "已使用${Random().nextInt(12)}个月${Random().nextInt(31)}天"

            deviceModels.add(model)
        }
        val addedDeviceAdapter = AddedDeviceAdapter(requireContext(), 13f)
        addedDeviceAdapter.setupDevice(deviceModels)
        deviceRecyclerView.adapter = addedDeviceAdapter
        addedDeviceAdapter.setOnItemClickListener(object :
            AddedDeviceAdapter.OnItemClickListener {
            override fun onAddDeviceClick() {

            }

            override fun onItemClick(position: Int) {
                //TODO 需要根据设备类型显示不同的页面
                val deviceModel = deviceModels[position]
                deviceModel.deviceName.show(requireContext())
            }

            override fun onButtonClick(position: Int) {

            }
        })
    }

    override fun observeRequestState() {

    }

    override fun initEvent() {
        showAllDeviceLayout.setOnClickListener {
            requireContext().navigatePageTo<AllDeviceActivity>()
        }
    }
}