diff --git a/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt index c022594..3ffbf15 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt @@ -30,18 +30,18 @@ sceneJsonValue, object : TypeToken>() {}.type ) - val checkManifestAdapter = object : NormalRecyclerAdapter( + val menuAdapter = object : NormalRecyclerAdapter( R.layout.item_check_manifest_l, sceneModels ) { override fun convertView( viewHolder: ViewHolder, position: Int, item: DictionaryModel.DataModel ) { val imageSource = when (item.name) { - "配电箱" -> R.drawable.ic_manifest_elec_box - "调压站" -> R.drawable.ic_manifest_pressure_station - "非居民用户" -> R.drawable.ic_manifest_no_people - "建筑消防" -> R.drawable.ic_manifest_building - "有限空间作业" -> R.drawable.ic_manifest_confined_spaces + "配电箱" -> R.drawable.ic_menu_elec_box + "调压站" -> R.drawable.ic_menu_pressure_station + "非居民用户" -> R.drawable.ic_menu_no_people + "建筑消防" -> R.drawable.ic_menu_building + "有限空间作业" -> R.drawable.ic_menu_confined_spaces else -> 0 } @@ -49,11 +49,11 @@ .setText(R.id.textView, item.name) } } - binding.recyclerView.adapter = checkManifestAdapter + binding.recyclerView.adapter = menuAdapter binding.recyclerView.addItemDecoration( RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset) ) - checkManifestAdapter.setOnItemClickedListener(object : + menuAdapter.setOnItemClickedListener(object : NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked(position: Int, t: DictionaryModel.DataModel) { when (t.name) { diff --git a/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt index c022594..3ffbf15 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt @@ -30,18 +30,18 @@ sceneJsonValue, object : TypeToken>() {}.type ) - val checkManifestAdapter = object : NormalRecyclerAdapter( + val menuAdapter = object : NormalRecyclerAdapter( R.layout.item_check_manifest_l, sceneModels ) { override fun convertView( viewHolder: ViewHolder, position: Int, item: DictionaryModel.DataModel ) { val imageSource = when (item.name) { - "配电箱" -> R.drawable.ic_manifest_elec_box - "调压站" -> R.drawable.ic_manifest_pressure_station - "非居民用户" -> R.drawable.ic_manifest_no_people - "建筑消防" -> R.drawable.ic_manifest_building - "有限空间作业" -> R.drawable.ic_manifest_confined_spaces + "配电箱" -> R.drawable.ic_menu_elec_box + "调压站" -> R.drawable.ic_menu_pressure_station + "非居民用户" -> R.drawable.ic_menu_no_people + "建筑消防" -> R.drawable.ic_menu_building + "有限空间作业" -> R.drawable.ic_menu_confined_spaces else -> 0 } @@ -49,11 +49,11 @@ .setText(R.id.textView, item.name) } } - binding.recyclerView.adapter = checkManifestAdapter + binding.recyclerView.adapter = menuAdapter binding.recyclerView.addItemDecoration( RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset) ) - checkManifestAdapter.setOnItemClickedListener(object : + menuAdapter.setOnItemClickedListener(object : NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked(position: Int, t: DictionaryModel.DataModel) { when (t.name) { diff --git a/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt index 571aaa7..70fa9ac 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt @@ -1,114 +1,71 @@ package com.casic.br.ar.app.view import android.os.Bundle -import android.os.Handler -import android.os.Message import android.view.View -import androidx.lifecycle.ViewModelProvider import com.casic.br.ar.app.R import com.casic.br.ar.app.databinding.ActivityHiddenTroubleBinding -import com.casic.br.ar.app.model.HiddenTroubleModel -import com.casic.br.ar.app.vm.HiddenTroubleViewModel +import com.casic.br.ar.app.model.DictionaryModel +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets -import com.pengxh.kt.lite.extensions.show -import com.pengxh.kt.lite.utils.LoadState -import com.pengxh.kt.lite.utils.LoadingDialogHub -import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.utils.Constant -class HiddenTroubleActivity : KotlinBaseActivity(), Handler.Callback { +class HiddenTroubleActivity : KotlinBaseActivity() { - private lateinit var weakReferenceHandler: WeakReferenceHandler - private lateinit var hiddenTroubleViewModel: HiddenTroubleViewModel - private lateinit var hiddenTroubleAdapter: NormalRecyclerAdapter - private var dataBeans: MutableList = ArrayList() - private var keywords = "" - private var page = 1 - private var isRefresh = false - private var isLoadMore = false + private val gson by lazy { Gson() } + private val marginOffset by lazy { 7.dp2px(this) } override fun initEvent() { - binding.searchButton.setOnClickListener { - keywords = binding.searchView.text.toString().trim() - } - binding.refreshLayout.setOnRefreshListener { - isRefresh = true - page = 1 - getHiddenTroubleMenuByPage() - } - - binding.refreshLayout.setOnLoadMoreListener { - isLoadMore = true - page++ - getHiddenTroubleMenuByPage() - } } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) - hiddenTroubleViewModel = ViewModelProvider(this)[HiddenTroubleViewModel::class.java] - hiddenTroubleViewModel.troublesResult.observe(this) { -// if (it.code == 200) { -// val dataRows = it.data?.rows!! -// when { -// isRefresh -> { -// hiddenTroubleAdapter.setRefreshData(dataRows) -// binding.refreshLayout.finishRefresh() -// isRefresh = false -// } -// -// isLoadMore -> { -// if (dataRows.size == 0) { -// "到底了,别拉了".show(this) -// } -// hiddenTroubleAdapter.setLoadMoreData(dataRows) -// binding.refreshLayout.finishLoadMore() -// isLoadMore = false -// } -// -// else -> { -// dataBeans = dataRows -// weakReferenceHandler.sendEmptyMessage(2024030402) -// } -// } -// } - } - } + val sceneJsonValue = intent.getStringExtra(Constant.INTENT_PARAM) + //转为实体类 + val sceneModels = gson.fromJson>( + sceneJsonValue, object : TypeToken>() {}.type + ) - private fun getHiddenTroubleMenuByPage() { - hiddenTroubleViewModel.getHiddenTroubleMenuByPage(this, keywords, page) - } - - override fun handleMessage(msg: Message): Boolean { - when (msg.what) { - 2024030402 -> { - hiddenTroubleAdapter = object : - NormalRecyclerAdapter( - R.layout.item_hidden_trouble, dataBeans - ) { - override fun convertView( - viewHolder: ViewHolder, position: Int, - item: HiddenTroubleModel - ) { - - } + val menuAdapter = object : NormalRecyclerAdapter( + R.layout.item_hidden_trouble_l, sceneModels + ) { + override fun convertView( + viewHolder: ViewHolder, position: Int, item: DictionaryModel.DataModel + ) { + val imageSource = when (item.name) { + "配电箱" -> R.drawable.ic_menu_elec_box + "调压站" -> R.drawable.ic_menu_pressure_station + "非居民用户" -> R.drawable.ic_menu_no_people + "建筑消防" -> R.drawable.ic_menu_building + "有限空间作业" -> R.drawable.ic_menu_confined_spaces + else -> 0 } - binding.recyclerView.adapter = hiddenTroubleAdapter - binding.recyclerView.addItemDecoration(RecyclerViewItemOffsets(0, 7, 0, 7)) - hiddenTroubleAdapter.setOnItemClickedListener(object : - NormalRecyclerAdapter.OnItemClickedListener { - override fun onItemClicked( - position: Int, t: HiddenTroubleModel - ) { - //TODO 查看隐患目录详情 - } - }) + + viewHolder.setImageResource(R.id.imageView, imageSource) + .setText(R.id.textView, item.name) } } - return true + binding.recyclerView.adapter = menuAdapter + binding.recyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset) + ) + menuAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked(position: Int, t: DictionaryModel.DataModel) { + when (t.name) { + //TODO 未完 +// "配电箱" -> navigatePageTo<>() +// "调压站" -> navigatePageTo<>() +// "非居民用户" -> navigatePageTo<>() +// "建筑消防" -> navigatePageTo<>() +// "有限空间作业" -> navigatePageTo<>() + } + } + }) } override fun initViewBinding(): ActivityHiddenTroubleBinding { @@ -116,19 +73,7 @@ } override fun observeRequestState() { - hiddenTroubleViewModel.loadState.observe(this) { - when (it) { - LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...") - LoadState.Success -> { - LoadingDialogHub.dismiss() - } - LoadState.Fail -> { - LoadingDialogHub.dismiss() - "数据加载失败,请重试".show(this) - } - } - } } override fun setupTopBarLayout() { diff --git a/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt index c022594..3ffbf15 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt @@ -30,18 +30,18 @@ sceneJsonValue, object : TypeToken>() {}.type ) - val checkManifestAdapter = object : NormalRecyclerAdapter( + val menuAdapter = object : NormalRecyclerAdapter( R.layout.item_check_manifest_l, sceneModels ) { override fun convertView( viewHolder: ViewHolder, position: Int, item: DictionaryModel.DataModel ) { val imageSource = when (item.name) { - "配电箱" -> R.drawable.ic_manifest_elec_box - "调压站" -> R.drawable.ic_manifest_pressure_station - "非居民用户" -> R.drawable.ic_manifest_no_people - "建筑消防" -> R.drawable.ic_manifest_building - "有限空间作业" -> R.drawable.ic_manifest_confined_spaces + "配电箱" -> R.drawable.ic_menu_elec_box + "调压站" -> R.drawable.ic_menu_pressure_station + "非居民用户" -> R.drawable.ic_menu_no_people + "建筑消防" -> R.drawable.ic_menu_building + "有限空间作业" -> R.drawable.ic_menu_confined_spaces else -> 0 } @@ -49,11 +49,11 @@ .setText(R.id.textView, item.name) } } - binding.recyclerView.adapter = checkManifestAdapter + binding.recyclerView.adapter = menuAdapter binding.recyclerView.addItemDecoration( RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset) ) - checkManifestAdapter.setOnItemClickedListener(object : + menuAdapter.setOnItemClickedListener(object : NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked(position: Int, t: DictionaryModel.DataModel) { when (t.name) { diff --git a/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt index 571aaa7..70fa9ac 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt @@ -1,114 +1,71 @@ package com.casic.br.ar.app.view import android.os.Bundle -import android.os.Handler -import android.os.Message import android.view.View -import androidx.lifecycle.ViewModelProvider import com.casic.br.ar.app.R import com.casic.br.ar.app.databinding.ActivityHiddenTroubleBinding -import com.casic.br.ar.app.model.HiddenTroubleModel -import com.casic.br.ar.app.vm.HiddenTroubleViewModel +import com.casic.br.ar.app.model.DictionaryModel +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets -import com.pengxh.kt.lite.extensions.show -import com.pengxh.kt.lite.utils.LoadState -import com.pengxh.kt.lite.utils.LoadingDialogHub -import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.utils.Constant -class HiddenTroubleActivity : KotlinBaseActivity(), Handler.Callback { +class HiddenTroubleActivity : KotlinBaseActivity() { - private lateinit var weakReferenceHandler: WeakReferenceHandler - private lateinit var hiddenTroubleViewModel: HiddenTroubleViewModel - private lateinit var hiddenTroubleAdapter: NormalRecyclerAdapter - private var dataBeans: MutableList = ArrayList() - private var keywords = "" - private var page = 1 - private var isRefresh = false - private var isLoadMore = false + private val gson by lazy { Gson() } + private val marginOffset by lazy { 7.dp2px(this) } override fun initEvent() { - binding.searchButton.setOnClickListener { - keywords = binding.searchView.text.toString().trim() - } - binding.refreshLayout.setOnRefreshListener { - isRefresh = true - page = 1 - getHiddenTroubleMenuByPage() - } - - binding.refreshLayout.setOnLoadMoreListener { - isLoadMore = true - page++ - getHiddenTroubleMenuByPage() - } } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) - hiddenTroubleViewModel = ViewModelProvider(this)[HiddenTroubleViewModel::class.java] - hiddenTroubleViewModel.troublesResult.observe(this) { -// if (it.code == 200) { -// val dataRows = it.data?.rows!! -// when { -// isRefresh -> { -// hiddenTroubleAdapter.setRefreshData(dataRows) -// binding.refreshLayout.finishRefresh() -// isRefresh = false -// } -// -// isLoadMore -> { -// if (dataRows.size == 0) { -// "到底了,别拉了".show(this) -// } -// hiddenTroubleAdapter.setLoadMoreData(dataRows) -// binding.refreshLayout.finishLoadMore() -// isLoadMore = false -// } -// -// else -> { -// dataBeans = dataRows -// weakReferenceHandler.sendEmptyMessage(2024030402) -// } -// } -// } - } - } + val sceneJsonValue = intent.getStringExtra(Constant.INTENT_PARAM) + //转为实体类 + val sceneModels = gson.fromJson>( + sceneJsonValue, object : TypeToken>() {}.type + ) - private fun getHiddenTroubleMenuByPage() { - hiddenTroubleViewModel.getHiddenTroubleMenuByPage(this, keywords, page) - } - - override fun handleMessage(msg: Message): Boolean { - when (msg.what) { - 2024030402 -> { - hiddenTroubleAdapter = object : - NormalRecyclerAdapter( - R.layout.item_hidden_trouble, dataBeans - ) { - override fun convertView( - viewHolder: ViewHolder, position: Int, - item: HiddenTroubleModel - ) { - - } + val menuAdapter = object : NormalRecyclerAdapter( + R.layout.item_hidden_trouble_l, sceneModels + ) { + override fun convertView( + viewHolder: ViewHolder, position: Int, item: DictionaryModel.DataModel + ) { + val imageSource = when (item.name) { + "配电箱" -> R.drawable.ic_menu_elec_box + "调压站" -> R.drawable.ic_menu_pressure_station + "非居民用户" -> R.drawable.ic_menu_no_people + "建筑消防" -> R.drawable.ic_menu_building + "有限空间作业" -> R.drawable.ic_menu_confined_spaces + else -> 0 } - binding.recyclerView.adapter = hiddenTroubleAdapter - binding.recyclerView.addItemDecoration(RecyclerViewItemOffsets(0, 7, 0, 7)) - hiddenTroubleAdapter.setOnItemClickedListener(object : - NormalRecyclerAdapter.OnItemClickedListener { - override fun onItemClicked( - position: Int, t: HiddenTroubleModel - ) { - //TODO 查看隐患目录详情 - } - }) + + viewHolder.setImageResource(R.id.imageView, imageSource) + .setText(R.id.textView, item.name) } } - return true + binding.recyclerView.adapter = menuAdapter + binding.recyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset) + ) + menuAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked(position: Int, t: DictionaryModel.DataModel) { + when (t.name) { + //TODO 未完 +// "配电箱" -> navigatePageTo<>() +// "调压站" -> navigatePageTo<>() +// "非居民用户" -> navigatePageTo<>() +// "建筑消防" -> navigatePageTo<>() +// "有限空间作业" -> navigatePageTo<>() + } + } + }) } override fun initViewBinding(): ActivityHiddenTroubleBinding { @@ -116,19 +73,7 @@ } override fun observeRequestState() { - hiddenTroubleViewModel.loadState.observe(this) { - when (it) { - LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...") - LoadState.Success -> { - LoadingDialogHub.dismiss() - } - LoadState.Fail -> { - LoadingDialogHub.dismiss() - "数据加载失败,请重试".show(this) - } - } - } } override fun setupTopBarLayout() { diff --git a/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt index dd63dd5..2f13051 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt @@ -78,7 +78,7 @@ override fun onItemClicked(position: Int, t: LibraryModel.DataModel) { when (position) { 0 -> navigatePageTo() - 1 -> navigatePageTo() + 1 -> navigatePageTo(sceneModels.toJson()) 2 -> navigatePageTo(sceneModels.toJson()) 3 -> navigatePageTo(t.id) else -> "未实现".show(context) diff --git a/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt index c022594..3ffbf15 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt @@ -30,18 +30,18 @@ sceneJsonValue, object : TypeToken>() {}.type ) - val checkManifestAdapter = object : NormalRecyclerAdapter( + val menuAdapter = object : NormalRecyclerAdapter( R.layout.item_check_manifest_l, sceneModels ) { override fun convertView( viewHolder: ViewHolder, position: Int, item: DictionaryModel.DataModel ) { val imageSource = when (item.name) { - "配电箱" -> R.drawable.ic_manifest_elec_box - "调压站" -> R.drawable.ic_manifest_pressure_station - "非居民用户" -> R.drawable.ic_manifest_no_people - "建筑消防" -> R.drawable.ic_manifest_building - "有限空间作业" -> R.drawable.ic_manifest_confined_spaces + "配电箱" -> R.drawable.ic_menu_elec_box + "调压站" -> R.drawable.ic_menu_pressure_station + "非居民用户" -> R.drawable.ic_menu_no_people + "建筑消防" -> R.drawable.ic_menu_building + "有限空间作业" -> R.drawable.ic_menu_confined_spaces else -> 0 } @@ -49,11 +49,11 @@ .setText(R.id.textView, item.name) } } - binding.recyclerView.adapter = checkManifestAdapter + binding.recyclerView.adapter = menuAdapter binding.recyclerView.addItemDecoration( RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset) ) - checkManifestAdapter.setOnItemClickedListener(object : + menuAdapter.setOnItemClickedListener(object : NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked(position: Int, t: DictionaryModel.DataModel) { when (t.name) { diff --git a/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt index 571aaa7..70fa9ac 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt @@ -1,114 +1,71 @@ package com.casic.br.ar.app.view import android.os.Bundle -import android.os.Handler -import android.os.Message import android.view.View -import androidx.lifecycle.ViewModelProvider import com.casic.br.ar.app.R import com.casic.br.ar.app.databinding.ActivityHiddenTroubleBinding -import com.casic.br.ar.app.model.HiddenTroubleModel -import com.casic.br.ar.app.vm.HiddenTroubleViewModel +import com.casic.br.ar.app.model.DictionaryModel +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets -import com.pengxh.kt.lite.extensions.show -import com.pengxh.kt.lite.utils.LoadState -import com.pengxh.kt.lite.utils.LoadingDialogHub -import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.utils.Constant -class HiddenTroubleActivity : KotlinBaseActivity(), Handler.Callback { +class HiddenTroubleActivity : KotlinBaseActivity() { - private lateinit var weakReferenceHandler: WeakReferenceHandler - private lateinit var hiddenTroubleViewModel: HiddenTroubleViewModel - private lateinit var hiddenTroubleAdapter: NormalRecyclerAdapter - private var dataBeans: MutableList = ArrayList() - private var keywords = "" - private var page = 1 - private var isRefresh = false - private var isLoadMore = false + private val gson by lazy { Gson() } + private val marginOffset by lazy { 7.dp2px(this) } override fun initEvent() { - binding.searchButton.setOnClickListener { - keywords = binding.searchView.text.toString().trim() - } - binding.refreshLayout.setOnRefreshListener { - isRefresh = true - page = 1 - getHiddenTroubleMenuByPage() - } - - binding.refreshLayout.setOnLoadMoreListener { - isLoadMore = true - page++ - getHiddenTroubleMenuByPage() - } } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) - hiddenTroubleViewModel = ViewModelProvider(this)[HiddenTroubleViewModel::class.java] - hiddenTroubleViewModel.troublesResult.observe(this) { -// if (it.code == 200) { -// val dataRows = it.data?.rows!! -// when { -// isRefresh -> { -// hiddenTroubleAdapter.setRefreshData(dataRows) -// binding.refreshLayout.finishRefresh() -// isRefresh = false -// } -// -// isLoadMore -> { -// if (dataRows.size == 0) { -// "到底了,别拉了".show(this) -// } -// hiddenTroubleAdapter.setLoadMoreData(dataRows) -// binding.refreshLayout.finishLoadMore() -// isLoadMore = false -// } -// -// else -> { -// dataBeans = dataRows -// weakReferenceHandler.sendEmptyMessage(2024030402) -// } -// } -// } - } - } + val sceneJsonValue = intent.getStringExtra(Constant.INTENT_PARAM) + //转为实体类 + val sceneModels = gson.fromJson>( + sceneJsonValue, object : TypeToken>() {}.type + ) - private fun getHiddenTroubleMenuByPage() { - hiddenTroubleViewModel.getHiddenTroubleMenuByPage(this, keywords, page) - } - - override fun handleMessage(msg: Message): Boolean { - when (msg.what) { - 2024030402 -> { - hiddenTroubleAdapter = object : - NormalRecyclerAdapter( - R.layout.item_hidden_trouble, dataBeans - ) { - override fun convertView( - viewHolder: ViewHolder, position: Int, - item: HiddenTroubleModel - ) { - - } + val menuAdapter = object : NormalRecyclerAdapter( + R.layout.item_hidden_trouble_l, sceneModels + ) { + override fun convertView( + viewHolder: ViewHolder, position: Int, item: DictionaryModel.DataModel + ) { + val imageSource = when (item.name) { + "配电箱" -> R.drawable.ic_menu_elec_box + "调压站" -> R.drawable.ic_menu_pressure_station + "非居民用户" -> R.drawable.ic_menu_no_people + "建筑消防" -> R.drawable.ic_menu_building + "有限空间作业" -> R.drawable.ic_menu_confined_spaces + else -> 0 } - binding.recyclerView.adapter = hiddenTroubleAdapter - binding.recyclerView.addItemDecoration(RecyclerViewItemOffsets(0, 7, 0, 7)) - hiddenTroubleAdapter.setOnItemClickedListener(object : - NormalRecyclerAdapter.OnItemClickedListener { - override fun onItemClicked( - position: Int, t: HiddenTroubleModel - ) { - //TODO 查看隐患目录详情 - } - }) + + viewHolder.setImageResource(R.id.imageView, imageSource) + .setText(R.id.textView, item.name) } } - return true + binding.recyclerView.adapter = menuAdapter + binding.recyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset) + ) + menuAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked(position: Int, t: DictionaryModel.DataModel) { + when (t.name) { + //TODO 未完 +// "配电箱" -> navigatePageTo<>() +// "调压站" -> navigatePageTo<>() +// "非居民用户" -> navigatePageTo<>() +// "建筑消防" -> navigatePageTo<>() +// "有限空间作业" -> navigatePageTo<>() + } + } + }) } override fun initViewBinding(): ActivityHiddenTroubleBinding { @@ -116,19 +73,7 @@ } override fun observeRequestState() { - hiddenTroubleViewModel.loadState.observe(this) { - when (it) { - LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...") - LoadState.Success -> { - LoadingDialogHub.dismiss() - } - LoadState.Fail -> { - LoadingDialogHub.dismiss() - "数据加载失败,请重试".show(this) - } - } - } } override fun setupTopBarLayout() { diff --git a/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt index dd63dd5..2f13051 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt @@ -78,7 +78,7 @@ override fun onItemClicked(position: Int, t: LibraryModel.DataModel) { when (position) { 0 -> navigatePageTo() - 1 -> navigatePageTo() + 1 -> navigatePageTo(sceneModels.toJson()) 2 -> navigatePageTo(sceneModels.toJson()) 3 -> navigatePageTo(t.id) else -> "未实现".show(context) diff --git a/app/src/main/res/drawable/ic_manifest_building.xml b/app/src/main/res/drawable/ic_manifest_building.xml deleted file mode 100644 index aa693dc..0000000 --- a/app/src/main/res/drawable/ic_manifest_building.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - diff --git a/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt index c022594..3ffbf15 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt @@ -30,18 +30,18 @@ sceneJsonValue, object : TypeToken>() {}.type ) - val checkManifestAdapter = object : NormalRecyclerAdapter( + val menuAdapter = object : NormalRecyclerAdapter( R.layout.item_check_manifest_l, sceneModels ) { override fun convertView( viewHolder: ViewHolder, position: Int, item: DictionaryModel.DataModel ) { val imageSource = when (item.name) { - "配电箱" -> R.drawable.ic_manifest_elec_box - "调压站" -> R.drawable.ic_manifest_pressure_station - "非居民用户" -> R.drawable.ic_manifest_no_people - "建筑消防" -> R.drawable.ic_manifest_building - "有限空间作业" -> R.drawable.ic_manifest_confined_spaces + "配电箱" -> R.drawable.ic_menu_elec_box + "调压站" -> R.drawable.ic_menu_pressure_station + "非居民用户" -> R.drawable.ic_menu_no_people + "建筑消防" -> R.drawable.ic_menu_building + "有限空间作业" -> R.drawable.ic_menu_confined_spaces else -> 0 } @@ -49,11 +49,11 @@ .setText(R.id.textView, item.name) } } - binding.recyclerView.adapter = checkManifestAdapter + binding.recyclerView.adapter = menuAdapter binding.recyclerView.addItemDecoration( RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset) ) - checkManifestAdapter.setOnItemClickedListener(object : + menuAdapter.setOnItemClickedListener(object : NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked(position: Int, t: DictionaryModel.DataModel) { when (t.name) { diff --git a/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt index 571aaa7..70fa9ac 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt @@ -1,114 +1,71 @@ package com.casic.br.ar.app.view import android.os.Bundle -import android.os.Handler -import android.os.Message import android.view.View -import androidx.lifecycle.ViewModelProvider import com.casic.br.ar.app.R import com.casic.br.ar.app.databinding.ActivityHiddenTroubleBinding -import com.casic.br.ar.app.model.HiddenTroubleModel -import com.casic.br.ar.app.vm.HiddenTroubleViewModel +import com.casic.br.ar.app.model.DictionaryModel +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets -import com.pengxh.kt.lite.extensions.show -import com.pengxh.kt.lite.utils.LoadState -import com.pengxh.kt.lite.utils.LoadingDialogHub -import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.utils.Constant -class HiddenTroubleActivity : KotlinBaseActivity(), Handler.Callback { +class HiddenTroubleActivity : KotlinBaseActivity() { - private lateinit var weakReferenceHandler: WeakReferenceHandler - private lateinit var hiddenTroubleViewModel: HiddenTroubleViewModel - private lateinit var hiddenTroubleAdapter: NormalRecyclerAdapter - private var dataBeans: MutableList = ArrayList() - private var keywords = "" - private var page = 1 - private var isRefresh = false - private var isLoadMore = false + private val gson by lazy { Gson() } + private val marginOffset by lazy { 7.dp2px(this) } override fun initEvent() { - binding.searchButton.setOnClickListener { - keywords = binding.searchView.text.toString().trim() - } - binding.refreshLayout.setOnRefreshListener { - isRefresh = true - page = 1 - getHiddenTroubleMenuByPage() - } - - binding.refreshLayout.setOnLoadMoreListener { - isLoadMore = true - page++ - getHiddenTroubleMenuByPage() - } } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) - hiddenTroubleViewModel = ViewModelProvider(this)[HiddenTroubleViewModel::class.java] - hiddenTroubleViewModel.troublesResult.observe(this) { -// if (it.code == 200) { -// val dataRows = it.data?.rows!! -// when { -// isRefresh -> { -// hiddenTroubleAdapter.setRefreshData(dataRows) -// binding.refreshLayout.finishRefresh() -// isRefresh = false -// } -// -// isLoadMore -> { -// if (dataRows.size == 0) { -// "到底了,别拉了".show(this) -// } -// hiddenTroubleAdapter.setLoadMoreData(dataRows) -// binding.refreshLayout.finishLoadMore() -// isLoadMore = false -// } -// -// else -> { -// dataBeans = dataRows -// weakReferenceHandler.sendEmptyMessage(2024030402) -// } -// } -// } - } - } + val sceneJsonValue = intent.getStringExtra(Constant.INTENT_PARAM) + //转为实体类 + val sceneModels = gson.fromJson>( + sceneJsonValue, object : TypeToken>() {}.type + ) - private fun getHiddenTroubleMenuByPage() { - hiddenTroubleViewModel.getHiddenTroubleMenuByPage(this, keywords, page) - } - - override fun handleMessage(msg: Message): Boolean { - when (msg.what) { - 2024030402 -> { - hiddenTroubleAdapter = object : - NormalRecyclerAdapter( - R.layout.item_hidden_trouble, dataBeans - ) { - override fun convertView( - viewHolder: ViewHolder, position: Int, - item: HiddenTroubleModel - ) { - - } + val menuAdapter = object : NormalRecyclerAdapter( + R.layout.item_hidden_trouble_l, sceneModels + ) { + override fun convertView( + viewHolder: ViewHolder, position: Int, item: DictionaryModel.DataModel + ) { + val imageSource = when (item.name) { + "配电箱" -> R.drawable.ic_menu_elec_box + "调压站" -> R.drawable.ic_menu_pressure_station + "非居民用户" -> R.drawable.ic_menu_no_people + "建筑消防" -> R.drawable.ic_menu_building + "有限空间作业" -> R.drawable.ic_menu_confined_spaces + else -> 0 } - binding.recyclerView.adapter = hiddenTroubleAdapter - binding.recyclerView.addItemDecoration(RecyclerViewItemOffsets(0, 7, 0, 7)) - hiddenTroubleAdapter.setOnItemClickedListener(object : - NormalRecyclerAdapter.OnItemClickedListener { - override fun onItemClicked( - position: Int, t: HiddenTroubleModel - ) { - //TODO 查看隐患目录详情 - } - }) + + viewHolder.setImageResource(R.id.imageView, imageSource) + .setText(R.id.textView, item.name) } } - return true + binding.recyclerView.adapter = menuAdapter + binding.recyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset) + ) + menuAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked(position: Int, t: DictionaryModel.DataModel) { + when (t.name) { + //TODO 未完 +// "配电箱" -> navigatePageTo<>() +// "调压站" -> navigatePageTo<>() +// "非居民用户" -> navigatePageTo<>() +// "建筑消防" -> navigatePageTo<>() +// "有限空间作业" -> navigatePageTo<>() + } + } + }) } override fun initViewBinding(): ActivityHiddenTroubleBinding { @@ -116,19 +73,7 @@ } override fun observeRequestState() { - hiddenTroubleViewModel.loadState.observe(this) { - when (it) { - LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...") - LoadState.Success -> { - LoadingDialogHub.dismiss() - } - LoadState.Fail -> { - LoadingDialogHub.dismiss() - "数据加载失败,请重试".show(this) - } - } - } } override fun setupTopBarLayout() { diff --git a/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt index dd63dd5..2f13051 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt @@ -78,7 +78,7 @@ override fun onItemClicked(position: Int, t: LibraryModel.DataModel) { when (position) { 0 -> navigatePageTo() - 1 -> navigatePageTo() + 1 -> navigatePageTo(sceneModels.toJson()) 2 -> navigatePageTo(sceneModels.toJson()) 3 -> navigatePageTo(t.id) else -> "未实现".show(context) diff --git a/app/src/main/res/drawable/ic_manifest_building.xml b/app/src/main/res/drawable/ic_manifest_building.xml deleted file mode 100644 index aa693dc..0000000 --- a/app/src/main/res/drawable/ic_manifest_building.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/ic_manifest_confined_spaces.xml b/app/src/main/res/drawable/ic_manifest_confined_spaces.xml deleted file mode 100644 index a20a542..0000000 --- a/app/src/main/res/drawable/ic_manifest_confined_spaces.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt index c022594..3ffbf15 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt @@ -30,18 +30,18 @@ sceneJsonValue, object : TypeToken>() {}.type ) - val checkManifestAdapter = object : NormalRecyclerAdapter( + val menuAdapter = object : NormalRecyclerAdapter( R.layout.item_check_manifest_l, sceneModels ) { override fun convertView( viewHolder: ViewHolder, position: Int, item: DictionaryModel.DataModel ) { val imageSource = when (item.name) { - "配电箱" -> R.drawable.ic_manifest_elec_box - "调压站" -> R.drawable.ic_manifest_pressure_station - "非居民用户" -> R.drawable.ic_manifest_no_people - "建筑消防" -> R.drawable.ic_manifest_building - "有限空间作业" -> R.drawable.ic_manifest_confined_spaces + "配电箱" -> R.drawable.ic_menu_elec_box + "调压站" -> R.drawable.ic_menu_pressure_station + "非居民用户" -> R.drawable.ic_menu_no_people + "建筑消防" -> R.drawable.ic_menu_building + "有限空间作业" -> R.drawable.ic_menu_confined_spaces else -> 0 } @@ -49,11 +49,11 @@ .setText(R.id.textView, item.name) } } - binding.recyclerView.adapter = checkManifestAdapter + binding.recyclerView.adapter = menuAdapter binding.recyclerView.addItemDecoration( RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset) ) - checkManifestAdapter.setOnItemClickedListener(object : + menuAdapter.setOnItemClickedListener(object : NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked(position: Int, t: DictionaryModel.DataModel) { when (t.name) { diff --git a/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt index 571aaa7..70fa9ac 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt @@ -1,114 +1,71 @@ package com.casic.br.ar.app.view import android.os.Bundle -import android.os.Handler -import android.os.Message import android.view.View -import androidx.lifecycle.ViewModelProvider import com.casic.br.ar.app.R import com.casic.br.ar.app.databinding.ActivityHiddenTroubleBinding -import com.casic.br.ar.app.model.HiddenTroubleModel -import com.casic.br.ar.app.vm.HiddenTroubleViewModel +import com.casic.br.ar.app.model.DictionaryModel +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets -import com.pengxh.kt.lite.extensions.show -import com.pengxh.kt.lite.utils.LoadState -import com.pengxh.kt.lite.utils.LoadingDialogHub -import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.utils.Constant -class HiddenTroubleActivity : KotlinBaseActivity(), Handler.Callback { +class HiddenTroubleActivity : KotlinBaseActivity() { - private lateinit var weakReferenceHandler: WeakReferenceHandler - private lateinit var hiddenTroubleViewModel: HiddenTroubleViewModel - private lateinit var hiddenTroubleAdapter: NormalRecyclerAdapter - private var dataBeans: MutableList = ArrayList() - private var keywords = "" - private var page = 1 - private var isRefresh = false - private var isLoadMore = false + private val gson by lazy { Gson() } + private val marginOffset by lazy { 7.dp2px(this) } override fun initEvent() { - binding.searchButton.setOnClickListener { - keywords = binding.searchView.text.toString().trim() - } - binding.refreshLayout.setOnRefreshListener { - isRefresh = true - page = 1 - getHiddenTroubleMenuByPage() - } - - binding.refreshLayout.setOnLoadMoreListener { - isLoadMore = true - page++ - getHiddenTroubleMenuByPage() - } } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) - hiddenTroubleViewModel = ViewModelProvider(this)[HiddenTroubleViewModel::class.java] - hiddenTroubleViewModel.troublesResult.observe(this) { -// if (it.code == 200) { -// val dataRows = it.data?.rows!! -// when { -// isRefresh -> { -// hiddenTroubleAdapter.setRefreshData(dataRows) -// binding.refreshLayout.finishRefresh() -// isRefresh = false -// } -// -// isLoadMore -> { -// if (dataRows.size == 0) { -// "到底了,别拉了".show(this) -// } -// hiddenTroubleAdapter.setLoadMoreData(dataRows) -// binding.refreshLayout.finishLoadMore() -// isLoadMore = false -// } -// -// else -> { -// dataBeans = dataRows -// weakReferenceHandler.sendEmptyMessage(2024030402) -// } -// } -// } - } - } + val sceneJsonValue = intent.getStringExtra(Constant.INTENT_PARAM) + //转为实体类 + val sceneModels = gson.fromJson>( + sceneJsonValue, object : TypeToken>() {}.type + ) - private fun getHiddenTroubleMenuByPage() { - hiddenTroubleViewModel.getHiddenTroubleMenuByPage(this, keywords, page) - } - - override fun handleMessage(msg: Message): Boolean { - when (msg.what) { - 2024030402 -> { - hiddenTroubleAdapter = object : - NormalRecyclerAdapter( - R.layout.item_hidden_trouble, dataBeans - ) { - override fun convertView( - viewHolder: ViewHolder, position: Int, - item: HiddenTroubleModel - ) { - - } + val menuAdapter = object : NormalRecyclerAdapter( + R.layout.item_hidden_trouble_l, sceneModels + ) { + override fun convertView( + viewHolder: ViewHolder, position: Int, item: DictionaryModel.DataModel + ) { + val imageSource = when (item.name) { + "配电箱" -> R.drawable.ic_menu_elec_box + "调压站" -> R.drawable.ic_menu_pressure_station + "非居民用户" -> R.drawable.ic_menu_no_people + "建筑消防" -> R.drawable.ic_menu_building + "有限空间作业" -> R.drawable.ic_menu_confined_spaces + else -> 0 } - binding.recyclerView.adapter = hiddenTroubleAdapter - binding.recyclerView.addItemDecoration(RecyclerViewItemOffsets(0, 7, 0, 7)) - hiddenTroubleAdapter.setOnItemClickedListener(object : - NormalRecyclerAdapter.OnItemClickedListener { - override fun onItemClicked( - position: Int, t: HiddenTroubleModel - ) { - //TODO 查看隐患目录详情 - } - }) + + viewHolder.setImageResource(R.id.imageView, imageSource) + .setText(R.id.textView, item.name) } } - return true + binding.recyclerView.adapter = menuAdapter + binding.recyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset) + ) + menuAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked(position: Int, t: DictionaryModel.DataModel) { + when (t.name) { + //TODO 未完 +// "配电箱" -> navigatePageTo<>() +// "调压站" -> navigatePageTo<>() +// "非居民用户" -> navigatePageTo<>() +// "建筑消防" -> navigatePageTo<>() +// "有限空间作业" -> navigatePageTo<>() + } + } + }) } override fun initViewBinding(): ActivityHiddenTroubleBinding { @@ -116,19 +73,7 @@ } override fun observeRequestState() { - hiddenTroubleViewModel.loadState.observe(this) { - when (it) { - LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...") - LoadState.Success -> { - LoadingDialogHub.dismiss() - } - LoadState.Fail -> { - LoadingDialogHub.dismiss() - "数据加载失败,请重试".show(this) - } - } - } } override fun setupTopBarLayout() { diff --git a/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt index dd63dd5..2f13051 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt @@ -78,7 +78,7 @@ override fun onItemClicked(position: Int, t: LibraryModel.DataModel) { when (position) { 0 -> navigatePageTo() - 1 -> navigatePageTo() + 1 -> navigatePageTo(sceneModels.toJson()) 2 -> navigatePageTo(sceneModels.toJson()) 3 -> navigatePageTo(t.id) else -> "未实现".show(context) diff --git a/app/src/main/res/drawable/ic_manifest_building.xml b/app/src/main/res/drawable/ic_manifest_building.xml deleted file mode 100644 index aa693dc..0000000 --- a/app/src/main/res/drawable/ic_manifest_building.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/ic_manifest_confined_spaces.xml b/app/src/main/res/drawable/ic_manifest_confined_spaces.xml deleted file mode 100644 index a20a542..0000000 --- a/app/src/main/res/drawable/ic_manifest_confined_spaces.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_manifest_elec_box.xml b/app/src/main/res/drawable/ic_manifest_elec_box.xml deleted file mode 100644 index 5f1bb55..0000000 --- a/app/src/main/res/drawable/ic_manifest_elec_box.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt index c022594..3ffbf15 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt @@ -30,18 +30,18 @@ sceneJsonValue, object : TypeToken>() {}.type ) - val checkManifestAdapter = object : NormalRecyclerAdapter( + val menuAdapter = object : NormalRecyclerAdapter( R.layout.item_check_manifest_l, sceneModels ) { override fun convertView( viewHolder: ViewHolder, position: Int, item: DictionaryModel.DataModel ) { val imageSource = when (item.name) { - "配电箱" -> R.drawable.ic_manifest_elec_box - "调压站" -> R.drawable.ic_manifest_pressure_station - "非居民用户" -> R.drawable.ic_manifest_no_people - "建筑消防" -> R.drawable.ic_manifest_building - "有限空间作业" -> R.drawable.ic_manifest_confined_spaces + "配电箱" -> R.drawable.ic_menu_elec_box + "调压站" -> R.drawable.ic_menu_pressure_station + "非居民用户" -> R.drawable.ic_menu_no_people + "建筑消防" -> R.drawable.ic_menu_building + "有限空间作业" -> R.drawable.ic_menu_confined_spaces else -> 0 } @@ -49,11 +49,11 @@ .setText(R.id.textView, item.name) } } - binding.recyclerView.adapter = checkManifestAdapter + binding.recyclerView.adapter = menuAdapter binding.recyclerView.addItemDecoration( RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset) ) - checkManifestAdapter.setOnItemClickedListener(object : + menuAdapter.setOnItemClickedListener(object : NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked(position: Int, t: DictionaryModel.DataModel) { when (t.name) { diff --git a/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt index 571aaa7..70fa9ac 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt @@ -1,114 +1,71 @@ package com.casic.br.ar.app.view import android.os.Bundle -import android.os.Handler -import android.os.Message import android.view.View -import androidx.lifecycle.ViewModelProvider import com.casic.br.ar.app.R import com.casic.br.ar.app.databinding.ActivityHiddenTroubleBinding -import com.casic.br.ar.app.model.HiddenTroubleModel -import com.casic.br.ar.app.vm.HiddenTroubleViewModel +import com.casic.br.ar.app.model.DictionaryModel +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets -import com.pengxh.kt.lite.extensions.show -import com.pengxh.kt.lite.utils.LoadState -import com.pengxh.kt.lite.utils.LoadingDialogHub -import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.utils.Constant -class HiddenTroubleActivity : KotlinBaseActivity(), Handler.Callback { +class HiddenTroubleActivity : KotlinBaseActivity() { - private lateinit var weakReferenceHandler: WeakReferenceHandler - private lateinit var hiddenTroubleViewModel: HiddenTroubleViewModel - private lateinit var hiddenTroubleAdapter: NormalRecyclerAdapter - private var dataBeans: MutableList = ArrayList() - private var keywords = "" - private var page = 1 - private var isRefresh = false - private var isLoadMore = false + private val gson by lazy { Gson() } + private val marginOffset by lazy { 7.dp2px(this) } override fun initEvent() { - binding.searchButton.setOnClickListener { - keywords = binding.searchView.text.toString().trim() - } - binding.refreshLayout.setOnRefreshListener { - isRefresh = true - page = 1 - getHiddenTroubleMenuByPage() - } - - binding.refreshLayout.setOnLoadMoreListener { - isLoadMore = true - page++ - getHiddenTroubleMenuByPage() - } } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) - hiddenTroubleViewModel = ViewModelProvider(this)[HiddenTroubleViewModel::class.java] - hiddenTroubleViewModel.troublesResult.observe(this) { -// if (it.code == 200) { -// val dataRows = it.data?.rows!! -// when { -// isRefresh -> { -// hiddenTroubleAdapter.setRefreshData(dataRows) -// binding.refreshLayout.finishRefresh() -// isRefresh = false -// } -// -// isLoadMore -> { -// if (dataRows.size == 0) { -// "到底了,别拉了".show(this) -// } -// hiddenTroubleAdapter.setLoadMoreData(dataRows) -// binding.refreshLayout.finishLoadMore() -// isLoadMore = false -// } -// -// else -> { -// dataBeans = dataRows -// weakReferenceHandler.sendEmptyMessage(2024030402) -// } -// } -// } - } - } + val sceneJsonValue = intent.getStringExtra(Constant.INTENT_PARAM) + //转为实体类 + val sceneModels = gson.fromJson>( + sceneJsonValue, object : TypeToken>() {}.type + ) - private fun getHiddenTroubleMenuByPage() { - hiddenTroubleViewModel.getHiddenTroubleMenuByPage(this, keywords, page) - } - - override fun handleMessage(msg: Message): Boolean { - when (msg.what) { - 2024030402 -> { - hiddenTroubleAdapter = object : - NormalRecyclerAdapter( - R.layout.item_hidden_trouble, dataBeans - ) { - override fun convertView( - viewHolder: ViewHolder, position: Int, - item: HiddenTroubleModel - ) { - - } + val menuAdapter = object : NormalRecyclerAdapter( + R.layout.item_hidden_trouble_l, sceneModels + ) { + override fun convertView( + viewHolder: ViewHolder, position: Int, item: DictionaryModel.DataModel + ) { + val imageSource = when (item.name) { + "配电箱" -> R.drawable.ic_menu_elec_box + "调压站" -> R.drawable.ic_menu_pressure_station + "非居民用户" -> R.drawable.ic_menu_no_people + "建筑消防" -> R.drawable.ic_menu_building + "有限空间作业" -> R.drawable.ic_menu_confined_spaces + else -> 0 } - binding.recyclerView.adapter = hiddenTroubleAdapter - binding.recyclerView.addItemDecoration(RecyclerViewItemOffsets(0, 7, 0, 7)) - hiddenTroubleAdapter.setOnItemClickedListener(object : - NormalRecyclerAdapter.OnItemClickedListener { - override fun onItemClicked( - position: Int, t: HiddenTroubleModel - ) { - //TODO 查看隐患目录详情 - } - }) + + viewHolder.setImageResource(R.id.imageView, imageSource) + .setText(R.id.textView, item.name) } } - return true + binding.recyclerView.adapter = menuAdapter + binding.recyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset) + ) + menuAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked(position: Int, t: DictionaryModel.DataModel) { + when (t.name) { + //TODO 未完 +// "配电箱" -> navigatePageTo<>() +// "调压站" -> navigatePageTo<>() +// "非居民用户" -> navigatePageTo<>() +// "建筑消防" -> navigatePageTo<>() +// "有限空间作业" -> navigatePageTo<>() + } + } + }) } override fun initViewBinding(): ActivityHiddenTroubleBinding { @@ -116,19 +73,7 @@ } override fun observeRequestState() { - hiddenTroubleViewModel.loadState.observe(this) { - when (it) { - LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...") - LoadState.Success -> { - LoadingDialogHub.dismiss() - } - LoadState.Fail -> { - LoadingDialogHub.dismiss() - "数据加载失败,请重试".show(this) - } - } - } } override fun setupTopBarLayout() { diff --git a/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt index dd63dd5..2f13051 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt @@ -78,7 +78,7 @@ override fun onItemClicked(position: Int, t: LibraryModel.DataModel) { when (position) { 0 -> navigatePageTo() - 1 -> navigatePageTo() + 1 -> navigatePageTo(sceneModels.toJson()) 2 -> navigatePageTo(sceneModels.toJson()) 3 -> navigatePageTo(t.id) else -> "未实现".show(context) diff --git a/app/src/main/res/drawable/ic_manifest_building.xml b/app/src/main/res/drawable/ic_manifest_building.xml deleted file mode 100644 index aa693dc..0000000 --- a/app/src/main/res/drawable/ic_manifest_building.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/ic_manifest_confined_spaces.xml b/app/src/main/res/drawable/ic_manifest_confined_spaces.xml deleted file mode 100644 index a20a542..0000000 --- a/app/src/main/res/drawable/ic_manifest_confined_spaces.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_manifest_elec_box.xml b/app/src/main/res/drawable/ic_manifest_elec_box.xml deleted file mode 100644 index 5f1bb55..0000000 --- a/app/src/main/res/drawable/ic_manifest_elec_box.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_manifest_no_people.xml b/app/src/main/res/drawable/ic_manifest_no_people.xml deleted file mode 100644 index 23648e0..0000000 --- a/app/src/main/res/drawable/ic_manifest_no_people.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - diff --git a/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt index c022594..3ffbf15 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt @@ -30,18 +30,18 @@ sceneJsonValue, object : TypeToken>() {}.type ) - val checkManifestAdapter = object : NormalRecyclerAdapter( + val menuAdapter = object : NormalRecyclerAdapter( R.layout.item_check_manifest_l, sceneModels ) { override fun convertView( viewHolder: ViewHolder, position: Int, item: DictionaryModel.DataModel ) { val imageSource = when (item.name) { - "配电箱" -> R.drawable.ic_manifest_elec_box - "调压站" -> R.drawable.ic_manifest_pressure_station - "非居民用户" -> R.drawable.ic_manifest_no_people - "建筑消防" -> R.drawable.ic_manifest_building - "有限空间作业" -> R.drawable.ic_manifest_confined_spaces + "配电箱" -> R.drawable.ic_menu_elec_box + "调压站" -> R.drawable.ic_menu_pressure_station + "非居民用户" -> R.drawable.ic_menu_no_people + "建筑消防" -> R.drawable.ic_menu_building + "有限空间作业" -> R.drawable.ic_menu_confined_spaces else -> 0 } @@ -49,11 +49,11 @@ .setText(R.id.textView, item.name) } } - binding.recyclerView.adapter = checkManifestAdapter + binding.recyclerView.adapter = menuAdapter binding.recyclerView.addItemDecoration( RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset) ) - checkManifestAdapter.setOnItemClickedListener(object : + menuAdapter.setOnItemClickedListener(object : NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked(position: Int, t: DictionaryModel.DataModel) { when (t.name) { diff --git a/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt index 571aaa7..70fa9ac 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt @@ -1,114 +1,71 @@ package com.casic.br.ar.app.view import android.os.Bundle -import android.os.Handler -import android.os.Message import android.view.View -import androidx.lifecycle.ViewModelProvider import com.casic.br.ar.app.R import com.casic.br.ar.app.databinding.ActivityHiddenTroubleBinding -import com.casic.br.ar.app.model.HiddenTroubleModel -import com.casic.br.ar.app.vm.HiddenTroubleViewModel +import com.casic.br.ar.app.model.DictionaryModel +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets -import com.pengxh.kt.lite.extensions.show -import com.pengxh.kt.lite.utils.LoadState -import com.pengxh.kt.lite.utils.LoadingDialogHub -import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.utils.Constant -class HiddenTroubleActivity : KotlinBaseActivity(), Handler.Callback { +class HiddenTroubleActivity : KotlinBaseActivity() { - private lateinit var weakReferenceHandler: WeakReferenceHandler - private lateinit var hiddenTroubleViewModel: HiddenTroubleViewModel - private lateinit var hiddenTroubleAdapter: NormalRecyclerAdapter - private var dataBeans: MutableList = ArrayList() - private var keywords = "" - private var page = 1 - private var isRefresh = false - private var isLoadMore = false + private val gson by lazy { Gson() } + private val marginOffset by lazy { 7.dp2px(this) } override fun initEvent() { - binding.searchButton.setOnClickListener { - keywords = binding.searchView.text.toString().trim() - } - binding.refreshLayout.setOnRefreshListener { - isRefresh = true - page = 1 - getHiddenTroubleMenuByPage() - } - - binding.refreshLayout.setOnLoadMoreListener { - isLoadMore = true - page++ - getHiddenTroubleMenuByPage() - } } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) - hiddenTroubleViewModel = ViewModelProvider(this)[HiddenTroubleViewModel::class.java] - hiddenTroubleViewModel.troublesResult.observe(this) { -// if (it.code == 200) { -// val dataRows = it.data?.rows!! -// when { -// isRefresh -> { -// hiddenTroubleAdapter.setRefreshData(dataRows) -// binding.refreshLayout.finishRefresh() -// isRefresh = false -// } -// -// isLoadMore -> { -// if (dataRows.size == 0) { -// "到底了,别拉了".show(this) -// } -// hiddenTroubleAdapter.setLoadMoreData(dataRows) -// binding.refreshLayout.finishLoadMore() -// isLoadMore = false -// } -// -// else -> { -// dataBeans = dataRows -// weakReferenceHandler.sendEmptyMessage(2024030402) -// } -// } -// } - } - } + val sceneJsonValue = intent.getStringExtra(Constant.INTENT_PARAM) + //转为实体类 + val sceneModels = gson.fromJson>( + sceneJsonValue, object : TypeToken>() {}.type + ) - private fun getHiddenTroubleMenuByPage() { - hiddenTroubleViewModel.getHiddenTroubleMenuByPage(this, keywords, page) - } - - override fun handleMessage(msg: Message): Boolean { - when (msg.what) { - 2024030402 -> { - hiddenTroubleAdapter = object : - NormalRecyclerAdapter( - R.layout.item_hidden_trouble, dataBeans - ) { - override fun convertView( - viewHolder: ViewHolder, position: Int, - item: HiddenTroubleModel - ) { - - } + val menuAdapter = object : NormalRecyclerAdapter( + R.layout.item_hidden_trouble_l, sceneModels + ) { + override fun convertView( + viewHolder: ViewHolder, position: Int, item: DictionaryModel.DataModel + ) { + val imageSource = when (item.name) { + "配电箱" -> R.drawable.ic_menu_elec_box + "调压站" -> R.drawable.ic_menu_pressure_station + "非居民用户" -> R.drawable.ic_menu_no_people + "建筑消防" -> R.drawable.ic_menu_building + "有限空间作业" -> R.drawable.ic_menu_confined_spaces + else -> 0 } - binding.recyclerView.adapter = hiddenTroubleAdapter - binding.recyclerView.addItemDecoration(RecyclerViewItemOffsets(0, 7, 0, 7)) - hiddenTroubleAdapter.setOnItemClickedListener(object : - NormalRecyclerAdapter.OnItemClickedListener { - override fun onItemClicked( - position: Int, t: HiddenTroubleModel - ) { - //TODO 查看隐患目录详情 - } - }) + + viewHolder.setImageResource(R.id.imageView, imageSource) + .setText(R.id.textView, item.name) } } - return true + binding.recyclerView.adapter = menuAdapter + binding.recyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset) + ) + menuAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked(position: Int, t: DictionaryModel.DataModel) { + when (t.name) { + //TODO 未完 +// "配电箱" -> navigatePageTo<>() +// "调压站" -> navigatePageTo<>() +// "非居民用户" -> navigatePageTo<>() +// "建筑消防" -> navigatePageTo<>() +// "有限空间作业" -> navigatePageTo<>() + } + } + }) } override fun initViewBinding(): ActivityHiddenTroubleBinding { @@ -116,19 +73,7 @@ } override fun observeRequestState() { - hiddenTroubleViewModel.loadState.observe(this) { - when (it) { - LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...") - LoadState.Success -> { - LoadingDialogHub.dismiss() - } - LoadState.Fail -> { - LoadingDialogHub.dismiss() - "数据加载失败,请重试".show(this) - } - } - } } override fun setupTopBarLayout() { diff --git a/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt index dd63dd5..2f13051 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt @@ -78,7 +78,7 @@ override fun onItemClicked(position: Int, t: LibraryModel.DataModel) { when (position) { 0 -> navigatePageTo() - 1 -> navigatePageTo() + 1 -> navigatePageTo(sceneModels.toJson()) 2 -> navigatePageTo(sceneModels.toJson()) 3 -> navigatePageTo(t.id) else -> "未实现".show(context) diff --git a/app/src/main/res/drawable/ic_manifest_building.xml b/app/src/main/res/drawable/ic_manifest_building.xml deleted file mode 100644 index aa693dc..0000000 --- a/app/src/main/res/drawable/ic_manifest_building.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/ic_manifest_confined_spaces.xml b/app/src/main/res/drawable/ic_manifest_confined_spaces.xml deleted file mode 100644 index a20a542..0000000 --- a/app/src/main/res/drawable/ic_manifest_confined_spaces.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_manifest_elec_box.xml b/app/src/main/res/drawable/ic_manifest_elec_box.xml deleted file mode 100644 index 5f1bb55..0000000 --- a/app/src/main/res/drawable/ic_manifest_elec_box.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_manifest_no_people.xml b/app/src/main/res/drawable/ic_manifest_no_people.xml deleted file mode 100644 index 23648e0..0000000 --- a/app/src/main/res/drawable/ic_manifest_no_people.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - diff --git a/app/src/main/res/drawable/ic_manifest_pressure_station.xml b/app/src/main/res/drawable/ic_manifest_pressure_station.xml deleted file mode 100644 index b2b20af..0000000 --- a/app/src/main/res/drawable/ic_manifest_pressure_station.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt index c022594..3ffbf15 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt @@ -30,18 +30,18 @@ sceneJsonValue, object : TypeToken>() {}.type ) - val checkManifestAdapter = object : NormalRecyclerAdapter( + val menuAdapter = object : NormalRecyclerAdapter( R.layout.item_check_manifest_l, sceneModels ) { override fun convertView( viewHolder: ViewHolder, position: Int, item: DictionaryModel.DataModel ) { val imageSource = when (item.name) { - "配电箱" -> R.drawable.ic_manifest_elec_box - "调压站" -> R.drawable.ic_manifest_pressure_station - "非居民用户" -> R.drawable.ic_manifest_no_people - "建筑消防" -> R.drawable.ic_manifest_building - "有限空间作业" -> R.drawable.ic_manifest_confined_spaces + "配电箱" -> R.drawable.ic_menu_elec_box + "调压站" -> R.drawable.ic_menu_pressure_station + "非居民用户" -> R.drawable.ic_menu_no_people + "建筑消防" -> R.drawable.ic_menu_building + "有限空间作业" -> R.drawable.ic_menu_confined_spaces else -> 0 } @@ -49,11 +49,11 @@ .setText(R.id.textView, item.name) } } - binding.recyclerView.adapter = checkManifestAdapter + binding.recyclerView.adapter = menuAdapter binding.recyclerView.addItemDecoration( RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset) ) - checkManifestAdapter.setOnItemClickedListener(object : + menuAdapter.setOnItemClickedListener(object : NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked(position: Int, t: DictionaryModel.DataModel) { when (t.name) { diff --git a/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt index 571aaa7..70fa9ac 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt @@ -1,114 +1,71 @@ package com.casic.br.ar.app.view import android.os.Bundle -import android.os.Handler -import android.os.Message import android.view.View -import androidx.lifecycle.ViewModelProvider import com.casic.br.ar.app.R import com.casic.br.ar.app.databinding.ActivityHiddenTroubleBinding -import com.casic.br.ar.app.model.HiddenTroubleModel -import com.casic.br.ar.app.vm.HiddenTroubleViewModel +import com.casic.br.ar.app.model.DictionaryModel +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets -import com.pengxh.kt.lite.extensions.show -import com.pengxh.kt.lite.utils.LoadState -import com.pengxh.kt.lite.utils.LoadingDialogHub -import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.utils.Constant -class HiddenTroubleActivity : KotlinBaseActivity(), Handler.Callback { +class HiddenTroubleActivity : KotlinBaseActivity() { - private lateinit var weakReferenceHandler: WeakReferenceHandler - private lateinit var hiddenTroubleViewModel: HiddenTroubleViewModel - private lateinit var hiddenTroubleAdapter: NormalRecyclerAdapter - private var dataBeans: MutableList = ArrayList() - private var keywords = "" - private var page = 1 - private var isRefresh = false - private var isLoadMore = false + private val gson by lazy { Gson() } + private val marginOffset by lazy { 7.dp2px(this) } override fun initEvent() { - binding.searchButton.setOnClickListener { - keywords = binding.searchView.text.toString().trim() - } - binding.refreshLayout.setOnRefreshListener { - isRefresh = true - page = 1 - getHiddenTroubleMenuByPage() - } - - binding.refreshLayout.setOnLoadMoreListener { - isLoadMore = true - page++ - getHiddenTroubleMenuByPage() - } } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) - hiddenTroubleViewModel = ViewModelProvider(this)[HiddenTroubleViewModel::class.java] - hiddenTroubleViewModel.troublesResult.observe(this) { -// if (it.code == 200) { -// val dataRows = it.data?.rows!! -// when { -// isRefresh -> { -// hiddenTroubleAdapter.setRefreshData(dataRows) -// binding.refreshLayout.finishRefresh() -// isRefresh = false -// } -// -// isLoadMore -> { -// if (dataRows.size == 0) { -// "到底了,别拉了".show(this) -// } -// hiddenTroubleAdapter.setLoadMoreData(dataRows) -// binding.refreshLayout.finishLoadMore() -// isLoadMore = false -// } -// -// else -> { -// dataBeans = dataRows -// weakReferenceHandler.sendEmptyMessage(2024030402) -// } -// } -// } - } - } + val sceneJsonValue = intent.getStringExtra(Constant.INTENT_PARAM) + //转为实体类 + val sceneModels = gson.fromJson>( + sceneJsonValue, object : TypeToken>() {}.type + ) - private fun getHiddenTroubleMenuByPage() { - hiddenTroubleViewModel.getHiddenTroubleMenuByPage(this, keywords, page) - } - - override fun handleMessage(msg: Message): Boolean { - when (msg.what) { - 2024030402 -> { - hiddenTroubleAdapter = object : - NormalRecyclerAdapter( - R.layout.item_hidden_trouble, dataBeans - ) { - override fun convertView( - viewHolder: ViewHolder, position: Int, - item: HiddenTroubleModel - ) { - - } + val menuAdapter = object : NormalRecyclerAdapter( + R.layout.item_hidden_trouble_l, sceneModels + ) { + override fun convertView( + viewHolder: ViewHolder, position: Int, item: DictionaryModel.DataModel + ) { + val imageSource = when (item.name) { + "配电箱" -> R.drawable.ic_menu_elec_box + "调压站" -> R.drawable.ic_menu_pressure_station + "非居民用户" -> R.drawable.ic_menu_no_people + "建筑消防" -> R.drawable.ic_menu_building + "有限空间作业" -> R.drawable.ic_menu_confined_spaces + else -> 0 } - binding.recyclerView.adapter = hiddenTroubleAdapter - binding.recyclerView.addItemDecoration(RecyclerViewItemOffsets(0, 7, 0, 7)) - hiddenTroubleAdapter.setOnItemClickedListener(object : - NormalRecyclerAdapter.OnItemClickedListener { - override fun onItemClicked( - position: Int, t: HiddenTroubleModel - ) { - //TODO 查看隐患目录详情 - } - }) + + viewHolder.setImageResource(R.id.imageView, imageSource) + .setText(R.id.textView, item.name) } } - return true + binding.recyclerView.adapter = menuAdapter + binding.recyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset) + ) + menuAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked(position: Int, t: DictionaryModel.DataModel) { + when (t.name) { + //TODO 未完 +// "配电箱" -> navigatePageTo<>() +// "调压站" -> navigatePageTo<>() +// "非居民用户" -> navigatePageTo<>() +// "建筑消防" -> navigatePageTo<>() +// "有限空间作业" -> navigatePageTo<>() + } + } + }) } override fun initViewBinding(): ActivityHiddenTroubleBinding { @@ -116,19 +73,7 @@ } override fun observeRequestState() { - hiddenTroubleViewModel.loadState.observe(this) { - when (it) { - LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...") - LoadState.Success -> { - LoadingDialogHub.dismiss() - } - LoadState.Fail -> { - LoadingDialogHub.dismiss() - "数据加载失败,请重试".show(this) - } - } - } } override fun setupTopBarLayout() { diff --git a/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt index dd63dd5..2f13051 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt @@ -78,7 +78,7 @@ override fun onItemClicked(position: Int, t: LibraryModel.DataModel) { when (position) { 0 -> navigatePageTo() - 1 -> navigatePageTo() + 1 -> navigatePageTo(sceneModels.toJson()) 2 -> navigatePageTo(sceneModels.toJson()) 3 -> navigatePageTo(t.id) else -> "未实现".show(context) diff --git a/app/src/main/res/drawable/ic_manifest_building.xml b/app/src/main/res/drawable/ic_manifest_building.xml deleted file mode 100644 index aa693dc..0000000 --- a/app/src/main/res/drawable/ic_manifest_building.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/ic_manifest_confined_spaces.xml b/app/src/main/res/drawable/ic_manifest_confined_spaces.xml deleted file mode 100644 index a20a542..0000000 --- a/app/src/main/res/drawable/ic_manifest_confined_spaces.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_manifest_elec_box.xml b/app/src/main/res/drawable/ic_manifest_elec_box.xml deleted file mode 100644 index 5f1bb55..0000000 --- a/app/src/main/res/drawable/ic_manifest_elec_box.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_manifest_no_people.xml b/app/src/main/res/drawable/ic_manifest_no_people.xml deleted file mode 100644 index 23648e0..0000000 --- a/app/src/main/res/drawable/ic_manifest_no_people.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - diff --git a/app/src/main/res/drawable/ic_manifest_pressure_station.xml b/app/src/main/res/drawable/ic_manifest_pressure_station.xml deleted file mode 100644 index b2b20af..0000000 --- a/app/src/main/res/drawable/ic_manifest_pressure_station.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_menu_building.xml b/app/src/main/res/drawable/ic_menu_building.xml new file mode 100644 index 0000000..aa693dc --- /dev/null +++ b/app/src/main/res/drawable/ic_menu_building.xml @@ -0,0 +1,12 @@ + + + + diff --git a/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt index c022594..3ffbf15 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt @@ -30,18 +30,18 @@ sceneJsonValue, object : TypeToken>() {}.type ) - val checkManifestAdapter = object : NormalRecyclerAdapter( + val menuAdapter = object : NormalRecyclerAdapter( R.layout.item_check_manifest_l, sceneModels ) { override fun convertView( viewHolder: ViewHolder, position: Int, item: DictionaryModel.DataModel ) { val imageSource = when (item.name) { - "配电箱" -> R.drawable.ic_manifest_elec_box - "调压站" -> R.drawable.ic_manifest_pressure_station - "非居民用户" -> R.drawable.ic_manifest_no_people - "建筑消防" -> R.drawable.ic_manifest_building - "有限空间作业" -> R.drawable.ic_manifest_confined_spaces + "配电箱" -> R.drawable.ic_menu_elec_box + "调压站" -> R.drawable.ic_menu_pressure_station + "非居民用户" -> R.drawable.ic_menu_no_people + "建筑消防" -> R.drawable.ic_menu_building + "有限空间作业" -> R.drawable.ic_menu_confined_spaces else -> 0 } @@ -49,11 +49,11 @@ .setText(R.id.textView, item.name) } } - binding.recyclerView.adapter = checkManifestAdapter + binding.recyclerView.adapter = menuAdapter binding.recyclerView.addItemDecoration( RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset) ) - checkManifestAdapter.setOnItemClickedListener(object : + menuAdapter.setOnItemClickedListener(object : NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked(position: Int, t: DictionaryModel.DataModel) { when (t.name) { diff --git a/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt index 571aaa7..70fa9ac 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt @@ -1,114 +1,71 @@ package com.casic.br.ar.app.view import android.os.Bundle -import android.os.Handler -import android.os.Message import android.view.View -import androidx.lifecycle.ViewModelProvider import com.casic.br.ar.app.R import com.casic.br.ar.app.databinding.ActivityHiddenTroubleBinding -import com.casic.br.ar.app.model.HiddenTroubleModel -import com.casic.br.ar.app.vm.HiddenTroubleViewModel +import com.casic.br.ar.app.model.DictionaryModel +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets -import com.pengxh.kt.lite.extensions.show -import com.pengxh.kt.lite.utils.LoadState -import com.pengxh.kt.lite.utils.LoadingDialogHub -import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.utils.Constant -class HiddenTroubleActivity : KotlinBaseActivity(), Handler.Callback { +class HiddenTroubleActivity : KotlinBaseActivity() { - private lateinit var weakReferenceHandler: WeakReferenceHandler - private lateinit var hiddenTroubleViewModel: HiddenTroubleViewModel - private lateinit var hiddenTroubleAdapter: NormalRecyclerAdapter - private var dataBeans: MutableList = ArrayList() - private var keywords = "" - private var page = 1 - private var isRefresh = false - private var isLoadMore = false + private val gson by lazy { Gson() } + private val marginOffset by lazy { 7.dp2px(this) } override fun initEvent() { - binding.searchButton.setOnClickListener { - keywords = binding.searchView.text.toString().trim() - } - binding.refreshLayout.setOnRefreshListener { - isRefresh = true - page = 1 - getHiddenTroubleMenuByPage() - } - - binding.refreshLayout.setOnLoadMoreListener { - isLoadMore = true - page++ - getHiddenTroubleMenuByPage() - } } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) - hiddenTroubleViewModel = ViewModelProvider(this)[HiddenTroubleViewModel::class.java] - hiddenTroubleViewModel.troublesResult.observe(this) { -// if (it.code == 200) { -// val dataRows = it.data?.rows!! -// when { -// isRefresh -> { -// hiddenTroubleAdapter.setRefreshData(dataRows) -// binding.refreshLayout.finishRefresh() -// isRefresh = false -// } -// -// isLoadMore -> { -// if (dataRows.size == 0) { -// "到底了,别拉了".show(this) -// } -// hiddenTroubleAdapter.setLoadMoreData(dataRows) -// binding.refreshLayout.finishLoadMore() -// isLoadMore = false -// } -// -// else -> { -// dataBeans = dataRows -// weakReferenceHandler.sendEmptyMessage(2024030402) -// } -// } -// } - } - } + val sceneJsonValue = intent.getStringExtra(Constant.INTENT_PARAM) + //转为实体类 + val sceneModels = gson.fromJson>( + sceneJsonValue, object : TypeToken>() {}.type + ) - private fun getHiddenTroubleMenuByPage() { - hiddenTroubleViewModel.getHiddenTroubleMenuByPage(this, keywords, page) - } - - override fun handleMessage(msg: Message): Boolean { - when (msg.what) { - 2024030402 -> { - hiddenTroubleAdapter = object : - NormalRecyclerAdapter( - R.layout.item_hidden_trouble, dataBeans - ) { - override fun convertView( - viewHolder: ViewHolder, position: Int, - item: HiddenTroubleModel - ) { - - } + val menuAdapter = object : NormalRecyclerAdapter( + R.layout.item_hidden_trouble_l, sceneModels + ) { + override fun convertView( + viewHolder: ViewHolder, position: Int, item: DictionaryModel.DataModel + ) { + val imageSource = when (item.name) { + "配电箱" -> R.drawable.ic_menu_elec_box + "调压站" -> R.drawable.ic_menu_pressure_station + "非居民用户" -> R.drawable.ic_menu_no_people + "建筑消防" -> R.drawable.ic_menu_building + "有限空间作业" -> R.drawable.ic_menu_confined_spaces + else -> 0 } - binding.recyclerView.adapter = hiddenTroubleAdapter - binding.recyclerView.addItemDecoration(RecyclerViewItemOffsets(0, 7, 0, 7)) - hiddenTroubleAdapter.setOnItemClickedListener(object : - NormalRecyclerAdapter.OnItemClickedListener { - override fun onItemClicked( - position: Int, t: HiddenTroubleModel - ) { - //TODO 查看隐患目录详情 - } - }) + + viewHolder.setImageResource(R.id.imageView, imageSource) + .setText(R.id.textView, item.name) } } - return true + binding.recyclerView.adapter = menuAdapter + binding.recyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset) + ) + menuAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked(position: Int, t: DictionaryModel.DataModel) { + when (t.name) { + //TODO 未完 +// "配电箱" -> navigatePageTo<>() +// "调压站" -> navigatePageTo<>() +// "非居民用户" -> navigatePageTo<>() +// "建筑消防" -> navigatePageTo<>() +// "有限空间作业" -> navigatePageTo<>() + } + } + }) } override fun initViewBinding(): ActivityHiddenTroubleBinding { @@ -116,19 +73,7 @@ } override fun observeRequestState() { - hiddenTroubleViewModel.loadState.observe(this) { - when (it) { - LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...") - LoadState.Success -> { - LoadingDialogHub.dismiss() - } - LoadState.Fail -> { - LoadingDialogHub.dismiss() - "数据加载失败,请重试".show(this) - } - } - } } override fun setupTopBarLayout() { diff --git a/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt index dd63dd5..2f13051 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt @@ -78,7 +78,7 @@ override fun onItemClicked(position: Int, t: LibraryModel.DataModel) { when (position) { 0 -> navigatePageTo() - 1 -> navigatePageTo() + 1 -> navigatePageTo(sceneModels.toJson()) 2 -> navigatePageTo(sceneModels.toJson()) 3 -> navigatePageTo(t.id) else -> "未实现".show(context) diff --git a/app/src/main/res/drawable/ic_manifest_building.xml b/app/src/main/res/drawable/ic_manifest_building.xml deleted file mode 100644 index aa693dc..0000000 --- a/app/src/main/res/drawable/ic_manifest_building.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/ic_manifest_confined_spaces.xml b/app/src/main/res/drawable/ic_manifest_confined_spaces.xml deleted file mode 100644 index a20a542..0000000 --- a/app/src/main/res/drawable/ic_manifest_confined_spaces.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_manifest_elec_box.xml b/app/src/main/res/drawable/ic_manifest_elec_box.xml deleted file mode 100644 index 5f1bb55..0000000 --- a/app/src/main/res/drawable/ic_manifest_elec_box.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_manifest_no_people.xml b/app/src/main/res/drawable/ic_manifest_no_people.xml deleted file mode 100644 index 23648e0..0000000 --- a/app/src/main/res/drawable/ic_manifest_no_people.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - diff --git a/app/src/main/res/drawable/ic_manifest_pressure_station.xml b/app/src/main/res/drawable/ic_manifest_pressure_station.xml deleted file mode 100644 index b2b20af..0000000 --- a/app/src/main/res/drawable/ic_manifest_pressure_station.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_menu_building.xml b/app/src/main/res/drawable/ic_menu_building.xml new file mode 100644 index 0000000..aa693dc --- /dev/null +++ b/app/src/main/res/drawable/ic_menu_building.xml @@ -0,0 +1,12 @@ + + + + diff --git a/app/src/main/res/drawable/ic_menu_confined_spaces.xml b/app/src/main/res/drawable/ic_menu_confined_spaces.xml new file mode 100644 index 0000000..a20a542 --- /dev/null +++ b/app/src/main/res/drawable/ic_menu_confined_spaces.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt index c022594..3ffbf15 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt @@ -30,18 +30,18 @@ sceneJsonValue, object : TypeToken>() {}.type ) - val checkManifestAdapter = object : NormalRecyclerAdapter( + val menuAdapter = object : NormalRecyclerAdapter( R.layout.item_check_manifest_l, sceneModels ) { override fun convertView( viewHolder: ViewHolder, position: Int, item: DictionaryModel.DataModel ) { val imageSource = when (item.name) { - "配电箱" -> R.drawable.ic_manifest_elec_box - "调压站" -> R.drawable.ic_manifest_pressure_station - "非居民用户" -> R.drawable.ic_manifest_no_people - "建筑消防" -> R.drawable.ic_manifest_building - "有限空间作业" -> R.drawable.ic_manifest_confined_spaces + "配电箱" -> R.drawable.ic_menu_elec_box + "调压站" -> R.drawable.ic_menu_pressure_station + "非居民用户" -> R.drawable.ic_menu_no_people + "建筑消防" -> R.drawable.ic_menu_building + "有限空间作业" -> R.drawable.ic_menu_confined_spaces else -> 0 } @@ -49,11 +49,11 @@ .setText(R.id.textView, item.name) } } - binding.recyclerView.adapter = checkManifestAdapter + binding.recyclerView.adapter = menuAdapter binding.recyclerView.addItemDecoration( RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset) ) - checkManifestAdapter.setOnItemClickedListener(object : + menuAdapter.setOnItemClickedListener(object : NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked(position: Int, t: DictionaryModel.DataModel) { when (t.name) { diff --git a/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt index 571aaa7..70fa9ac 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt @@ -1,114 +1,71 @@ package com.casic.br.ar.app.view import android.os.Bundle -import android.os.Handler -import android.os.Message import android.view.View -import androidx.lifecycle.ViewModelProvider import com.casic.br.ar.app.R import com.casic.br.ar.app.databinding.ActivityHiddenTroubleBinding -import com.casic.br.ar.app.model.HiddenTroubleModel -import com.casic.br.ar.app.vm.HiddenTroubleViewModel +import com.casic.br.ar.app.model.DictionaryModel +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets -import com.pengxh.kt.lite.extensions.show -import com.pengxh.kt.lite.utils.LoadState -import com.pengxh.kt.lite.utils.LoadingDialogHub -import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.utils.Constant -class HiddenTroubleActivity : KotlinBaseActivity(), Handler.Callback { +class HiddenTroubleActivity : KotlinBaseActivity() { - private lateinit var weakReferenceHandler: WeakReferenceHandler - private lateinit var hiddenTroubleViewModel: HiddenTroubleViewModel - private lateinit var hiddenTroubleAdapter: NormalRecyclerAdapter - private var dataBeans: MutableList = ArrayList() - private var keywords = "" - private var page = 1 - private var isRefresh = false - private var isLoadMore = false + private val gson by lazy { Gson() } + private val marginOffset by lazy { 7.dp2px(this) } override fun initEvent() { - binding.searchButton.setOnClickListener { - keywords = binding.searchView.text.toString().trim() - } - binding.refreshLayout.setOnRefreshListener { - isRefresh = true - page = 1 - getHiddenTroubleMenuByPage() - } - - binding.refreshLayout.setOnLoadMoreListener { - isLoadMore = true - page++ - getHiddenTroubleMenuByPage() - } } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) - hiddenTroubleViewModel = ViewModelProvider(this)[HiddenTroubleViewModel::class.java] - hiddenTroubleViewModel.troublesResult.observe(this) { -// if (it.code == 200) { -// val dataRows = it.data?.rows!! -// when { -// isRefresh -> { -// hiddenTroubleAdapter.setRefreshData(dataRows) -// binding.refreshLayout.finishRefresh() -// isRefresh = false -// } -// -// isLoadMore -> { -// if (dataRows.size == 0) { -// "到底了,别拉了".show(this) -// } -// hiddenTroubleAdapter.setLoadMoreData(dataRows) -// binding.refreshLayout.finishLoadMore() -// isLoadMore = false -// } -// -// else -> { -// dataBeans = dataRows -// weakReferenceHandler.sendEmptyMessage(2024030402) -// } -// } -// } - } - } + val sceneJsonValue = intent.getStringExtra(Constant.INTENT_PARAM) + //转为实体类 + val sceneModels = gson.fromJson>( + sceneJsonValue, object : TypeToken>() {}.type + ) - private fun getHiddenTroubleMenuByPage() { - hiddenTroubleViewModel.getHiddenTroubleMenuByPage(this, keywords, page) - } - - override fun handleMessage(msg: Message): Boolean { - when (msg.what) { - 2024030402 -> { - hiddenTroubleAdapter = object : - NormalRecyclerAdapter( - R.layout.item_hidden_trouble, dataBeans - ) { - override fun convertView( - viewHolder: ViewHolder, position: Int, - item: HiddenTroubleModel - ) { - - } + val menuAdapter = object : NormalRecyclerAdapter( + R.layout.item_hidden_trouble_l, sceneModels + ) { + override fun convertView( + viewHolder: ViewHolder, position: Int, item: DictionaryModel.DataModel + ) { + val imageSource = when (item.name) { + "配电箱" -> R.drawable.ic_menu_elec_box + "调压站" -> R.drawable.ic_menu_pressure_station + "非居民用户" -> R.drawable.ic_menu_no_people + "建筑消防" -> R.drawable.ic_menu_building + "有限空间作业" -> R.drawable.ic_menu_confined_spaces + else -> 0 } - binding.recyclerView.adapter = hiddenTroubleAdapter - binding.recyclerView.addItemDecoration(RecyclerViewItemOffsets(0, 7, 0, 7)) - hiddenTroubleAdapter.setOnItemClickedListener(object : - NormalRecyclerAdapter.OnItemClickedListener { - override fun onItemClicked( - position: Int, t: HiddenTroubleModel - ) { - //TODO 查看隐患目录详情 - } - }) + + viewHolder.setImageResource(R.id.imageView, imageSource) + .setText(R.id.textView, item.name) } } - return true + binding.recyclerView.adapter = menuAdapter + binding.recyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset) + ) + menuAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked(position: Int, t: DictionaryModel.DataModel) { + when (t.name) { + //TODO 未完 +// "配电箱" -> navigatePageTo<>() +// "调压站" -> navigatePageTo<>() +// "非居民用户" -> navigatePageTo<>() +// "建筑消防" -> navigatePageTo<>() +// "有限空间作业" -> navigatePageTo<>() + } + } + }) } override fun initViewBinding(): ActivityHiddenTroubleBinding { @@ -116,19 +73,7 @@ } override fun observeRequestState() { - hiddenTroubleViewModel.loadState.observe(this) { - when (it) { - LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...") - LoadState.Success -> { - LoadingDialogHub.dismiss() - } - LoadState.Fail -> { - LoadingDialogHub.dismiss() - "数据加载失败,请重试".show(this) - } - } - } } override fun setupTopBarLayout() { diff --git a/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt index dd63dd5..2f13051 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt @@ -78,7 +78,7 @@ override fun onItemClicked(position: Int, t: LibraryModel.DataModel) { when (position) { 0 -> navigatePageTo() - 1 -> navigatePageTo() + 1 -> navigatePageTo(sceneModels.toJson()) 2 -> navigatePageTo(sceneModels.toJson()) 3 -> navigatePageTo(t.id) else -> "未实现".show(context) diff --git a/app/src/main/res/drawable/ic_manifest_building.xml b/app/src/main/res/drawable/ic_manifest_building.xml deleted file mode 100644 index aa693dc..0000000 --- a/app/src/main/res/drawable/ic_manifest_building.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/ic_manifest_confined_spaces.xml b/app/src/main/res/drawable/ic_manifest_confined_spaces.xml deleted file mode 100644 index a20a542..0000000 --- a/app/src/main/res/drawable/ic_manifest_confined_spaces.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_manifest_elec_box.xml b/app/src/main/res/drawable/ic_manifest_elec_box.xml deleted file mode 100644 index 5f1bb55..0000000 --- a/app/src/main/res/drawable/ic_manifest_elec_box.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_manifest_no_people.xml b/app/src/main/res/drawable/ic_manifest_no_people.xml deleted file mode 100644 index 23648e0..0000000 --- a/app/src/main/res/drawable/ic_manifest_no_people.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - diff --git a/app/src/main/res/drawable/ic_manifest_pressure_station.xml b/app/src/main/res/drawable/ic_manifest_pressure_station.xml deleted file mode 100644 index b2b20af..0000000 --- a/app/src/main/res/drawable/ic_manifest_pressure_station.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_menu_building.xml b/app/src/main/res/drawable/ic_menu_building.xml new file mode 100644 index 0000000..aa693dc --- /dev/null +++ b/app/src/main/res/drawable/ic_menu_building.xml @@ -0,0 +1,12 @@ + + + + diff --git a/app/src/main/res/drawable/ic_menu_confined_spaces.xml b/app/src/main/res/drawable/ic_menu_confined_spaces.xml new file mode 100644 index 0000000..a20a542 --- /dev/null +++ b/app/src/main/res/drawable/ic_menu_confined_spaces.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_menu_elec_box.xml b/app/src/main/res/drawable/ic_menu_elec_box.xml new file mode 100644 index 0000000..5f1bb55 --- /dev/null +++ b/app/src/main/res/drawable/ic_menu_elec_box.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt index c022594..3ffbf15 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt @@ -30,18 +30,18 @@ sceneJsonValue, object : TypeToken>() {}.type ) - val checkManifestAdapter = object : NormalRecyclerAdapter( + val menuAdapter = object : NormalRecyclerAdapter( R.layout.item_check_manifest_l, sceneModels ) { override fun convertView( viewHolder: ViewHolder, position: Int, item: DictionaryModel.DataModel ) { val imageSource = when (item.name) { - "配电箱" -> R.drawable.ic_manifest_elec_box - "调压站" -> R.drawable.ic_manifest_pressure_station - "非居民用户" -> R.drawable.ic_manifest_no_people - "建筑消防" -> R.drawable.ic_manifest_building - "有限空间作业" -> R.drawable.ic_manifest_confined_spaces + "配电箱" -> R.drawable.ic_menu_elec_box + "调压站" -> R.drawable.ic_menu_pressure_station + "非居民用户" -> R.drawable.ic_menu_no_people + "建筑消防" -> R.drawable.ic_menu_building + "有限空间作业" -> R.drawable.ic_menu_confined_spaces else -> 0 } @@ -49,11 +49,11 @@ .setText(R.id.textView, item.name) } } - binding.recyclerView.adapter = checkManifestAdapter + binding.recyclerView.adapter = menuAdapter binding.recyclerView.addItemDecoration( RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset) ) - checkManifestAdapter.setOnItemClickedListener(object : + menuAdapter.setOnItemClickedListener(object : NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked(position: Int, t: DictionaryModel.DataModel) { when (t.name) { diff --git a/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt index 571aaa7..70fa9ac 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt @@ -1,114 +1,71 @@ package com.casic.br.ar.app.view import android.os.Bundle -import android.os.Handler -import android.os.Message import android.view.View -import androidx.lifecycle.ViewModelProvider import com.casic.br.ar.app.R import com.casic.br.ar.app.databinding.ActivityHiddenTroubleBinding -import com.casic.br.ar.app.model.HiddenTroubleModel -import com.casic.br.ar.app.vm.HiddenTroubleViewModel +import com.casic.br.ar.app.model.DictionaryModel +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets -import com.pengxh.kt.lite.extensions.show -import com.pengxh.kt.lite.utils.LoadState -import com.pengxh.kt.lite.utils.LoadingDialogHub -import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.utils.Constant -class HiddenTroubleActivity : KotlinBaseActivity(), Handler.Callback { +class HiddenTroubleActivity : KotlinBaseActivity() { - private lateinit var weakReferenceHandler: WeakReferenceHandler - private lateinit var hiddenTroubleViewModel: HiddenTroubleViewModel - private lateinit var hiddenTroubleAdapter: NormalRecyclerAdapter - private var dataBeans: MutableList = ArrayList() - private var keywords = "" - private var page = 1 - private var isRefresh = false - private var isLoadMore = false + private val gson by lazy { Gson() } + private val marginOffset by lazy { 7.dp2px(this) } override fun initEvent() { - binding.searchButton.setOnClickListener { - keywords = binding.searchView.text.toString().trim() - } - binding.refreshLayout.setOnRefreshListener { - isRefresh = true - page = 1 - getHiddenTroubleMenuByPage() - } - - binding.refreshLayout.setOnLoadMoreListener { - isLoadMore = true - page++ - getHiddenTroubleMenuByPage() - } } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) - hiddenTroubleViewModel = ViewModelProvider(this)[HiddenTroubleViewModel::class.java] - hiddenTroubleViewModel.troublesResult.observe(this) { -// if (it.code == 200) { -// val dataRows = it.data?.rows!! -// when { -// isRefresh -> { -// hiddenTroubleAdapter.setRefreshData(dataRows) -// binding.refreshLayout.finishRefresh() -// isRefresh = false -// } -// -// isLoadMore -> { -// if (dataRows.size == 0) { -// "到底了,别拉了".show(this) -// } -// hiddenTroubleAdapter.setLoadMoreData(dataRows) -// binding.refreshLayout.finishLoadMore() -// isLoadMore = false -// } -// -// else -> { -// dataBeans = dataRows -// weakReferenceHandler.sendEmptyMessage(2024030402) -// } -// } -// } - } - } + val sceneJsonValue = intent.getStringExtra(Constant.INTENT_PARAM) + //转为实体类 + val sceneModels = gson.fromJson>( + sceneJsonValue, object : TypeToken>() {}.type + ) - private fun getHiddenTroubleMenuByPage() { - hiddenTroubleViewModel.getHiddenTroubleMenuByPage(this, keywords, page) - } - - override fun handleMessage(msg: Message): Boolean { - when (msg.what) { - 2024030402 -> { - hiddenTroubleAdapter = object : - NormalRecyclerAdapter( - R.layout.item_hidden_trouble, dataBeans - ) { - override fun convertView( - viewHolder: ViewHolder, position: Int, - item: HiddenTroubleModel - ) { - - } + val menuAdapter = object : NormalRecyclerAdapter( + R.layout.item_hidden_trouble_l, sceneModels + ) { + override fun convertView( + viewHolder: ViewHolder, position: Int, item: DictionaryModel.DataModel + ) { + val imageSource = when (item.name) { + "配电箱" -> R.drawable.ic_menu_elec_box + "调压站" -> R.drawable.ic_menu_pressure_station + "非居民用户" -> R.drawable.ic_menu_no_people + "建筑消防" -> R.drawable.ic_menu_building + "有限空间作业" -> R.drawable.ic_menu_confined_spaces + else -> 0 } - binding.recyclerView.adapter = hiddenTroubleAdapter - binding.recyclerView.addItemDecoration(RecyclerViewItemOffsets(0, 7, 0, 7)) - hiddenTroubleAdapter.setOnItemClickedListener(object : - NormalRecyclerAdapter.OnItemClickedListener { - override fun onItemClicked( - position: Int, t: HiddenTroubleModel - ) { - //TODO 查看隐患目录详情 - } - }) + + viewHolder.setImageResource(R.id.imageView, imageSource) + .setText(R.id.textView, item.name) } } - return true + binding.recyclerView.adapter = menuAdapter + binding.recyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset) + ) + menuAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked(position: Int, t: DictionaryModel.DataModel) { + when (t.name) { + //TODO 未完 +// "配电箱" -> navigatePageTo<>() +// "调压站" -> navigatePageTo<>() +// "非居民用户" -> navigatePageTo<>() +// "建筑消防" -> navigatePageTo<>() +// "有限空间作业" -> navigatePageTo<>() + } + } + }) } override fun initViewBinding(): ActivityHiddenTroubleBinding { @@ -116,19 +73,7 @@ } override fun observeRequestState() { - hiddenTroubleViewModel.loadState.observe(this) { - when (it) { - LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...") - LoadState.Success -> { - LoadingDialogHub.dismiss() - } - LoadState.Fail -> { - LoadingDialogHub.dismiss() - "数据加载失败,请重试".show(this) - } - } - } } override fun setupTopBarLayout() { diff --git a/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt index dd63dd5..2f13051 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt @@ -78,7 +78,7 @@ override fun onItemClicked(position: Int, t: LibraryModel.DataModel) { when (position) { 0 -> navigatePageTo() - 1 -> navigatePageTo() + 1 -> navigatePageTo(sceneModels.toJson()) 2 -> navigatePageTo(sceneModels.toJson()) 3 -> navigatePageTo(t.id) else -> "未实现".show(context) diff --git a/app/src/main/res/drawable/ic_manifest_building.xml b/app/src/main/res/drawable/ic_manifest_building.xml deleted file mode 100644 index aa693dc..0000000 --- a/app/src/main/res/drawable/ic_manifest_building.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/ic_manifest_confined_spaces.xml b/app/src/main/res/drawable/ic_manifest_confined_spaces.xml deleted file mode 100644 index a20a542..0000000 --- a/app/src/main/res/drawable/ic_manifest_confined_spaces.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_manifest_elec_box.xml b/app/src/main/res/drawable/ic_manifest_elec_box.xml deleted file mode 100644 index 5f1bb55..0000000 --- a/app/src/main/res/drawable/ic_manifest_elec_box.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_manifest_no_people.xml b/app/src/main/res/drawable/ic_manifest_no_people.xml deleted file mode 100644 index 23648e0..0000000 --- a/app/src/main/res/drawable/ic_manifest_no_people.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - diff --git a/app/src/main/res/drawable/ic_manifest_pressure_station.xml b/app/src/main/res/drawable/ic_manifest_pressure_station.xml deleted file mode 100644 index b2b20af..0000000 --- a/app/src/main/res/drawable/ic_manifest_pressure_station.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_menu_building.xml b/app/src/main/res/drawable/ic_menu_building.xml new file mode 100644 index 0000000..aa693dc --- /dev/null +++ b/app/src/main/res/drawable/ic_menu_building.xml @@ -0,0 +1,12 @@ + + + + diff --git a/app/src/main/res/drawable/ic_menu_confined_spaces.xml b/app/src/main/res/drawable/ic_menu_confined_spaces.xml new file mode 100644 index 0000000..a20a542 --- /dev/null +++ b/app/src/main/res/drawable/ic_menu_confined_spaces.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_menu_elec_box.xml b/app/src/main/res/drawable/ic_menu_elec_box.xml new file mode 100644 index 0000000..5f1bb55 --- /dev/null +++ b/app/src/main/res/drawable/ic_menu_elec_box.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_menu_no_people.xml b/app/src/main/res/drawable/ic_menu_no_people.xml new file mode 100644 index 0000000..23648e0 --- /dev/null +++ b/app/src/main/res/drawable/ic_menu_no_people.xml @@ -0,0 +1,15 @@ + + + + + diff --git a/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt index c022594..3ffbf15 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt @@ -30,18 +30,18 @@ sceneJsonValue, object : TypeToken>() {}.type ) - val checkManifestAdapter = object : NormalRecyclerAdapter( + val menuAdapter = object : NormalRecyclerAdapter( R.layout.item_check_manifest_l, sceneModels ) { override fun convertView( viewHolder: ViewHolder, position: Int, item: DictionaryModel.DataModel ) { val imageSource = when (item.name) { - "配电箱" -> R.drawable.ic_manifest_elec_box - "调压站" -> R.drawable.ic_manifest_pressure_station - "非居民用户" -> R.drawable.ic_manifest_no_people - "建筑消防" -> R.drawable.ic_manifest_building - "有限空间作业" -> R.drawable.ic_manifest_confined_spaces + "配电箱" -> R.drawable.ic_menu_elec_box + "调压站" -> R.drawable.ic_menu_pressure_station + "非居民用户" -> R.drawable.ic_menu_no_people + "建筑消防" -> R.drawable.ic_menu_building + "有限空间作业" -> R.drawable.ic_menu_confined_spaces else -> 0 } @@ -49,11 +49,11 @@ .setText(R.id.textView, item.name) } } - binding.recyclerView.adapter = checkManifestAdapter + binding.recyclerView.adapter = menuAdapter binding.recyclerView.addItemDecoration( RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset) ) - checkManifestAdapter.setOnItemClickedListener(object : + menuAdapter.setOnItemClickedListener(object : NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked(position: Int, t: DictionaryModel.DataModel) { when (t.name) { diff --git a/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt index 571aaa7..70fa9ac 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt @@ -1,114 +1,71 @@ package com.casic.br.ar.app.view import android.os.Bundle -import android.os.Handler -import android.os.Message import android.view.View -import androidx.lifecycle.ViewModelProvider import com.casic.br.ar.app.R import com.casic.br.ar.app.databinding.ActivityHiddenTroubleBinding -import com.casic.br.ar.app.model.HiddenTroubleModel -import com.casic.br.ar.app.vm.HiddenTroubleViewModel +import com.casic.br.ar.app.model.DictionaryModel +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets -import com.pengxh.kt.lite.extensions.show -import com.pengxh.kt.lite.utils.LoadState -import com.pengxh.kt.lite.utils.LoadingDialogHub -import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.utils.Constant -class HiddenTroubleActivity : KotlinBaseActivity(), Handler.Callback { +class HiddenTroubleActivity : KotlinBaseActivity() { - private lateinit var weakReferenceHandler: WeakReferenceHandler - private lateinit var hiddenTroubleViewModel: HiddenTroubleViewModel - private lateinit var hiddenTroubleAdapter: NormalRecyclerAdapter - private var dataBeans: MutableList = ArrayList() - private var keywords = "" - private var page = 1 - private var isRefresh = false - private var isLoadMore = false + private val gson by lazy { Gson() } + private val marginOffset by lazy { 7.dp2px(this) } override fun initEvent() { - binding.searchButton.setOnClickListener { - keywords = binding.searchView.text.toString().trim() - } - binding.refreshLayout.setOnRefreshListener { - isRefresh = true - page = 1 - getHiddenTroubleMenuByPage() - } - - binding.refreshLayout.setOnLoadMoreListener { - isLoadMore = true - page++ - getHiddenTroubleMenuByPage() - } } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) - hiddenTroubleViewModel = ViewModelProvider(this)[HiddenTroubleViewModel::class.java] - hiddenTroubleViewModel.troublesResult.observe(this) { -// if (it.code == 200) { -// val dataRows = it.data?.rows!! -// when { -// isRefresh -> { -// hiddenTroubleAdapter.setRefreshData(dataRows) -// binding.refreshLayout.finishRefresh() -// isRefresh = false -// } -// -// isLoadMore -> { -// if (dataRows.size == 0) { -// "到底了,别拉了".show(this) -// } -// hiddenTroubleAdapter.setLoadMoreData(dataRows) -// binding.refreshLayout.finishLoadMore() -// isLoadMore = false -// } -// -// else -> { -// dataBeans = dataRows -// weakReferenceHandler.sendEmptyMessage(2024030402) -// } -// } -// } - } - } + val sceneJsonValue = intent.getStringExtra(Constant.INTENT_PARAM) + //转为实体类 + val sceneModels = gson.fromJson>( + sceneJsonValue, object : TypeToken>() {}.type + ) - private fun getHiddenTroubleMenuByPage() { - hiddenTroubleViewModel.getHiddenTroubleMenuByPage(this, keywords, page) - } - - override fun handleMessage(msg: Message): Boolean { - when (msg.what) { - 2024030402 -> { - hiddenTroubleAdapter = object : - NormalRecyclerAdapter( - R.layout.item_hidden_trouble, dataBeans - ) { - override fun convertView( - viewHolder: ViewHolder, position: Int, - item: HiddenTroubleModel - ) { - - } + val menuAdapter = object : NormalRecyclerAdapter( + R.layout.item_hidden_trouble_l, sceneModels + ) { + override fun convertView( + viewHolder: ViewHolder, position: Int, item: DictionaryModel.DataModel + ) { + val imageSource = when (item.name) { + "配电箱" -> R.drawable.ic_menu_elec_box + "调压站" -> R.drawable.ic_menu_pressure_station + "非居民用户" -> R.drawable.ic_menu_no_people + "建筑消防" -> R.drawable.ic_menu_building + "有限空间作业" -> R.drawable.ic_menu_confined_spaces + else -> 0 } - binding.recyclerView.adapter = hiddenTroubleAdapter - binding.recyclerView.addItemDecoration(RecyclerViewItemOffsets(0, 7, 0, 7)) - hiddenTroubleAdapter.setOnItemClickedListener(object : - NormalRecyclerAdapter.OnItemClickedListener { - override fun onItemClicked( - position: Int, t: HiddenTroubleModel - ) { - //TODO 查看隐患目录详情 - } - }) + + viewHolder.setImageResource(R.id.imageView, imageSource) + .setText(R.id.textView, item.name) } } - return true + binding.recyclerView.adapter = menuAdapter + binding.recyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset) + ) + menuAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked(position: Int, t: DictionaryModel.DataModel) { + when (t.name) { + //TODO 未完 +// "配电箱" -> navigatePageTo<>() +// "调压站" -> navigatePageTo<>() +// "非居民用户" -> navigatePageTo<>() +// "建筑消防" -> navigatePageTo<>() +// "有限空间作业" -> navigatePageTo<>() + } + } + }) } override fun initViewBinding(): ActivityHiddenTroubleBinding { @@ -116,19 +73,7 @@ } override fun observeRequestState() { - hiddenTroubleViewModel.loadState.observe(this) { - when (it) { - LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...") - LoadState.Success -> { - LoadingDialogHub.dismiss() - } - LoadState.Fail -> { - LoadingDialogHub.dismiss() - "数据加载失败,请重试".show(this) - } - } - } } override fun setupTopBarLayout() { diff --git a/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt index dd63dd5..2f13051 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt @@ -78,7 +78,7 @@ override fun onItemClicked(position: Int, t: LibraryModel.DataModel) { when (position) { 0 -> navigatePageTo() - 1 -> navigatePageTo() + 1 -> navigatePageTo(sceneModels.toJson()) 2 -> navigatePageTo(sceneModels.toJson()) 3 -> navigatePageTo(t.id) else -> "未实现".show(context) diff --git a/app/src/main/res/drawable/ic_manifest_building.xml b/app/src/main/res/drawable/ic_manifest_building.xml deleted file mode 100644 index aa693dc..0000000 --- a/app/src/main/res/drawable/ic_manifest_building.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/ic_manifest_confined_spaces.xml b/app/src/main/res/drawable/ic_manifest_confined_spaces.xml deleted file mode 100644 index a20a542..0000000 --- a/app/src/main/res/drawable/ic_manifest_confined_spaces.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_manifest_elec_box.xml b/app/src/main/res/drawable/ic_manifest_elec_box.xml deleted file mode 100644 index 5f1bb55..0000000 --- a/app/src/main/res/drawable/ic_manifest_elec_box.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_manifest_no_people.xml b/app/src/main/res/drawable/ic_manifest_no_people.xml deleted file mode 100644 index 23648e0..0000000 --- a/app/src/main/res/drawable/ic_manifest_no_people.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - diff --git a/app/src/main/res/drawable/ic_manifest_pressure_station.xml b/app/src/main/res/drawable/ic_manifest_pressure_station.xml deleted file mode 100644 index b2b20af..0000000 --- a/app/src/main/res/drawable/ic_manifest_pressure_station.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_menu_building.xml b/app/src/main/res/drawable/ic_menu_building.xml new file mode 100644 index 0000000..aa693dc --- /dev/null +++ b/app/src/main/res/drawable/ic_menu_building.xml @@ -0,0 +1,12 @@ + + + + diff --git a/app/src/main/res/drawable/ic_menu_confined_spaces.xml b/app/src/main/res/drawable/ic_menu_confined_spaces.xml new file mode 100644 index 0000000..a20a542 --- /dev/null +++ b/app/src/main/res/drawable/ic_menu_confined_spaces.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_menu_elec_box.xml b/app/src/main/res/drawable/ic_menu_elec_box.xml new file mode 100644 index 0000000..5f1bb55 --- /dev/null +++ b/app/src/main/res/drawable/ic_menu_elec_box.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_menu_no_people.xml b/app/src/main/res/drawable/ic_menu_no_people.xml new file mode 100644 index 0000000..23648e0 --- /dev/null +++ b/app/src/main/res/drawable/ic_menu_no_people.xml @@ -0,0 +1,15 @@ + + + + + diff --git a/app/src/main/res/drawable/ic_menu_pressure_station.xml b/app/src/main/res/drawable/ic_menu_pressure_station.xml new file mode 100644 index 0000000..b2b20af --- /dev/null +++ b/app/src/main/res/drawable/ic_menu_pressure_station.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt index c022594..3ffbf15 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/CheckManifestActivity.kt @@ -30,18 +30,18 @@ sceneJsonValue, object : TypeToken>() {}.type ) - val checkManifestAdapter = object : NormalRecyclerAdapter( + val menuAdapter = object : NormalRecyclerAdapter( R.layout.item_check_manifest_l, sceneModels ) { override fun convertView( viewHolder: ViewHolder, position: Int, item: DictionaryModel.DataModel ) { val imageSource = when (item.name) { - "配电箱" -> R.drawable.ic_manifest_elec_box - "调压站" -> R.drawable.ic_manifest_pressure_station - "非居民用户" -> R.drawable.ic_manifest_no_people - "建筑消防" -> R.drawable.ic_manifest_building - "有限空间作业" -> R.drawable.ic_manifest_confined_spaces + "配电箱" -> R.drawable.ic_menu_elec_box + "调压站" -> R.drawable.ic_menu_pressure_station + "非居民用户" -> R.drawable.ic_menu_no_people + "建筑消防" -> R.drawable.ic_menu_building + "有限空间作业" -> R.drawable.ic_menu_confined_spaces else -> 0 } @@ -49,11 +49,11 @@ .setText(R.id.textView, item.name) } } - binding.recyclerView.adapter = checkManifestAdapter + binding.recyclerView.adapter = menuAdapter binding.recyclerView.addItemDecoration( RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset) ) - checkManifestAdapter.setOnItemClickedListener(object : + menuAdapter.setOnItemClickedListener(object : NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked(position: Int, t: DictionaryModel.DataModel) { when (t.name) { diff --git a/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt index 571aaa7..70fa9ac 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/HiddenTroubleActivity.kt @@ -1,114 +1,71 @@ package com.casic.br.ar.app.view import android.os.Bundle -import android.os.Handler -import android.os.Message import android.view.View -import androidx.lifecycle.ViewModelProvider import com.casic.br.ar.app.R import com.casic.br.ar.app.databinding.ActivityHiddenTroubleBinding -import com.casic.br.ar.app.model.HiddenTroubleModel -import com.casic.br.ar.app.vm.HiddenTroubleViewModel +import com.casic.br.ar.app.model.DictionaryModel +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets -import com.pengxh.kt.lite.extensions.show -import com.pengxh.kt.lite.utils.LoadState -import com.pengxh.kt.lite.utils.LoadingDialogHub -import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.extensions.dp2px +import com.pengxh.kt.lite.utils.Constant -class HiddenTroubleActivity : KotlinBaseActivity(), Handler.Callback { +class HiddenTroubleActivity : KotlinBaseActivity() { - private lateinit var weakReferenceHandler: WeakReferenceHandler - private lateinit var hiddenTroubleViewModel: HiddenTroubleViewModel - private lateinit var hiddenTroubleAdapter: NormalRecyclerAdapter - private var dataBeans: MutableList = ArrayList() - private var keywords = "" - private var page = 1 - private var isRefresh = false - private var isLoadMore = false + private val gson by lazy { Gson() } + private val marginOffset by lazy { 7.dp2px(this) } override fun initEvent() { - binding.searchButton.setOnClickListener { - keywords = binding.searchView.text.toString().trim() - } - binding.refreshLayout.setOnRefreshListener { - isRefresh = true - page = 1 - getHiddenTroubleMenuByPage() - } - - binding.refreshLayout.setOnLoadMoreListener { - isLoadMore = true - page++ - getHiddenTroubleMenuByPage() - } } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) - hiddenTroubleViewModel = ViewModelProvider(this)[HiddenTroubleViewModel::class.java] - hiddenTroubleViewModel.troublesResult.observe(this) { -// if (it.code == 200) { -// val dataRows = it.data?.rows!! -// when { -// isRefresh -> { -// hiddenTroubleAdapter.setRefreshData(dataRows) -// binding.refreshLayout.finishRefresh() -// isRefresh = false -// } -// -// isLoadMore -> { -// if (dataRows.size == 0) { -// "到底了,别拉了".show(this) -// } -// hiddenTroubleAdapter.setLoadMoreData(dataRows) -// binding.refreshLayout.finishLoadMore() -// isLoadMore = false -// } -// -// else -> { -// dataBeans = dataRows -// weakReferenceHandler.sendEmptyMessage(2024030402) -// } -// } -// } - } - } + val sceneJsonValue = intent.getStringExtra(Constant.INTENT_PARAM) + //转为实体类 + val sceneModels = gson.fromJson>( + sceneJsonValue, object : TypeToken>() {}.type + ) - private fun getHiddenTroubleMenuByPage() { - hiddenTroubleViewModel.getHiddenTroubleMenuByPage(this, keywords, page) - } - - override fun handleMessage(msg: Message): Boolean { - when (msg.what) { - 2024030402 -> { - hiddenTroubleAdapter = object : - NormalRecyclerAdapter( - R.layout.item_hidden_trouble, dataBeans - ) { - override fun convertView( - viewHolder: ViewHolder, position: Int, - item: HiddenTroubleModel - ) { - - } + val menuAdapter = object : NormalRecyclerAdapter( + R.layout.item_hidden_trouble_l, sceneModels + ) { + override fun convertView( + viewHolder: ViewHolder, position: Int, item: DictionaryModel.DataModel + ) { + val imageSource = when (item.name) { + "配电箱" -> R.drawable.ic_menu_elec_box + "调压站" -> R.drawable.ic_menu_pressure_station + "非居民用户" -> R.drawable.ic_menu_no_people + "建筑消防" -> R.drawable.ic_menu_building + "有限空间作业" -> R.drawable.ic_menu_confined_spaces + else -> 0 } - binding.recyclerView.adapter = hiddenTroubleAdapter - binding.recyclerView.addItemDecoration(RecyclerViewItemOffsets(0, 7, 0, 7)) - hiddenTroubleAdapter.setOnItemClickedListener(object : - NormalRecyclerAdapter.OnItemClickedListener { - override fun onItemClicked( - position: Int, t: HiddenTroubleModel - ) { - //TODO 查看隐患目录详情 - } - }) + + viewHolder.setImageResource(R.id.imageView, imageSource) + .setText(R.id.textView, item.name) } } - return true + binding.recyclerView.adapter = menuAdapter + binding.recyclerView.addItemDecoration( + RecyclerViewItemOffsets(marginOffset, marginOffset, marginOffset, marginOffset) + ) + menuAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked(position: Int, t: DictionaryModel.DataModel) { + when (t.name) { + //TODO 未完 +// "配电箱" -> navigatePageTo<>() +// "调压站" -> navigatePageTo<>() +// "非居民用户" -> navigatePageTo<>() +// "建筑消防" -> navigatePageTo<>() +// "有限空间作业" -> navigatePageTo<>() + } + } + }) } override fun initViewBinding(): ActivityHiddenTroubleBinding { @@ -116,19 +73,7 @@ } override fun observeRequestState() { - hiddenTroubleViewModel.loadState.observe(this) { - when (it) { - LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...") - LoadState.Success -> { - LoadingDialogHub.dismiss() - } - LoadState.Fail -> { - LoadingDialogHub.dismiss() - "数据加载失败,请重试".show(this) - } - } - } } override fun setupTopBarLayout() { diff --git a/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt b/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt index dd63dd5..2f13051 100644 --- a/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt +++ b/app/src/main/java/com/casic/br/ar/app/view/LibraryActivity.kt @@ -78,7 +78,7 @@ override fun onItemClicked(position: Int, t: LibraryModel.DataModel) { when (position) { 0 -> navigatePageTo() - 1 -> navigatePageTo() + 1 -> navigatePageTo(sceneModels.toJson()) 2 -> navigatePageTo(sceneModels.toJson()) 3 -> navigatePageTo(t.id) else -> "未实现".show(context) diff --git a/app/src/main/res/drawable/ic_manifest_building.xml b/app/src/main/res/drawable/ic_manifest_building.xml deleted file mode 100644 index aa693dc..0000000 --- a/app/src/main/res/drawable/ic_manifest_building.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/ic_manifest_confined_spaces.xml b/app/src/main/res/drawable/ic_manifest_confined_spaces.xml deleted file mode 100644 index a20a542..0000000 --- a/app/src/main/res/drawable/ic_manifest_confined_spaces.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_manifest_elec_box.xml b/app/src/main/res/drawable/ic_manifest_elec_box.xml deleted file mode 100644 index 5f1bb55..0000000 --- a/app/src/main/res/drawable/ic_manifest_elec_box.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_manifest_no_people.xml b/app/src/main/res/drawable/ic_manifest_no_people.xml deleted file mode 100644 index 23648e0..0000000 --- a/app/src/main/res/drawable/ic_manifest_no_people.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - diff --git a/app/src/main/res/drawable/ic_manifest_pressure_station.xml b/app/src/main/res/drawable/ic_manifest_pressure_station.xml deleted file mode 100644 index b2b20af..0000000 --- a/app/src/main/res/drawable/ic_manifest_pressure_station.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_menu_building.xml b/app/src/main/res/drawable/ic_menu_building.xml new file mode 100644 index 0000000..aa693dc --- /dev/null +++ b/app/src/main/res/drawable/ic_menu_building.xml @@ -0,0 +1,12 @@ + + + + diff --git a/app/src/main/res/drawable/ic_menu_confined_spaces.xml b/app/src/main/res/drawable/ic_menu_confined_spaces.xml new file mode 100644 index 0000000..a20a542 --- /dev/null +++ b/app/src/main/res/drawable/ic_menu_confined_spaces.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_menu_elec_box.xml b/app/src/main/res/drawable/ic_menu_elec_box.xml new file mode 100644 index 0000000..5f1bb55 --- /dev/null +++ b/app/src/main/res/drawable/ic_menu_elec_box.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_menu_no_people.xml b/app/src/main/res/drawable/ic_menu_no_people.xml new file mode 100644 index 0000000..23648e0 --- /dev/null +++ b/app/src/main/res/drawable/ic_menu_no_people.xml @@ -0,0 +1,15 @@ + + + + + diff --git a/app/src/main/res/drawable/ic_menu_pressure_station.xml b/app/src/main/res/drawable/ic_menu_pressure_station.xml new file mode 100644 index 0000000..b2b20af --- /dev/null +++ b/app/src/main/res/drawable/ic_menu_pressure_station.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/layout/activity_hidden_trouble.xml b/app/src/main/res/layout/activity_hidden_trouble.xml index 5b2289a..46aaaff 100644 --- a/app/src/main/res/layout/activity_hidden_trouble.xml +++ b/app/src/main/res/layout/activity_hidden_trouble.xml @@ -1,76 +1,28 @@ - - + android:fontFamily="sans-serif-black" + android:padding="@dimen/dp_10" + android:text="隐患目录" + android:textColor="@color/white" + android:textSize="@dimen/sp_18" /> - - - - -