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>() } } }