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.adapter.RecommendAdapter
import com.casic.br.extensions.initLayoutImmersionBar
import com.casic.br.model.AddedDeviceModel
import com.casic.br.model.RecommendModel
import com.casic.br.view.AllDeviceActivity
import com.casic.br.view.device.FireplaceActivity
import com.casic.br.view.device.RangeHoodActivity
import com.casic.br.view.device.WaterHeaterActivity
import com.pengxh.kt.lite.base.KotlinBaseFragment
import com.pengxh.kt.lite.extensions.navigatePageTo
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>()

        val model1 = AddedDeviceModel()
        model1.deviceName = "万家乐热水器"
        model1.deviceModel = "D40-DM1"
        model1.deviceUsedTime = "已使用${Random().nextInt(12)}个月${Random().nextInt(31)}天"
        deviceModels.add(model1)
        val model2 = AddedDeviceModel()
        model2.deviceName = "万家乐油烟机"
        model2.deviceModel = "CXW-320-W7"
        model2.deviceUsedTime = "已使用${Random().nextInt(12)}个月${Random().nextInt(31)}天"
        deviceModels.add(model2)
        val model3 = AddedDeviceModel()
        model3.deviceName = "万家乐壁挂炉"
        model3.deviceModel = "26-13A3L"
        model3.deviceUsedTime = "已使用${Random().nextInt(12)}个月${Random().nextInt(31)}天"
        deviceModels.add(model3)

        val addedDeviceAdapter = AddedDeviceAdapter(requireContext())
        addedDeviceAdapter.setupDevice(deviceModels)
        deviceRecyclerView.adapter = addedDeviceAdapter
        addedDeviceAdapter.setOnItemClickListener(object :
            AddedDeviceAdapter.OnItemClickListener {
            override fun onAddDeviceClick() {

            }

            override fun onItemClick(position: Int) {
                //TODO 需要根据设备类型显示不同的页面
                val deviceModel = deviceModels[position]
                when {
                    deviceModel.deviceName.contains("热水器") -> {
                        requireContext().navigatePageTo<WaterHeaterActivity>(deviceModel.deviceName)
                    }
                    deviceModel.deviceName.contains("油烟机") -> {
                        requireContext().navigatePageTo<RangeHoodActivity>()
                    }
                    deviceModel.deviceName.contains("壁挂炉") -> {
                        requireContext().navigatePageTo<FireplaceActivity>()
                    }
                }
            }

            override fun onButtonClick(position: Int) {

            }
        })

        //热门推荐
        //TODO 模拟数据 只显示前三个设备
        val recommendModels = ArrayList<RecommendModel>()
        for (i in 0..2) {
            val model = RecommendModel()
            model.imageLink = "https://img95.699pic.com/photo/40006/1412.jpg_wh860.jpg"

            recommendModels.add(model)
        }
        val recommendAdapter = RecommendAdapter(requireContext(), recommendModels)
        recommendRecyclerView.adapter = recommendAdapter
        recommendAdapter.setOnItemClickListener(object : RecommendAdapter.OnItemClickListener {

            override fun onItemClick(position: Int) {

            }
        })
    }

    override fun observeRequestState() {

    }

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