diff --git a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt index dd09cf5..96debfb 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt @@ -1,6 +1,5 @@ package com.casic.smarttube.fragment -import android.graphics.Color import android.os.Bundle import android.view.LayoutInflater import android.view.View @@ -15,18 +14,15 @@ import com.casic.smarttube.databinding.FragmentOverviewBinding import com.casic.smarttube.model.ProjectGroupModel import com.casic.smarttube.view.GroupDeviceActivity -import com.casic.smarttube.view.GroupDeviceMapActivity import com.casic.smarttube.vm.ProjectGroupViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment -import com.pengxh.kt.lite.divider.RecyclerViewItemDivider import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialog import com.pengxh.kt.lite.widget.EmptyView -import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertInputDialog class OverviewFragment : KotlinBaseFragment() { @@ -45,15 +41,7 @@ } override fun setupTopBarLayout() { - binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { - override fun onLeftClick() { - } - - override fun onRightClick() { - requireContext().navigatePageTo() - } - }) } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -102,7 +90,7 @@ .setText(R.id.totalDeviceNumView, item.totalDevice) .setText(R.id.inUseDeviceNumView, item.alive) .setText(R.id.notUseDeviceNumView, item.unalive) - .setOnClickListener(R.id.editGroupNameView) { + .setOnClickListener(R.id.groupNameView) { clickedPosition = position editGroupName(item) } @@ -112,15 +100,15 @@ "经纬度异常,无法查看具体位置" ) } else { - val point = - LatLonPoint(item.latGaode.toDouble(), item.lngGaode.toDouble()) + val point = LatLonPoint( + item.latGaode.toDouble(), item.lngGaode.toDouble() + ) val queryParam = RegeocodeQuery(point, 200f, GeocodeSearch.AMAP) geocoderSearch.getFromLocationAsyn(queryParam) geocoderSearch.setOnGeocodeSearchListener(object : GeocodeSearch.OnGeocodeSearchListener { override fun onRegeocodeSearched( - result: RegeocodeResult?, - rCode: Int + result: RegeocodeResult?, rCode: Int ) { if (rCode == 1000) { viewHolder.setText( @@ -131,8 +119,7 @@ } override fun onGeocodeSearched( - result: GeocodeResult?, - rCode: Int + result: GeocodeResult?, rCode: Int ) { } @@ -140,15 +127,11 @@ } } } - binding.recyclerView.addItemDecoration( - RecyclerViewItemDivider(0f, 0f, Color.LTGRAY) - ) binding.recyclerView.adapter = groupListAdapter groupListAdapter.setOnItemClickedListener(object : NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked( - position: Int, - item: ProjectGroupModel.DataModel + position: Int, item: ProjectGroupModel.DataModel ) { requireContext().navigatePageTo(item.groupId) } diff --git a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt index dd09cf5..96debfb 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt @@ -1,6 +1,5 @@ package com.casic.smarttube.fragment -import android.graphics.Color import android.os.Bundle import android.view.LayoutInflater import android.view.View @@ -15,18 +14,15 @@ import com.casic.smarttube.databinding.FragmentOverviewBinding import com.casic.smarttube.model.ProjectGroupModel import com.casic.smarttube.view.GroupDeviceActivity -import com.casic.smarttube.view.GroupDeviceMapActivity import com.casic.smarttube.vm.ProjectGroupViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment -import com.pengxh.kt.lite.divider.RecyclerViewItemDivider import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialog import com.pengxh.kt.lite.widget.EmptyView -import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertInputDialog class OverviewFragment : KotlinBaseFragment() { @@ -45,15 +41,7 @@ } override fun setupTopBarLayout() { - binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { - override fun onLeftClick() { - } - - override fun onRightClick() { - requireContext().navigatePageTo() - } - }) } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -102,7 +90,7 @@ .setText(R.id.totalDeviceNumView, item.totalDevice) .setText(R.id.inUseDeviceNumView, item.alive) .setText(R.id.notUseDeviceNumView, item.unalive) - .setOnClickListener(R.id.editGroupNameView) { + .setOnClickListener(R.id.groupNameView) { clickedPosition = position editGroupName(item) } @@ -112,15 +100,15 @@ "经纬度异常,无法查看具体位置" ) } else { - val point = - LatLonPoint(item.latGaode.toDouble(), item.lngGaode.toDouble()) + val point = LatLonPoint( + item.latGaode.toDouble(), item.lngGaode.toDouble() + ) val queryParam = RegeocodeQuery(point, 200f, GeocodeSearch.AMAP) geocoderSearch.getFromLocationAsyn(queryParam) geocoderSearch.setOnGeocodeSearchListener(object : GeocodeSearch.OnGeocodeSearchListener { override fun onRegeocodeSearched( - result: RegeocodeResult?, - rCode: Int + result: RegeocodeResult?, rCode: Int ) { if (rCode == 1000) { viewHolder.setText( @@ -131,8 +119,7 @@ } override fun onGeocodeSearched( - result: GeocodeResult?, - rCode: Int + result: GeocodeResult?, rCode: Int ) { } @@ -140,15 +127,11 @@ } } } - binding.recyclerView.addItemDecoration( - RecyclerViewItemDivider(0f, 0f, Color.LTGRAY) - ) binding.recyclerView.adapter = groupListAdapter groupListAdapter.setOnItemClickedListener(object : NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked( - position: Int, - item: ProjectGroupModel.DataModel + position: Int, item: ProjectGroupModel.DataModel ) { requireContext().navigatePageTo(item.groupId) } diff --git a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt index dd3735d..54cac79 100644 --- a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt @@ -35,9 +35,13 @@ ) } - val DEVICE_OPERATE_IMAGES = - intArrayOf(R.drawable.ic_order, R.drawable.ic_delete_white, R.drawable.ic_delete_white) - val DEVICE_OPERATE_TITLES = arrayOf("浓度排序", "全部删除", "批量删除") + val DEVICE_OPERATE_IMAGES = intArrayOf( + R.drawable.ic_map, + R.drawable.ic_order, + R.drawable.ic_delete_white, + R.drawable.ic_delete_white + ) + val DEVICE_OPERATE_TITLES = arrayOf("地图分布", "浓度排序", "全部删除", "批量删除") /** * ============================================================================================= diff --git a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt index dd09cf5..96debfb 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt @@ -1,6 +1,5 @@ package com.casic.smarttube.fragment -import android.graphics.Color import android.os.Bundle import android.view.LayoutInflater import android.view.View @@ -15,18 +14,15 @@ import com.casic.smarttube.databinding.FragmentOverviewBinding import com.casic.smarttube.model.ProjectGroupModel import com.casic.smarttube.view.GroupDeviceActivity -import com.casic.smarttube.view.GroupDeviceMapActivity import com.casic.smarttube.vm.ProjectGroupViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment -import com.pengxh.kt.lite.divider.RecyclerViewItemDivider import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialog import com.pengxh.kt.lite.widget.EmptyView -import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertInputDialog class OverviewFragment : KotlinBaseFragment() { @@ -45,15 +41,7 @@ } override fun setupTopBarLayout() { - binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { - override fun onLeftClick() { - } - - override fun onRightClick() { - requireContext().navigatePageTo() - } - }) } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -102,7 +90,7 @@ .setText(R.id.totalDeviceNumView, item.totalDevice) .setText(R.id.inUseDeviceNumView, item.alive) .setText(R.id.notUseDeviceNumView, item.unalive) - .setOnClickListener(R.id.editGroupNameView) { + .setOnClickListener(R.id.groupNameView) { clickedPosition = position editGroupName(item) } @@ -112,15 +100,15 @@ "经纬度异常,无法查看具体位置" ) } else { - val point = - LatLonPoint(item.latGaode.toDouble(), item.lngGaode.toDouble()) + val point = LatLonPoint( + item.latGaode.toDouble(), item.lngGaode.toDouble() + ) val queryParam = RegeocodeQuery(point, 200f, GeocodeSearch.AMAP) geocoderSearch.getFromLocationAsyn(queryParam) geocoderSearch.setOnGeocodeSearchListener(object : GeocodeSearch.OnGeocodeSearchListener { override fun onRegeocodeSearched( - result: RegeocodeResult?, - rCode: Int + result: RegeocodeResult?, rCode: Int ) { if (rCode == 1000) { viewHolder.setText( @@ -131,8 +119,7 @@ } override fun onGeocodeSearched( - result: GeocodeResult?, - rCode: Int + result: GeocodeResult?, rCode: Int ) { } @@ -140,15 +127,11 @@ } } } - binding.recyclerView.addItemDecoration( - RecyclerViewItemDivider(0f, 0f, Color.LTGRAY) - ) binding.recyclerView.adapter = groupListAdapter groupListAdapter.setOnItemClickedListener(object : NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked( - position: Int, - item: ProjectGroupModel.DataModel + position: Int, item: ProjectGroupModel.DataModel ) { requireContext().navigatePageTo(item.groupId) } diff --git a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt index dd3735d..54cac79 100644 --- a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt @@ -35,9 +35,13 @@ ) } - val DEVICE_OPERATE_IMAGES = - intArrayOf(R.drawable.ic_order, R.drawable.ic_delete_white, R.drawable.ic_delete_white) - val DEVICE_OPERATE_TITLES = arrayOf("浓度排序", "全部删除", "批量删除") + val DEVICE_OPERATE_IMAGES = intArrayOf( + R.drawable.ic_map, + R.drawable.ic_order, + R.drawable.ic_delete_white, + R.drawable.ic_delete_white + ) + val DEVICE_OPERATE_TITLES = arrayOf("地图分布", "浓度排序", "全部删除", "批量删除") /** * ============================================================================================= diff --git a/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt b/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt index b977427..f2e7692 100644 --- a/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt @@ -15,7 +15,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, true, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { override fun onLeftClick() { finish() diff --git a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt index dd09cf5..96debfb 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt @@ -1,6 +1,5 @@ package com.casic.smarttube.fragment -import android.graphics.Color import android.os.Bundle import android.view.LayoutInflater import android.view.View @@ -15,18 +14,15 @@ import com.casic.smarttube.databinding.FragmentOverviewBinding import com.casic.smarttube.model.ProjectGroupModel import com.casic.smarttube.view.GroupDeviceActivity -import com.casic.smarttube.view.GroupDeviceMapActivity import com.casic.smarttube.vm.ProjectGroupViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment -import com.pengxh.kt.lite.divider.RecyclerViewItemDivider import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialog import com.pengxh.kt.lite.widget.EmptyView -import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertInputDialog class OverviewFragment : KotlinBaseFragment() { @@ -45,15 +41,7 @@ } override fun setupTopBarLayout() { - binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { - override fun onLeftClick() { - } - - override fun onRightClick() { - requireContext().navigatePageTo() - } - }) } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -102,7 +90,7 @@ .setText(R.id.totalDeviceNumView, item.totalDevice) .setText(R.id.inUseDeviceNumView, item.alive) .setText(R.id.notUseDeviceNumView, item.unalive) - .setOnClickListener(R.id.editGroupNameView) { + .setOnClickListener(R.id.groupNameView) { clickedPosition = position editGroupName(item) } @@ -112,15 +100,15 @@ "经纬度异常,无法查看具体位置" ) } else { - val point = - LatLonPoint(item.latGaode.toDouble(), item.lngGaode.toDouble()) + val point = LatLonPoint( + item.latGaode.toDouble(), item.lngGaode.toDouble() + ) val queryParam = RegeocodeQuery(point, 200f, GeocodeSearch.AMAP) geocoderSearch.getFromLocationAsyn(queryParam) geocoderSearch.setOnGeocodeSearchListener(object : GeocodeSearch.OnGeocodeSearchListener { override fun onRegeocodeSearched( - result: RegeocodeResult?, - rCode: Int + result: RegeocodeResult?, rCode: Int ) { if (rCode == 1000) { viewHolder.setText( @@ -131,8 +119,7 @@ } override fun onGeocodeSearched( - result: GeocodeResult?, - rCode: Int + result: GeocodeResult?, rCode: Int ) { } @@ -140,15 +127,11 @@ } } } - binding.recyclerView.addItemDecoration( - RecyclerViewItemDivider(0f, 0f, Color.LTGRAY) - ) binding.recyclerView.adapter = groupListAdapter groupListAdapter.setOnItemClickedListener(object : NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked( - position: Int, - item: ProjectGroupModel.DataModel + position: Int, item: ProjectGroupModel.DataModel ) { requireContext().navigatePageTo(item.groupId) } diff --git a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt index dd3735d..54cac79 100644 --- a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt @@ -35,9 +35,13 @@ ) } - val DEVICE_OPERATE_IMAGES = - intArrayOf(R.drawable.ic_order, R.drawable.ic_delete_white, R.drawable.ic_delete_white) - val DEVICE_OPERATE_TITLES = arrayOf("浓度排序", "全部删除", "批量删除") + val DEVICE_OPERATE_IMAGES = intArrayOf( + R.drawable.ic_map, + R.drawable.ic_order, + R.drawable.ic_delete_white, + R.drawable.ic_delete_white + ) + val DEVICE_OPERATE_TITLES = arrayOf("地图分布", "浓度排序", "全部删除", "批量删除") /** * ============================================================================================= diff --git a/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt b/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt index b977427..f2e7692 100644 --- a/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt @@ -15,7 +15,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, true, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { override fun onLeftClick() { finish() diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt index 3e98725..a2ed62a 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt @@ -112,11 +112,20 @@ LocaleConstant.DEVICE_OPERATE_IMAGES[2], LocaleConstant.DEVICE_OPERATE_TITLES[2] ) ) + add( + EasyPopupWindow.MenuItem( + LocaleConstant.DEVICE_OPERATE_IMAGES[3], LocaleConstant.DEVICE_OPERATE_TITLES[3] + ) + ) } easyPopupWindow.set(menuItems, object : EasyPopupWindow.OnPopupWindowClickListener { override fun onPopupItemClicked(position: Int) { when (position) { 0 -> { + navigatePageTo(groupId) + } + + 1 -> { order = if (order == 0) { 1 } else { @@ -126,7 +135,7 @@ getDeviceListByPage() } - 1 -> { + 2 -> { AlertControlDialog.Builder().setContext(context).setTitle("提示") .setMessage("删除后将无法恢复,是否继续?") .setNegativeButton("容我想想").setPositiveButton("已经想好") @@ -149,7 +158,7 @@ }).build().show() } - 2 -> { + 3 -> { MultiSelectDialog.Builder().setContext(this@GroupDeviceActivity) .setTitle("选择设备").setDataSource(dataRows) .setNegativeButton("取消").setPositiveButton("选好了") diff --git a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt index dd09cf5..96debfb 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt @@ -1,6 +1,5 @@ package com.casic.smarttube.fragment -import android.graphics.Color import android.os.Bundle import android.view.LayoutInflater import android.view.View @@ -15,18 +14,15 @@ import com.casic.smarttube.databinding.FragmentOverviewBinding import com.casic.smarttube.model.ProjectGroupModel import com.casic.smarttube.view.GroupDeviceActivity -import com.casic.smarttube.view.GroupDeviceMapActivity import com.casic.smarttube.vm.ProjectGroupViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment -import com.pengxh.kt.lite.divider.RecyclerViewItemDivider import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialog import com.pengxh.kt.lite.widget.EmptyView -import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertInputDialog class OverviewFragment : KotlinBaseFragment() { @@ -45,15 +41,7 @@ } override fun setupTopBarLayout() { - binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { - override fun onLeftClick() { - } - - override fun onRightClick() { - requireContext().navigatePageTo() - } - }) } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -102,7 +90,7 @@ .setText(R.id.totalDeviceNumView, item.totalDevice) .setText(R.id.inUseDeviceNumView, item.alive) .setText(R.id.notUseDeviceNumView, item.unalive) - .setOnClickListener(R.id.editGroupNameView) { + .setOnClickListener(R.id.groupNameView) { clickedPosition = position editGroupName(item) } @@ -112,15 +100,15 @@ "经纬度异常,无法查看具体位置" ) } else { - val point = - LatLonPoint(item.latGaode.toDouble(), item.lngGaode.toDouble()) + val point = LatLonPoint( + item.latGaode.toDouble(), item.lngGaode.toDouble() + ) val queryParam = RegeocodeQuery(point, 200f, GeocodeSearch.AMAP) geocoderSearch.getFromLocationAsyn(queryParam) geocoderSearch.setOnGeocodeSearchListener(object : GeocodeSearch.OnGeocodeSearchListener { override fun onRegeocodeSearched( - result: RegeocodeResult?, - rCode: Int + result: RegeocodeResult?, rCode: Int ) { if (rCode == 1000) { viewHolder.setText( @@ -131,8 +119,7 @@ } override fun onGeocodeSearched( - result: GeocodeResult?, - rCode: Int + result: GeocodeResult?, rCode: Int ) { } @@ -140,15 +127,11 @@ } } } - binding.recyclerView.addItemDecoration( - RecyclerViewItemDivider(0f, 0f, Color.LTGRAY) - ) binding.recyclerView.adapter = groupListAdapter groupListAdapter.setOnItemClickedListener(object : NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked( - position: Int, - item: ProjectGroupModel.DataModel + position: Int, item: ProjectGroupModel.DataModel ) { requireContext().navigatePageTo(item.groupId) } diff --git a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt index dd3735d..54cac79 100644 --- a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt @@ -35,9 +35,13 @@ ) } - val DEVICE_OPERATE_IMAGES = - intArrayOf(R.drawable.ic_order, R.drawable.ic_delete_white, R.drawable.ic_delete_white) - val DEVICE_OPERATE_TITLES = arrayOf("浓度排序", "全部删除", "批量删除") + val DEVICE_OPERATE_IMAGES = intArrayOf( + R.drawable.ic_map, + R.drawable.ic_order, + R.drawable.ic_delete_white, + R.drawable.ic_delete_white + ) + val DEVICE_OPERATE_TITLES = arrayOf("地图分布", "浓度排序", "全部删除", "批量删除") /** * ============================================================================================= diff --git a/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt b/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt index b977427..f2e7692 100644 --- a/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt @@ -15,7 +15,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, true, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { override fun onLeftClick() { finish() diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt index 3e98725..a2ed62a 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt @@ -112,11 +112,20 @@ LocaleConstant.DEVICE_OPERATE_IMAGES[2], LocaleConstant.DEVICE_OPERATE_TITLES[2] ) ) + add( + EasyPopupWindow.MenuItem( + LocaleConstant.DEVICE_OPERATE_IMAGES[3], LocaleConstant.DEVICE_OPERATE_TITLES[3] + ) + ) } easyPopupWindow.set(menuItems, object : EasyPopupWindow.OnPopupWindowClickListener { override fun onPopupItemClicked(position: Int) { when (position) { 0 -> { + navigatePageTo(groupId) + } + + 1 -> { order = if (order == 0) { 1 } else { @@ -126,7 +135,7 @@ getDeviceListByPage() } - 1 -> { + 2 -> { AlertControlDialog.Builder().setContext(context).setTitle("提示") .setMessage("删除后将无法恢复,是否继续?") .setNegativeButton("容我想想").setPositiveButton("已经想好") @@ -149,7 +158,7 @@ }).build().show() } - 2 -> { + 3 -> { MultiSelectDialog.Builder().setContext(this@GroupDeviceActivity) .setTitle("选择设备").setDataSource(dataRows) .setNegativeButton("取消").setPositiveButton("选好了") diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt index c33c40e..75ad5c1 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt @@ -24,8 +24,11 @@ import com.casic.smarttube.model.MapDeviceModel import com.casic.smarttube.utils.RouteOnMap import com.casic.smarttube.vm.DeviceViewModel +import com.casic.smarttube.vm.ProjectGroupViewModel import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.wrapLine +import com.pengxh.kt.lite.utils.LiteKitConstant import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -36,6 +39,7 @@ private val context = this private val geocoderSearch by lazy { GeocodeSearch(this) } private lateinit var aMap: AMap + private lateinit var groupViewModel: ProjectGroupViewModel private lateinit var deviceViewModel: DeviceViewModel private var clickedMarker: Marker? = null @@ -70,13 +74,33 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { + val groupId = intent.getStringExtra(LiteKitConstant.INTENT_PARAM_KEY)!! + //地图初始化 initMap(savedInstanceState) - //默认显示所有设备 deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java] deviceViewModel.mapDeviceModel.observe(this) { if (it.code == 200) { + it.data.forEach { device -> + val lat = device.latGaode.toString() + val lng = device.lngGaode.toString() + if (lat.isNotBlank() && lng.isNotBlank()) { + val latitude = lat.toDouble() + val longitude = lng.toDouble() + if (CoordinateConverter.isAMapDataAvailable(latitude, longitude)) { + //缓存所有设备详情,点击Marker时候需要 + deviceModels.add(device) + } + } + } + } + } + deviceViewModel.getMapDeviceList() + + groupViewModel = ViewModelProvider(this)[ProjectGroupViewModel::class.java] + groupViewModel.groupDeviceModel.observe(this) { + if (it.code == 200) { val allMarkerOptions = ArrayList() val latitudeList = ArrayList() val longitudeList = ArrayList() @@ -84,20 +108,15 @@ val lat = device.latGaode.toString() val lng = device.lngGaode.toString() if (lat.isNotBlank() && lng.isNotBlank()) { - //返回true代表当前位置在大陆、港澳地区,反之不在 val latitude = lat.toDouble() val longitude = lng.toDouble() if (CoordinateConverter.isAMapDataAvailable(latitude, longitude)) { - //缓存所有设备详情,点击Marker时候需要 - deviceModels.add(device) //分别缓存经、纬度 latitudeList.add(latitude) longitudeList.add(longitude) //将所有设备信息转化缓存为Marker点 - allMarkerOptions.add( - MarkerOptions().position(LatLng(latitude, longitude)) - .title(device.devcode).snippet(device.modelName) - ) + val latLng = LatLng(latitude, longitude) + allMarkerOptions.add(MarkerOptions().position(latLng)) } } } @@ -112,7 +131,7 @@ aMap.animateCamera(cameraUpdate, 1500, null) } } - deviceViewModel.getMapDeviceList() + groupViewModel.getDeviceListByGroup(groupId) } override fun initEvent() { @@ -145,7 +164,6 @@ } - //获取视野内的marker 根据聚合算法合成自定义的marker 显示视野内的marker override fun onCameraChangeFinish(cameraPosition: CameraPosition?) { } @@ -216,14 +234,8 @@ override fun onRegeocodeSearched(result: RegeocodeResult?, rCode: Int) { if (rCode == 1000) { val address = result?.regeocodeAddress?.formatAddress - val temp = StringBuilder() - if (address!!.length > 16) { - temp.append(address.substring(0, 14)).append("\r\n") - .append(address.substring(16)) - } else { - temp.append(address) - } - locationView.text = String.format("详细位置: $temp") + locationView.text = + String.format("详细位置: ${address?.wrapLine(14)}") } } diff --git a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt index dd09cf5..96debfb 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt @@ -1,6 +1,5 @@ package com.casic.smarttube.fragment -import android.graphics.Color import android.os.Bundle import android.view.LayoutInflater import android.view.View @@ -15,18 +14,15 @@ import com.casic.smarttube.databinding.FragmentOverviewBinding import com.casic.smarttube.model.ProjectGroupModel import com.casic.smarttube.view.GroupDeviceActivity -import com.casic.smarttube.view.GroupDeviceMapActivity import com.casic.smarttube.vm.ProjectGroupViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment -import com.pengxh.kt.lite.divider.RecyclerViewItemDivider import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialog import com.pengxh.kt.lite.widget.EmptyView -import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertInputDialog class OverviewFragment : KotlinBaseFragment() { @@ -45,15 +41,7 @@ } override fun setupTopBarLayout() { - binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { - override fun onLeftClick() { - } - - override fun onRightClick() { - requireContext().navigatePageTo() - } - }) } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -102,7 +90,7 @@ .setText(R.id.totalDeviceNumView, item.totalDevice) .setText(R.id.inUseDeviceNumView, item.alive) .setText(R.id.notUseDeviceNumView, item.unalive) - .setOnClickListener(R.id.editGroupNameView) { + .setOnClickListener(R.id.groupNameView) { clickedPosition = position editGroupName(item) } @@ -112,15 +100,15 @@ "经纬度异常,无法查看具体位置" ) } else { - val point = - LatLonPoint(item.latGaode.toDouble(), item.lngGaode.toDouble()) + val point = LatLonPoint( + item.latGaode.toDouble(), item.lngGaode.toDouble() + ) val queryParam = RegeocodeQuery(point, 200f, GeocodeSearch.AMAP) geocoderSearch.getFromLocationAsyn(queryParam) geocoderSearch.setOnGeocodeSearchListener(object : GeocodeSearch.OnGeocodeSearchListener { override fun onRegeocodeSearched( - result: RegeocodeResult?, - rCode: Int + result: RegeocodeResult?, rCode: Int ) { if (rCode == 1000) { viewHolder.setText( @@ -131,8 +119,7 @@ } override fun onGeocodeSearched( - result: GeocodeResult?, - rCode: Int + result: GeocodeResult?, rCode: Int ) { } @@ -140,15 +127,11 @@ } } } - binding.recyclerView.addItemDecoration( - RecyclerViewItemDivider(0f, 0f, Color.LTGRAY) - ) binding.recyclerView.adapter = groupListAdapter groupListAdapter.setOnItemClickedListener(object : NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked( - position: Int, - item: ProjectGroupModel.DataModel + position: Int, item: ProjectGroupModel.DataModel ) { requireContext().navigatePageTo(item.groupId) } diff --git a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt index dd3735d..54cac79 100644 --- a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt @@ -35,9 +35,13 @@ ) } - val DEVICE_OPERATE_IMAGES = - intArrayOf(R.drawable.ic_order, R.drawable.ic_delete_white, R.drawable.ic_delete_white) - val DEVICE_OPERATE_TITLES = arrayOf("浓度排序", "全部删除", "批量删除") + val DEVICE_OPERATE_IMAGES = intArrayOf( + R.drawable.ic_map, + R.drawable.ic_order, + R.drawable.ic_delete_white, + R.drawable.ic_delete_white + ) + val DEVICE_OPERATE_TITLES = arrayOf("地图分布", "浓度排序", "全部删除", "批量删除") /** * ============================================================================================= diff --git a/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt b/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt index b977427..f2e7692 100644 --- a/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt @@ -15,7 +15,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, true, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { override fun onLeftClick() { finish() diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt index 3e98725..a2ed62a 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt @@ -112,11 +112,20 @@ LocaleConstant.DEVICE_OPERATE_IMAGES[2], LocaleConstant.DEVICE_OPERATE_TITLES[2] ) ) + add( + EasyPopupWindow.MenuItem( + LocaleConstant.DEVICE_OPERATE_IMAGES[3], LocaleConstant.DEVICE_OPERATE_TITLES[3] + ) + ) } easyPopupWindow.set(menuItems, object : EasyPopupWindow.OnPopupWindowClickListener { override fun onPopupItemClicked(position: Int) { when (position) { 0 -> { + navigatePageTo(groupId) + } + + 1 -> { order = if (order == 0) { 1 } else { @@ -126,7 +135,7 @@ getDeviceListByPage() } - 1 -> { + 2 -> { AlertControlDialog.Builder().setContext(context).setTitle("提示") .setMessage("删除后将无法恢复,是否继续?") .setNegativeButton("容我想想").setPositiveButton("已经想好") @@ -149,7 +158,7 @@ }).build().show() } - 2 -> { + 3 -> { MultiSelectDialog.Builder().setContext(this@GroupDeviceActivity) .setTitle("选择设备").setDataSource(dataRows) .setNegativeButton("取消").setPositiveButton("选好了") diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt index c33c40e..75ad5c1 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt @@ -24,8 +24,11 @@ import com.casic.smarttube.model.MapDeviceModel import com.casic.smarttube.utils.RouteOnMap import com.casic.smarttube.vm.DeviceViewModel +import com.casic.smarttube.vm.ProjectGroupViewModel import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.wrapLine +import com.pengxh.kt.lite.utils.LiteKitConstant import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -36,6 +39,7 @@ private val context = this private val geocoderSearch by lazy { GeocodeSearch(this) } private lateinit var aMap: AMap + private lateinit var groupViewModel: ProjectGroupViewModel private lateinit var deviceViewModel: DeviceViewModel private var clickedMarker: Marker? = null @@ -70,13 +74,33 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { + val groupId = intent.getStringExtra(LiteKitConstant.INTENT_PARAM_KEY)!! + //地图初始化 initMap(savedInstanceState) - //默认显示所有设备 deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java] deviceViewModel.mapDeviceModel.observe(this) { if (it.code == 200) { + it.data.forEach { device -> + val lat = device.latGaode.toString() + val lng = device.lngGaode.toString() + if (lat.isNotBlank() && lng.isNotBlank()) { + val latitude = lat.toDouble() + val longitude = lng.toDouble() + if (CoordinateConverter.isAMapDataAvailable(latitude, longitude)) { + //缓存所有设备详情,点击Marker时候需要 + deviceModels.add(device) + } + } + } + } + } + deviceViewModel.getMapDeviceList() + + groupViewModel = ViewModelProvider(this)[ProjectGroupViewModel::class.java] + groupViewModel.groupDeviceModel.observe(this) { + if (it.code == 200) { val allMarkerOptions = ArrayList() val latitudeList = ArrayList() val longitudeList = ArrayList() @@ -84,20 +108,15 @@ val lat = device.latGaode.toString() val lng = device.lngGaode.toString() if (lat.isNotBlank() && lng.isNotBlank()) { - //返回true代表当前位置在大陆、港澳地区,反之不在 val latitude = lat.toDouble() val longitude = lng.toDouble() if (CoordinateConverter.isAMapDataAvailable(latitude, longitude)) { - //缓存所有设备详情,点击Marker时候需要 - deviceModels.add(device) //分别缓存经、纬度 latitudeList.add(latitude) longitudeList.add(longitude) //将所有设备信息转化缓存为Marker点 - allMarkerOptions.add( - MarkerOptions().position(LatLng(latitude, longitude)) - .title(device.devcode).snippet(device.modelName) - ) + val latLng = LatLng(latitude, longitude) + allMarkerOptions.add(MarkerOptions().position(latLng)) } } } @@ -112,7 +131,7 @@ aMap.animateCamera(cameraUpdate, 1500, null) } } - deviceViewModel.getMapDeviceList() + groupViewModel.getDeviceListByGroup(groupId) } override fun initEvent() { @@ -145,7 +164,6 @@ } - //获取视野内的marker 根据聚合算法合成自定义的marker 显示视野内的marker override fun onCameraChangeFinish(cameraPosition: CameraPosition?) { } @@ -216,14 +234,8 @@ override fun onRegeocodeSearched(result: RegeocodeResult?, rCode: Int) { if (rCode == 1000) { val address = result?.regeocodeAddress?.formatAddress - val temp = StringBuilder() - if (address!!.length > 16) { - temp.append(address.substring(0, 14)).append("\r\n") - .append(address.substring(16)) - } else { - temp.append(address) - } - locationView.text = String.format("详细位置: $temp") + locationView.text = + String.format("详细位置: ${address?.wrapLine(14)}") } } diff --git a/app/src/main/res/drawable/ic_change_map.xml b/app/src/main/res/drawable/ic_change_map.xml deleted file mode 100644 index c567efa..0000000 --- a/app/src/main/res/drawable/ic_change_map.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt index dd09cf5..96debfb 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt @@ -1,6 +1,5 @@ package com.casic.smarttube.fragment -import android.graphics.Color import android.os.Bundle import android.view.LayoutInflater import android.view.View @@ -15,18 +14,15 @@ import com.casic.smarttube.databinding.FragmentOverviewBinding import com.casic.smarttube.model.ProjectGroupModel import com.casic.smarttube.view.GroupDeviceActivity -import com.casic.smarttube.view.GroupDeviceMapActivity import com.casic.smarttube.vm.ProjectGroupViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment -import com.pengxh.kt.lite.divider.RecyclerViewItemDivider import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialog import com.pengxh.kt.lite.widget.EmptyView -import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertInputDialog class OverviewFragment : KotlinBaseFragment() { @@ -45,15 +41,7 @@ } override fun setupTopBarLayout() { - binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { - override fun onLeftClick() { - } - - override fun onRightClick() { - requireContext().navigatePageTo() - } - }) } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -102,7 +90,7 @@ .setText(R.id.totalDeviceNumView, item.totalDevice) .setText(R.id.inUseDeviceNumView, item.alive) .setText(R.id.notUseDeviceNumView, item.unalive) - .setOnClickListener(R.id.editGroupNameView) { + .setOnClickListener(R.id.groupNameView) { clickedPosition = position editGroupName(item) } @@ -112,15 +100,15 @@ "经纬度异常,无法查看具体位置" ) } else { - val point = - LatLonPoint(item.latGaode.toDouble(), item.lngGaode.toDouble()) + val point = LatLonPoint( + item.latGaode.toDouble(), item.lngGaode.toDouble() + ) val queryParam = RegeocodeQuery(point, 200f, GeocodeSearch.AMAP) geocoderSearch.getFromLocationAsyn(queryParam) geocoderSearch.setOnGeocodeSearchListener(object : GeocodeSearch.OnGeocodeSearchListener { override fun onRegeocodeSearched( - result: RegeocodeResult?, - rCode: Int + result: RegeocodeResult?, rCode: Int ) { if (rCode == 1000) { viewHolder.setText( @@ -131,8 +119,7 @@ } override fun onGeocodeSearched( - result: GeocodeResult?, - rCode: Int + result: GeocodeResult?, rCode: Int ) { } @@ -140,15 +127,11 @@ } } } - binding.recyclerView.addItemDecoration( - RecyclerViewItemDivider(0f, 0f, Color.LTGRAY) - ) binding.recyclerView.adapter = groupListAdapter groupListAdapter.setOnItemClickedListener(object : NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked( - position: Int, - item: ProjectGroupModel.DataModel + position: Int, item: ProjectGroupModel.DataModel ) { requireContext().navigatePageTo(item.groupId) } diff --git a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt index dd3735d..54cac79 100644 --- a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt @@ -35,9 +35,13 @@ ) } - val DEVICE_OPERATE_IMAGES = - intArrayOf(R.drawable.ic_order, R.drawable.ic_delete_white, R.drawable.ic_delete_white) - val DEVICE_OPERATE_TITLES = arrayOf("浓度排序", "全部删除", "批量删除") + val DEVICE_OPERATE_IMAGES = intArrayOf( + R.drawable.ic_map, + R.drawable.ic_order, + R.drawable.ic_delete_white, + R.drawable.ic_delete_white + ) + val DEVICE_OPERATE_TITLES = arrayOf("地图分布", "浓度排序", "全部删除", "批量删除") /** * ============================================================================================= diff --git a/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt b/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt index b977427..f2e7692 100644 --- a/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt @@ -15,7 +15,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, true, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { override fun onLeftClick() { finish() diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt index 3e98725..a2ed62a 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt @@ -112,11 +112,20 @@ LocaleConstant.DEVICE_OPERATE_IMAGES[2], LocaleConstant.DEVICE_OPERATE_TITLES[2] ) ) + add( + EasyPopupWindow.MenuItem( + LocaleConstant.DEVICE_OPERATE_IMAGES[3], LocaleConstant.DEVICE_OPERATE_TITLES[3] + ) + ) } easyPopupWindow.set(menuItems, object : EasyPopupWindow.OnPopupWindowClickListener { override fun onPopupItemClicked(position: Int) { when (position) { 0 -> { + navigatePageTo(groupId) + } + + 1 -> { order = if (order == 0) { 1 } else { @@ -126,7 +135,7 @@ getDeviceListByPage() } - 1 -> { + 2 -> { AlertControlDialog.Builder().setContext(context).setTitle("提示") .setMessage("删除后将无法恢复,是否继续?") .setNegativeButton("容我想想").setPositiveButton("已经想好") @@ -149,7 +158,7 @@ }).build().show() } - 2 -> { + 3 -> { MultiSelectDialog.Builder().setContext(this@GroupDeviceActivity) .setTitle("选择设备").setDataSource(dataRows) .setNegativeButton("取消").setPositiveButton("选好了") diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt index c33c40e..75ad5c1 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt @@ -24,8 +24,11 @@ import com.casic.smarttube.model.MapDeviceModel import com.casic.smarttube.utils.RouteOnMap import com.casic.smarttube.vm.DeviceViewModel +import com.casic.smarttube.vm.ProjectGroupViewModel import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.wrapLine +import com.pengxh.kt.lite.utils.LiteKitConstant import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -36,6 +39,7 @@ private val context = this private val geocoderSearch by lazy { GeocodeSearch(this) } private lateinit var aMap: AMap + private lateinit var groupViewModel: ProjectGroupViewModel private lateinit var deviceViewModel: DeviceViewModel private var clickedMarker: Marker? = null @@ -70,13 +74,33 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { + val groupId = intent.getStringExtra(LiteKitConstant.INTENT_PARAM_KEY)!! + //地图初始化 initMap(savedInstanceState) - //默认显示所有设备 deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java] deviceViewModel.mapDeviceModel.observe(this) { if (it.code == 200) { + it.data.forEach { device -> + val lat = device.latGaode.toString() + val lng = device.lngGaode.toString() + if (lat.isNotBlank() && lng.isNotBlank()) { + val latitude = lat.toDouble() + val longitude = lng.toDouble() + if (CoordinateConverter.isAMapDataAvailable(latitude, longitude)) { + //缓存所有设备详情,点击Marker时候需要 + deviceModels.add(device) + } + } + } + } + } + deviceViewModel.getMapDeviceList() + + groupViewModel = ViewModelProvider(this)[ProjectGroupViewModel::class.java] + groupViewModel.groupDeviceModel.observe(this) { + if (it.code == 200) { val allMarkerOptions = ArrayList() val latitudeList = ArrayList() val longitudeList = ArrayList() @@ -84,20 +108,15 @@ val lat = device.latGaode.toString() val lng = device.lngGaode.toString() if (lat.isNotBlank() && lng.isNotBlank()) { - //返回true代表当前位置在大陆、港澳地区,反之不在 val latitude = lat.toDouble() val longitude = lng.toDouble() if (CoordinateConverter.isAMapDataAvailable(latitude, longitude)) { - //缓存所有设备详情,点击Marker时候需要 - deviceModels.add(device) //分别缓存经、纬度 latitudeList.add(latitude) longitudeList.add(longitude) //将所有设备信息转化缓存为Marker点 - allMarkerOptions.add( - MarkerOptions().position(LatLng(latitude, longitude)) - .title(device.devcode).snippet(device.modelName) - ) + val latLng = LatLng(latitude, longitude) + allMarkerOptions.add(MarkerOptions().position(latLng)) } } } @@ -112,7 +131,7 @@ aMap.animateCamera(cameraUpdate, 1500, null) } } - deviceViewModel.getMapDeviceList() + groupViewModel.getDeviceListByGroup(groupId) } override fun initEvent() { @@ -145,7 +164,6 @@ } - //获取视野内的marker 根据聚合算法合成自定义的marker 显示视野内的marker override fun onCameraChangeFinish(cameraPosition: CameraPosition?) { } @@ -216,14 +234,8 @@ override fun onRegeocodeSearched(result: RegeocodeResult?, rCode: Int) { if (rCode == 1000) { val address = result?.regeocodeAddress?.formatAddress - val temp = StringBuilder() - if (address!!.length > 16) { - temp.append(address.substring(0, 14)).append("\r\n") - .append(address.substring(16)) - } else { - temp.append(address) - } - locationView.text = String.format("详细位置: $temp") + locationView.text = + String.format("详细位置: ${address?.wrapLine(14)}") } } diff --git a/app/src/main/res/drawable/ic_change_map.xml b/app/src/main/res/drawable/ic_change_map.xml deleted file mode 100644 index c567efa..0000000 --- a/app/src/main/res/drawable/ic_change_map.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_edit.xml b/app/src/main/res/drawable/ic_edit.xml new file mode 100644 index 0000000..de035a3 --- /dev/null +++ b/app/src/main/res/drawable/ic_edit.xml @@ -0,0 +1,12 @@ + + + + diff --git a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt index dd09cf5..96debfb 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt @@ -1,6 +1,5 @@ package com.casic.smarttube.fragment -import android.graphics.Color import android.os.Bundle import android.view.LayoutInflater import android.view.View @@ -15,18 +14,15 @@ import com.casic.smarttube.databinding.FragmentOverviewBinding import com.casic.smarttube.model.ProjectGroupModel import com.casic.smarttube.view.GroupDeviceActivity -import com.casic.smarttube.view.GroupDeviceMapActivity import com.casic.smarttube.vm.ProjectGroupViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment -import com.pengxh.kt.lite.divider.RecyclerViewItemDivider import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialog import com.pengxh.kt.lite.widget.EmptyView -import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertInputDialog class OverviewFragment : KotlinBaseFragment() { @@ -45,15 +41,7 @@ } override fun setupTopBarLayout() { - binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { - override fun onLeftClick() { - } - - override fun onRightClick() { - requireContext().navigatePageTo() - } - }) } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -102,7 +90,7 @@ .setText(R.id.totalDeviceNumView, item.totalDevice) .setText(R.id.inUseDeviceNumView, item.alive) .setText(R.id.notUseDeviceNumView, item.unalive) - .setOnClickListener(R.id.editGroupNameView) { + .setOnClickListener(R.id.groupNameView) { clickedPosition = position editGroupName(item) } @@ -112,15 +100,15 @@ "经纬度异常,无法查看具体位置" ) } else { - val point = - LatLonPoint(item.latGaode.toDouble(), item.lngGaode.toDouble()) + val point = LatLonPoint( + item.latGaode.toDouble(), item.lngGaode.toDouble() + ) val queryParam = RegeocodeQuery(point, 200f, GeocodeSearch.AMAP) geocoderSearch.getFromLocationAsyn(queryParam) geocoderSearch.setOnGeocodeSearchListener(object : GeocodeSearch.OnGeocodeSearchListener { override fun onRegeocodeSearched( - result: RegeocodeResult?, - rCode: Int + result: RegeocodeResult?, rCode: Int ) { if (rCode == 1000) { viewHolder.setText( @@ -131,8 +119,7 @@ } override fun onGeocodeSearched( - result: GeocodeResult?, - rCode: Int + result: GeocodeResult?, rCode: Int ) { } @@ -140,15 +127,11 @@ } } } - binding.recyclerView.addItemDecoration( - RecyclerViewItemDivider(0f, 0f, Color.LTGRAY) - ) binding.recyclerView.adapter = groupListAdapter groupListAdapter.setOnItemClickedListener(object : NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked( - position: Int, - item: ProjectGroupModel.DataModel + position: Int, item: ProjectGroupModel.DataModel ) { requireContext().navigatePageTo(item.groupId) } diff --git a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt index dd3735d..54cac79 100644 --- a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt @@ -35,9 +35,13 @@ ) } - val DEVICE_OPERATE_IMAGES = - intArrayOf(R.drawable.ic_order, R.drawable.ic_delete_white, R.drawable.ic_delete_white) - val DEVICE_OPERATE_TITLES = arrayOf("浓度排序", "全部删除", "批量删除") + val DEVICE_OPERATE_IMAGES = intArrayOf( + R.drawable.ic_map, + R.drawable.ic_order, + R.drawable.ic_delete_white, + R.drawable.ic_delete_white + ) + val DEVICE_OPERATE_TITLES = arrayOf("地图分布", "浓度排序", "全部删除", "批量删除") /** * ============================================================================================= diff --git a/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt b/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt index b977427..f2e7692 100644 --- a/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt @@ -15,7 +15,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, true, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { override fun onLeftClick() { finish() diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt index 3e98725..a2ed62a 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt @@ -112,11 +112,20 @@ LocaleConstant.DEVICE_OPERATE_IMAGES[2], LocaleConstant.DEVICE_OPERATE_TITLES[2] ) ) + add( + EasyPopupWindow.MenuItem( + LocaleConstant.DEVICE_OPERATE_IMAGES[3], LocaleConstant.DEVICE_OPERATE_TITLES[3] + ) + ) } easyPopupWindow.set(menuItems, object : EasyPopupWindow.OnPopupWindowClickListener { override fun onPopupItemClicked(position: Int) { when (position) { 0 -> { + navigatePageTo(groupId) + } + + 1 -> { order = if (order == 0) { 1 } else { @@ -126,7 +135,7 @@ getDeviceListByPage() } - 1 -> { + 2 -> { AlertControlDialog.Builder().setContext(context).setTitle("提示") .setMessage("删除后将无法恢复,是否继续?") .setNegativeButton("容我想想").setPositiveButton("已经想好") @@ -149,7 +158,7 @@ }).build().show() } - 2 -> { + 3 -> { MultiSelectDialog.Builder().setContext(this@GroupDeviceActivity) .setTitle("选择设备").setDataSource(dataRows) .setNegativeButton("取消").setPositiveButton("选好了") diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt index c33c40e..75ad5c1 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt @@ -24,8 +24,11 @@ import com.casic.smarttube.model.MapDeviceModel import com.casic.smarttube.utils.RouteOnMap import com.casic.smarttube.vm.DeviceViewModel +import com.casic.smarttube.vm.ProjectGroupViewModel import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.wrapLine +import com.pengxh.kt.lite.utils.LiteKitConstant import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -36,6 +39,7 @@ private val context = this private val geocoderSearch by lazy { GeocodeSearch(this) } private lateinit var aMap: AMap + private lateinit var groupViewModel: ProjectGroupViewModel private lateinit var deviceViewModel: DeviceViewModel private var clickedMarker: Marker? = null @@ -70,13 +74,33 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { + val groupId = intent.getStringExtra(LiteKitConstant.INTENT_PARAM_KEY)!! + //地图初始化 initMap(savedInstanceState) - //默认显示所有设备 deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java] deviceViewModel.mapDeviceModel.observe(this) { if (it.code == 200) { + it.data.forEach { device -> + val lat = device.latGaode.toString() + val lng = device.lngGaode.toString() + if (lat.isNotBlank() && lng.isNotBlank()) { + val latitude = lat.toDouble() + val longitude = lng.toDouble() + if (CoordinateConverter.isAMapDataAvailable(latitude, longitude)) { + //缓存所有设备详情,点击Marker时候需要 + deviceModels.add(device) + } + } + } + } + } + deviceViewModel.getMapDeviceList() + + groupViewModel = ViewModelProvider(this)[ProjectGroupViewModel::class.java] + groupViewModel.groupDeviceModel.observe(this) { + if (it.code == 200) { val allMarkerOptions = ArrayList() val latitudeList = ArrayList() val longitudeList = ArrayList() @@ -84,20 +108,15 @@ val lat = device.latGaode.toString() val lng = device.lngGaode.toString() if (lat.isNotBlank() && lng.isNotBlank()) { - //返回true代表当前位置在大陆、港澳地区,反之不在 val latitude = lat.toDouble() val longitude = lng.toDouble() if (CoordinateConverter.isAMapDataAvailable(latitude, longitude)) { - //缓存所有设备详情,点击Marker时候需要 - deviceModels.add(device) //分别缓存经、纬度 latitudeList.add(latitude) longitudeList.add(longitude) //将所有设备信息转化缓存为Marker点 - allMarkerOptions.add( - MarkerOptions().position(LatLng(latitude, longitude)) - .title(device.devcode).snippet(device.modelName) - ) + val latLng = LatLng(latitude, longitude) + allMarkerOptions.add(MarkerOptions().position(latLng)) } } } @@ -112,7 +131,7 @@ aMap.animateCamera(cameraUpdate, 1500, null) } } - deviceViewModel.getMapDeviceList() + groupViewModel.getDeviceListByGroup(groupId) } override fun initEvent() { @@ -145,7 +164,6 @@ } - //获取视野内的marker 根据聚合算法合成自定义的marker 显示视野内的marker override fun onCameraChangeFinish(cameraPosition: CameraPosition?) { } @@ -216,14 +234,8 @@ override fun onRegeocodeSearched(result: RegeocodeResult?, rCode: Int) { if (rCode == 1000) { val address = result?.regeocodeAddress?.formatAddress - val temp = StringBuilder() - if (address!!.length > 16) { - temp.append(address.substring(0, 14)).append("\r\n") - .append(address.substring(16)) - } else { - temp.append(address) - } - locationView.text = String.format("详细位置: $temp") + locationView.text = + String.format("详细位置: ${address?.wrapLine(14)}") } } diff --git a/app/src/main/res/drawable/ic_change_map.xml b/app/src/main/res/drawable/ic_change_map.xml deleted file mode 100644 index c567efa..0000000 --- a/app/src/main/res/drawable/ic_change_map.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_edit.xml b/app/src/main/res/drawable/ic_edit.xml new file mode 100644 index 0000000..de035a3 --- /dev/null +++ b/app/src/main/res/drawable/ic_edit.xml @@ -0,0 +1,12 @@ + + + + diff --git a/app/src/main/res/drawable/ic_map.xml b/app/src/main/res/drawable/ic_map.xml new file mode 100644 index 0000000..d02208d --- /dev/null +++ b/app/src/main/res/drawable/ic_map.xml @@ -0,0 +1,15 @@ + + + + + diff --git a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt index dd09cf5..96debfb 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt @@ -1,6 +1,5 @@ package com.casic.smarttube.fragment -import android.graphics.Color import android.os.Bundle import android.view.LayoutInflater import android.view.View @@ -15,18 +14,15 @@ import com.casic.smarttube.databinding.FragmentOverviewBinding import com.casic.smarttube.model.ProjectGroupModel import com.casic.smarttube.view.GroupDeviceActivity -import com.casic.smarttube.view.GroupDeviceMapActivity import com.casic.smarttube.vm.ProjectGroupViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment -import com.pengxh.kt.lite.divider.RecyclerViewItemDivider import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialog import com.pengxh.kt.lite.widget.EmptyView -import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertInputDialog class OverviewFragment : KotlinBaseFragment() { @@ -45,15 +41,7 @@ } override fun setupTopBarLayout() { - binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { - override fun onLeftClick() { - } - - override fun onRightClick() { - requireContext().navigatePageTo() - } - }) } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -102,7 +90,7 @@ .setText(R.id.totalDeviceNumView, item.totalDevice) .setText(R.id.inUseDeviceNumView, item.alive) .setText(R.id.notUseDeviceNumView, item.unalive) - .setOnClickListener(R.id.editGroupNameView) { + .setOnClickListener(R.id.groupNameView) { clickedPosition = position editGroupName(item) } @@ -112,15 +100,15 @@ "经纬度异常,无法查看具体位置" ) } else { - val point = - LatLonPoint(item.latGaode.toDouble(), item.lngGaode.toDouble()) + val point = LatLonPoint( + item.latGaode.toDouble(), item.lngGaode.toDouble() + ) val queryParam = RegeocodeQuery(point, 200f, GeocodeSearch.AMAP) geocoderSearch.getFromLocationAsyn(queryParam) geocoderSearch.setOnGeocodeSearchListener(object : GeocodeSearch.OnGeocodeSearchListener { override fun onRegeocodeSearched( - result: RegeocodeResult?, - rCode: Int + result: RegeocodeResult?, rCode: Int ) { if (rCode == 1000) { viewHolder.setText( @@ -131,8 +119,7 @@ } override fun onGeocodeSearched( - result: GeocodeResult?, - rCode: Int + result: GeocodeResult?, rCode: Int ) { } @@ -140,15 +127,11 @@ } } } - binding.recyclerView.addItemDecoration( - RecyclerViewItemDivider(0f, 0f, Color.LTGRAY) - ) binding.recyclerView.adapter = groupListAdapter groupListAdapter.setOnItemClickedListener(object : NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked( - position: Int, - item: ProjectGroupModel.DataModel + position: Int, item: ProjectGroupModel.DataModel ) { requireContext().navigatePageTo(item.groupId) } diff --git a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt index dd3735d..54cac79 100644 --- a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt @@ -35,9 +35,13 @@ ) } - val DEVICE_OPERATE_IMAGES = - intArrayOf(R.drawable.ic_order, R.drawable.ic_delete_white, R.drawable.ic_delete_white) - val DEVICE_OPERATE_TITLES = arrayOf("浓度排序", "全部删除", "批量删除") + val DEVICE_OPERATE_IMAGES = intArrayOf( + R.drawable.ic_map, + R.drawable.ic_order, + R.drawable.ic_delete_white, + R.drawable.ic_delete_white + ) + val DEVICE_OPERATE_TITLES = arrayOf("地图分布", "浓度排序", "全部删除", "批量删除") /** * ============================================================================================= diff --git a/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt b/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt index b977427..f2e7692 100644 --- a/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt @@ -15,7 +15,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, true, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { override fun onLeftClick() { finish() diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt index 3e98725..a2ed62a 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt @@ -112,11 +112,20 @@ LocaleConstant.DEVICE_OPERATE_IMAGES[2], LocaleConstant.DEVICE_OPERATE_TITLES[2] ) ) + add( + EasyPopupWindow.MenuItem( + LocaleConstant.DEVICE_OPERATE_IMAGES[3], LocaleConstant.DEVICE_OPERATE_TITLES[3] + ) + ) } easyPopupWindow.set(menuItems, object : EasyPopupWindow.OnPopupWindowClickListener { override fun onPopupItemClicked(position: Int) { when (position) { 0 -> { + navigatePageTo(groupId) + } + + 1 -> { order = if (order == 0) { 1 } else { @@ -126,7 +135,7 @@ getDeviceListByPage() } - 1 -> { + 2 -> { AlertControlDialog.Builder().setContext(context).setTitle("提示") .setMessage("删除后将无法恢复,是否继续?") .setNegativeButton("容我想想").setPositiveButton("已经想好") @@ -149,7 +158,7 @@ }).build().show() } - 2 -> { + 3 -> { MultiSelectDialog.Builder().setContext(this@GroupDeviceActivity) .setTitle("选择设备").setDataSource(dataRows) .setNegativeButton("取消").setPositiveButton("选好了") diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt index c33c40e..75ad5c1 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt @@ -24,8 +24,11 @@ import com.casic.smarttube.model.MapDeviceModel import com.casic.smarttube.utils.RouteOnMap import com.casic.smarttube.vm.DeviceViewModel +import com.casic.smarttube.vm.ProjectGroupViewModel import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.wrapLine +import com.pengxh.kt.lite.utils.LiteKitConstant import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -36,6 +39,7 @@ private val context = this private val geocoderSearch by lazy { GeocodeSearch(this) } private lateinit var aMap: AMap + private lateinit var groupViewModel: ProjectGroupViewModel private lateinit var deviceViewModel: DeviceViewModel private var clickedMarker: Marker? = null @@ -70,13 +74,33 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { + val groupId = intent.getStringExtra(LiteKitConstant.INTENT_PARAM_KEY)!! + //地图初始化 initMap(savedInstanceState) - //默认显示所有设备 deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java] deviceViewModel.mapDeviceModel.observe(this) { if (it.code == 200) { + it.data.forEach { device -> + val lat = device.latGaode.toString() + val lng = device.lngGaode.toString() + if (lat.isNotBlank() && lng.isNotBlank()) { + val latitude = lat.toDouble() + val longitude = lng.toDouble() + if (CoordinateConverter.isAMapDataAvailable(latitude, longitude)) { + //缓存所有设备详情,点击Marker时候需要 + deviceModels.add(device) + } + } + } + } + } + deviceViewModel.getMapDeviceList() + + groupViewModel = ViewModelProvider(this)[ProjectGroupViewModel::class.java] + groupViewModel.groupDeviceModel.observe(this) { + if (it.code == 200) { val allMarkerOptions = ArrayList() val latitudeList = ArrayList() val longitudeList = ArrayList() @@ -84,20 +108,15 @@ val lat = device.latGaode.toString() val lng = device.lngGaode.toString() if (lat.isNotBlank() && lng.isNotBlank()) { - //返回true代表当前位置在大陆、港澳地区,反之不在 val latitude = lat.toDouble() val longitude = lng.toDouble() if (CoordinateConverter.isAMapDataAvailable(latitude, longitude)) { - //缓存所有设备详情,点击Marker时候需要 - deviceModels.add(device) //分别缓存经、纬度 latitudeList.add(latitude) longitudeList.add(longitude) //将所有设备信息转化缓存为Marker点 - allMarkerOptions.add( - MarkerOptions().position(LatLng(latitude, longitude)) - .title(device.devcode).snippet(device.modelName) - ) + val latLng = LatLng(latitude, longitude) + allMarkerOptions.add(MarkerOptions().position(latLng)) } } } @@ -112,7 +131,7 @@ aMap.animateCamera(cameraUpdate, 1500, null) } } - deviceViewModel.getMapDeviceList() + groupViewModel.getDeviceListByGroup(groupId) } override fun initEvent() { @@ -145,7 +164,6 @@ } - //获取视野内的marker 根据聚合算法合成自定义的marker 显示视野内的marker override fun onCameraChangeFinish(cameraPosition: CameraPosition?) { } @@ -216,14 +234,8 @@ override fun onRegeocodeSearched(result: RegeocodeResult?, rCode: Int) { if (rCode == 1000) { val address = result?.regeocodeAddress?.formatAddress - val temp = StringBuilder() - if (address!!.length > 16) { - temp.append(address.substring(0, 14)).append("\r\n") - .append(address.substring(16)) - } else { - temp.append(address) - } - locationView.text = String.format("详细位置: $temp") + locationView.text = + String.format("详细位置: ${address?.wrapLine(14)}") } } diff --git a/app/src/main/res/drawable/ic_change_map.xml b/app/src/main/res/drawable/ic_change_map.xml deleted file mode 100644 index c567efa..0000000 --- a/app/src/main/res/drawable/ic_change_map.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_edit.xml b/app/src/main/res/drawable/ic_edit.xml new file mode 100644 index 0000000..de035a3 --- /dev/null +++ b/app/src/main/res/drawable/ic_edit.xml @@ -0,0 +1,12 @@ + + + + diff --git a/app/src/main/res/drawable/ic_map.xml b/app/src/main/res/drawable/ic_map.xml new file mode 100644 index 0000000..d02208d --- /dev/null +++ b/app/src/main/res/drawable/ic_map.xml @@ -0,0 +1,15 @@ + + + + + diff --git a/app/src/main/res/drawable/ic_refresh_white.xml b/app/src/main/res/drawable/ic_refresh_white.xml deleted file mode 100644 index b1cb46e..0000000 --- a/app/src/main/res/drawable/ic_refresh_white.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - diff --git a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt index dd09cf5..96debfb 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt @@ -1,6 +1,5 @@ package com.casic.smarttube.fragment -import android.graphics.Color import android.os.Bundle import android.view.LayoutInflater import android.view.View @@ -15,18 +14,15 @@ import com.casic.smarttube.databinding.FragmentOverviewBinding import com.casic.smarttube.model.ProjectGroupModel import com.casic.smarttube.view.GroupDeviceActivity -import com.casic.smarttube.view.GroupDeviceMapActivity import com.casic.smarttube.vm.ProjectGroupViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment -import com.pengxh.kt.lite.divider.RecyclerViewItemDivider import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialog import com.pengxh.kt.lite.widget.EmptyView -import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertInputDialog class OverviewFragment : KotlinBaseFragment() { @@ -45,15 +41,7 @@ } override fun setupTopBarLayout() { - binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { - override fun onLeftClick() { - } - - override fun onRightClick() { - requireContext().navigatePageTo() - } - }) } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -102,7 +90,7 @@ .setText(R.id.totalDeviceNumView, item.totalDevice) .setText(R.id.inUseDeviceNumView, item.alive) .setText(R.id.notUseDeviceNumView, item.unalive) - .setOnClickListener(R.id.editGroupNameView) { + .setOnClickListener(R.id.groupNameView) { clickedPosition = position editGroupName(item) } @@ -112,15 +100,15 @@ "经纬度异常,无法查看具体位置" ) } else { - val point = - LatLonPoint(item.latGaode.toDouble(), item.lngGaode.toDouble()) + val point = LatLonPoint( + item.latGaode.toDouble(), item.lngGaode.toDouble() + ) val queryParam = RegeocodeQuery(point, 200f, GeocodeSearch.AMAP) geocoderSearch.getFromLocationAsyn(queryParam) geocoderSearch.setOnGeocodeSearchListener(object : GeocodeSearch.OnGeocodeSearchListener { override fun onRegeocodeSearched( - result: RegeocodeResult?, - rCode: Int + result: RegeocodeResult?, rCode: Int ) { if (rCode == 1000) { viewHolder.setText( @@ -131,8 +119,7 @@ } override fun onGeocodeSearched( - result: GeocodeResult?, - rCode: Int + result: GeocodeResult?, rCode: Int ) { } @@ -140,15 +127,11 @@ } } } - binding.recyclerView.addItemDecoration( - RecyclerViewItemDivider(0f, 0f, Color.LTGRAY) - ) binding.recyclerView.adapter = groupListAdapter groupListAdapter.setOnItemClickedListener(object : NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked( - position: Int, - item: ProjectGroupModel.DataModel + position: Int, item: ProjectGroupModel.DataModel ) { requireContext().navigatePageTo(item.groupId) } diff --git a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt index dd3735d..54cac79 100644 --- a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt @@ -35,9 +35,13 @@ ) } - val DEVICE_OPERATE_IMAGES = - intArrayOf(R.drawable.ic_order, R.drawable.ic_delete_white, R.drawable.ic_delete_white) - val DEVICE_OPERATE_TITLES = arrayOf("浓度排序", "全部删除", "批量删除") + val DEVICE_OPERATE_IMAGES = intArrayOf( + R.drawable.ic_map, + R.drawable.ic_order, + R.drawable.ic_delete_white, + R.drawable.ic_delete_white + ) + val DEVICE_OPERATE_TITLES = arrayOf("地图分布", "浓度排序", "全部删除", "批量删除") /** * ============================================================================================= diff --git a/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt b/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt index b977427..f2e7692 100644 --- a/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt @@ -15,7 +15,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, true, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { override fun onLeftClick() { finish() diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt index 3e98725..a2ed62a 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt @@ -112,11 +112,20 @@ LocaleConstant.DEVICE_OPERATE_IMAGES[2], LocaleConstant.DEVICE_OPERATE_TITLES[2] ) ) + add( + EasyPopupWindow.MenuItem( + LocaleConstant.DEVICE_OPERATE_IMAGES[3], LocaleConstant.DEVICE_OPERATE_TITLES[3] + ) + ) } easyPopupWindow.set(menuItems, object : EasyPopupWindow.OnPopupWindowClickListener { override fun onPopupItemClicked(position: Int) { when (position) { 0 -> { + navigatePageTo(groupId) + } + + 1 -> { order = if (order == 0) { 1 } else { @@ -126,7 +135,7 @@ getDeviceListByPage() } - 1 -> { + 2 -> { AlertControlDialog.Builder().setContext(context).setTitle("提示") .setMessage("删除后将无法恢复,是否继续?") .setNegativeButton("容我想想").setPositiveButton("已经想好") @@ -149,7 +158,7 @@ }).build().show() } - 2 -> { + 3 -> { MultiSelectDialog.Builder().setContext(this@GroupDeviceActivity) .setTitle("选择设备").setDataSource(dataRows) .setNegativeButton("取消").setPositiveButton("选好了") diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt index c33c40e..75ad5c1 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt @@ -24,8 +24,11 @@ import com.casic.smarttube.model.MapDeviceModel import com.casic.smarttube.utils.RouteOnMap import com.casic.smarttube.vm.DeviceViewModel +import com.casic.smarttube.vm.ProjectGroupViewModel import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.wrapLine +import com.pengxh.kt.lite.utils.LiteKitConstant import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -36,6 +39,7 @@ private val context = this private val geocoderSearch by lazy { GeocodeSearch(this) } private lateinit var aMap: AMap + private lateinit var groupViewModel: ProjectGroupViewModel private lateinit var deviceViewModel: DeviceViewModel private var clickedMarker: Marker? = null @@ -70,13 +74,33 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { + val groupId = intent.getStringExtra(LiteKitConstant.INTENT_PARAM_KEY)!! + //地图初始化 initMap(savedInstanceState) - //默认显示所有设备 deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java] deviceViewModel.mapDeviceModel.observe(this) { if (it.code == 200) { + it.data.forEach { device -> + val lat = device.latGaode.toString() + val lng = device.lngGaode.toString() + if (lat.isNotBlank() && lng.isNotBlank()) { + val latitude = lat.toDouble() + val longitude = lng.toDouble() + if (CoordinateConverter.isAMapDataAvailable(latitude, longitude)) { + //缓存所有设备详情,点击Marker时候需要 + deviceModels.add(device) + } + } + } + } + } + deviceViewModel.getMapDeviceList() + + groupViewModel = ViewModelProvider(this)[ProjectGroupViewModel::class.java] + groupViewModel.groupDeviceModel.observe(this) { + if (it.code == 200) { val allMarkerOptions = ArrayList() val latitudeList = ArrayList() val longitudeList = ArrayList() @@ -84,20 +108,15 @@ val lat = device.latGaode.toString() val lng = device.lngGaode.toString() if (lat.isNotBlank() && lng.isNotBlank()) { - //返回true代表当前位置在大陆、港澳地区,反之不在 val latitude = lat.toDouble() val longitude = lng.toDouble() if (CoordinateConverter.isAMapDataAvailable(latitude, longitude)) { - //缓存所有设备详情,点击Marker时候需要 - deviceModels.add(device) //分别缓存经、纬度 latitudeList.add(latitude) longitudeList.add(longitude) //将所有设备信息转化缓存为Marker点 - allMarkerOptions.add( - MarkerOptions().position(LatLng(latitude, longitude)) - .title(device.devcode).snippet(device.modelName) - ) + val latLng = LatLng(latitude, longitude) + allMarkerOptions.add(MarkerOptions().position(latLng)) } } } @@ -112,7 +131,7 @@ aMap.animateCamera(cameraUpdate, 1500, null) } } - deviceViewModel.getMapDeviceList() + groupViewModel.getDeviceListByGroup(groupId) } override fun initEvent() { @@ -145,7 +164,6 @@ } - //获取视野内的marker 根据聚合算法合成自定义的marker 显示视野内的marker override fun onCameraChangeFinish(cameraPosition: CameraPosition?) { } @@ -216,14 +234,8 @@ override fun onRegeocodeSearched(result: RegeocodeResult?, rCode: Int) { if (rCode == 1000) { val address = result?.regeocodeAddress?.formatAddress - val temp = StringBuilder() - if (address!!.length > 16) { - temp.append(address.substring(0, 14)).append("\r\n") - .append(address.substring(16)) - } else { - temp.append(address) - } - locationView.text = String.format("详细位置: $temp") + locationView.text = + String.format("详细位置: ${address?.wrapLine(14)}") } } diff --git a/app/src/main/res/drawable/ic_change_map.xml b/app/src/main/res/drawable/ic_change_map.xml deleted file mode 100644 index c567efa..0000000 --- a/app/src/main/res/drawable/ic_change_map.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_edit.xml b/app/src/main/res/drawable/ic_edit.xml new file mode 100644 index 0000000..de035a3 --- /dev/null +++ b/app/src/main/res/drawable/ic_edit.xml @@ -0,0 +1,12 @@ + + + + diff --git a/app/src/main/res/drawable/ic_map.xml b/app/src/main/res/drawable/ic_map.xml new file mode 100644 index 0000000..d02208d --- /dev/null +++ b/app/src/main/res/drawable/ic_map.xml @@ -0,0 +1,15 @@ + + + + + diff --git a/app/src/main/res/drawable/ic_refresh_white.xml b/app/src/main/res/drawable/ic_refresh_white.xml deleted file mode 100644 index b1cb46e..0000000 --- a/app/src/main/res/drawable/ic_refresh_white.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - diff --git a/app/src/main/res/layout/activity_about_us.xml b/app/src/main/res/layout/activity_about_us.xml index f79825a..4a2d5c5 100644 --- a/app/src/main/res/layout/activity_about_us.xml +++ b/app/src/main/res/layout/activity_about_us.xml @@ -47,7 +47,6 @@ android:gravity="center" android:paddingVertical="@dimen/dp_3" android:text="版本信息:V1.0.0" - android:textColor="@color/mainTextColor" android:textSize="@dimen/sp_16" /> diff --git a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt index dd09cf5..96debfb 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt @@ -1,6 +1,5 @@ package com.casic.smarttube.fragment -import android.graphics.Color import android.os.Bundle import android.view.LayoutInflater import android.view.View @@ -15,18 +14,15 @@ import com.casic.smarttube.databinding.FragmentOverviewBinding import com.casic.smarttube.model.ProjectGroupModel import com.casic.smarttube.view.GroupDeviceActivity -import com.casic.smarttube.view.GroupDeviceMapActivity import com.casic.smarttube.vm.ProjectGroupViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment -import com.pengxh.kt.lite.divider.RecyclerViewItemDivider import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialog import com.pengxh.kt.lite.widget.EmptyView -import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertInputDialog class OverviewFragment : KotlinBaseFragment() { @@ -45,15 +41,7 @@ } override fun setupTopBarLayout() { - binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { - override fun onLeftClick() { - } - - override fun onRightClick() { - requireContext().navigatePageTo() - } - }) } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -102,7 +90,7 @@ .setText(R.id.totalDeviceNumView, item.totalDevice) .setText(R.id.inUseDeviceNumView, item.alive) .setText(R.id.notUseDeviceNumView, item.unalive) - .setOnClickListener(R.id.editGroupNameView) { + .setOnClickListener(R.id.groupNameView) { clickedPosition = position editGroupName(item) } @@ -112,15 +100,15 @@ "经纬度异常,无法查看具体位置" ) } else { - val point = - LatLonPoint(item.latGaode.toDouble(), item.lngGaode.toDouble()) + val point = LatLonPoint( + item.latGaode.toDouble(), item.lngGaode.toDouble() + ) val queryParam = RegeocodeQuery(point, 200f, GeocodeSearch.AMAP) geocoderSearch.getFromLocationAsyn(queryParam) geocoderSearch.setOnGeocodeSearchListener(object : GeocodeSearch.OnGeocodeSearchListener { override fun onRegeocodeSearched( - result: RegeocodeResult?, - rCode: Int + result: RegeocodeResult?, rCode: Int ) { if (rCode == 1000) { viewHolder.setText( @@ -131,8 +119,7 @@ } override fun onGeocodeSearched( - result: GeocodeResult?, - rCode: Int + result: GeocodeResult?, rCode: Int ) { } @@ -140,15 +127,11 @@ } } } - binding.recyclerView.addItemDecoration( - RecyclerViewItemDivider(0f, 0f, Color.LTGRAY) - ) binding.recyclerView.adapter = groupListAdapter groupListAdapter.setOnItemClickedListener(object : NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked( - position: Int, - item: ProjectGroupModel.DataModel + position: Int, item: ProjectGroupModel.DataModel ) { requireContext().navigatePageTo(item.groupId) } diff --git a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt index dd3735d..54cac79 100644 --- a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt @@ -35,9 +35,13 @@ ) } - val DEVICE_OPERATE_IMAGES = - intArrayOf(R.drawable.ic_order, R.drawable.ic_delete_white, R.drawable.ic_delete_white) - val DEVICE_OPERATE_TITLES = arrayOf("浓度排序", "全部删除", "批量删除") + val DEVICE_OPERATE_IMAGES = intArrayOf( + R.drawable.ic_map, + R.drawable.ic_order, + R.drawable.ic_delete_white, + R.drawable.ic_delete_white + ) + val DEVICE_OPERATE_TITLES = arrayOf("地图分布", "浓度排序", "全部删除", "批量删除") /** * ============================================================================================= diff --git a/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt b/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt index b977427..f2e7692 100644 --- a/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt @@ -15,7 +15,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, true, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { override fun onLeftClick() { finish() diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt index 3e98725..a2ed62a 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt @@ -112,11 +112,20 @@ LocaleConstant.DEVICE_OPERATE_IMAGES[2], LocaleConstant.DEVICE_OPERATE_TITLES[2] ) ) + add( + EasyPopupWindow.MenuItem( + LocaleConstant.DEVICE_OPERATE_IMAGES[3], LocaleConstant.DEVICE_OPERATE_TITLES[3] + ) + ) } easyPopupWindow.set(menuItems, object : EasyPopupWindow.OnPopupWindowClickListener { override fun onPopupItemClicked(position: Int) { when (position) { 0 -> { + navigatePageTo(groupId) + } + + 1 -> { order = if (order == 0) { 1 } else { @@ -126,7 +135,7 @@ getDeviceListByPage() } - 1 -> { + 2 -> { AlertControlDialog.Builder().setContext(context).setTitle("提示") .setMessage("删除后将无法恢复,是否继续?") .setNegativeButton("容我想想").setPositiveButton("已经想好") @@ -149,7 +158,7 @@ }).build().show() } - 2 -> { + 3 -> { MultiSelectDialog.Builder().setContext(this@GroupDeviceActivity) .setTitle("选择设备").setDataSource(dataRows) .setNegativeButton("取消").setPositiveButton("选好了") diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt index c33c40e..75ad5c1 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt @@ -24,8 +24,11 @@ import com.casic.smarttube.model.MapDeviceModel import com.casic.smarttube.utils.RouteOnMap import com.casic.smarttube.vm.DeviceViewModel +import com.casic.smarttube.vm.ProjectGroupViewModel import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.wrapLine +import com.pengxh.kt.lite.utils.LiteKitConstant import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -36,6 +39,7 @@ private val context = this private val geocoderSearch by lazy { GeocodeSearch(this) } private lateinit var aMap: AMap + private lateinit var groupViewModel: ProjectGroupViewModel private lateinit var deviceViewModel: DeviceViewModel private var clickedMarker: Marker? = null @@ -70,13 +74,33 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { + val groupId = intent.getStringExtra(LiteKitConstant.INTENT_PARAM_KEY)!! + //地图初始化 initMap(savedInstanceState) - //默认显示所有设备 deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java] deviceViewModel.mapDeviceModel.observe(this) { if (it.code == 200) { + it.data.forEach { device -> + val lat = device.latGaode.toString() + val lng = device.lngGaode.toString() + if (lat.isNotBlank() && lng.isNotBlank()) { + val latitude = lat.toDouble() + val longitude = lng.toDouble() + if (CoordinateConverter.isAMapDataAvailable(latitude, longitude)) { + //缓存所有设备详情,点击Marker时候需要 + deviceModels.add(device) + } + } + } + } + } + deviceViewModel.getMapDeviceList() + + groupViewModel = ViewModelProvider(this)[ProjectGroupViewModel::class.java] + groupViewModel.groupDeviceModel.observe(this) { + if (it.code == 200) { val allMarkerOptions = ArrayList() val latitudeList = ArrayList() val longitudeList = ArrayList() @@ -84,20 +108,15 @@ val lat = device.latGaode.toString() val lng = device.lngGaode.toString() if (lat.isNotBlank() && lng.isNotBlank()) { - //返回true代表当前位置在大陆、港澳地区,反之不在 val latitude = lat.toDouble() val longitude = lng.toDouble() if (CoordinateConverter.isAMapDataAvailable(latitude, longitude)) { - //缓存所有设备详情,点击Marker时候需要 - deviceModels.add(device) //分别缓存经、纬度 latitudeList.add(latitude) longitudeList.add(longitude) //将所有设备信息转化缓存为Marker点 - allMarkerOptions.add( - MarkerOptions().position(LatLng(latitude, longitude)) - .title(device.devcode).snippet(device.modelName) - ) + val latLng = LatLng(latitude, longitude) + allMarkerOptions.add(MarkerOptions().position(latLng)) } } } @@ -112,7 +131,7 @@ aMap.animateCamera(cameraUpdate, 1500, null) } } - deviceViewModel.getMapDeviceList() + groupViewModel.getDeviceListByGroup(groupId) } override fun initEvent() { @@ -145,7 +164,6 @@ } - //获取视野内的marker 根据聚合算法合成自定义的marker 显示视野内的marker override fun onCameraChangeFinish(cameraPosition: CameraPosition?) { } @@ -216,14 +234,8 @@ override fun onRegeocodeSearched(result: RegeocodeResult?, rCode: Int) { if (rCode == 1000) { val address = result?.regeocodeAddress?.formatAddress - val temp = StringBuilder() - if (address!!.length > 16) { - temp.append(address.substring(0, 14)).append("\r\n") - .append(address.substring(16)) - } else { - temp.append(address) - } - locationView.text = String.format("详细位置: $temp") + locationView.text = + String.format("详细位置: ${address?.wrapLine(14)}") } } diff --git a/app/src/main/res/drawable/ic_change_map.xml b/app/src/main/res/drawable/ic_change_map.xml deleted file mode 100644 index c567efa..0000000 --- a/app/src/main/res/drawable/ic_change_map.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_edit.xml b/app/src/main/res/drawable/ic_edit.xml new file mode 100644 index 0000000..de035a3 --- /dev/null +++ b/app/src/main/res/drawable/ic_edit.xml @@ -0,0 +1,12 @@ + + + + diff --git a/app/src/main/res/drawable/ic_map.xml b/app/src/main/res/drawable/ic_map.xml new file mode 100644 index 0000000..d02208d --- /dev/null +++ b/app/src/main/res/drawable/ic_map.xml @@ -0,0 +1,15 @@ + + + + + diff --git a/app/src/main/res/drawable/ic_refresh_white.xml b/app/src/main/res/drawable/ic_refresh_white.xml deleted file mode 100644 index b1cb46e..0000000 --- a/app/src/main/res/drawable/ic_refresh_white.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - diff --git a/app/src/main/res/layout/activity_about_us.xml b/app/src/main/res/layout/activity_about_us.xml index f79825a..4a2d5c5 100644 --- a/app/src/main/res/layout/activity_about_us.xml +++ b/app/src/main/res/layout/activity_about_us.xml @@ -47,7 +47,6 @@ android:gravity="center" android:paddingVertical="@dimen/dp_3" android:text="版本信息:V1.0.0" - android:textColor="@color/mainTextColor" android:textSize="@dimen/sp_16" /> diff --git a/app/src/main/res/layout/fragment_mine.xml b/app/src/main/res/layout/fragment_mine.xml index e035231..c0e40de 100644 --- a/app/src/main/res/layout/fragment_mine.xml +++ b/app/src/main/res/layout/fragment_mine.xml @@ -213,7 +213,6 @@ android:layout_marginEnd="@dimen/dp_10" android:autoLink="phone" android:text="010-68387447" - android:textColorLink="@color/mainThemeColor" android:textSize="@dimen/sp_16" /> diff --git a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt index dd09cf5..96debfb 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt @@ -1,6 +1,5 @@ package com.casic.smarttube.fragment -import android.graphics.Color import android.os.Bundle import android.view.LayoutInflater import android.view.View @@ -15,18 +14,15 @@ import com.casic.smarttube.databinding.FragmentOverviewBinding import com.casic.smarttube.model.ProjectGroupModel import com.casic.smarttube.view.GroupDeviceActivity -import com.casic.smarttube.view.GroupDeviceMapActivity import com.casic.smarttube.vm.ProjectGroupViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment -import com.pengxh.kt.lite.divider.RecyclerViewItemDivider import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialog import com.pengxh.kt.lite.widget.EmptyView -import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertInputDialog class OverviewFragment : KotlinBaseFragment() { @@ -45,15 +41,7 @@ } override fun setupTopBarLayout() { - binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { - override fun onLeftClick() { - } - - override fun onRightClick() { - requireContext().navigatePageTo() - } - }) } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -102,7 +90,7 @@ .setText(R.id.totalDeviceNumView, item.totalDevice) .setText(R.id.inUseDeviceNumView, item.alive) .setText(R.id.notUseDeviceNumView, item.unalive) - .setOnClickListener(R.id.editGroupNameView) { + .setOnClickListener(R.id.groupNameView) { clickedPosition = position editGroupName(item) } @@ -112,15 +100,15 @@ "经纬度异常,无法查看具体位置" ) } else { - val point = - LatLonPoint(item.latGaode.toDouble(), item.lngGaode.toDouble()) + val point = LatLonPoint( + item.latGaode.toDouble(), item.lngGaode.toDouble() + ) val queryParam = RegeocodeQuery(point, 200f, GeocodeSearch.AMAP) geocoderSearch.getFromLocationAsyn(queryParam) geocoderSearch.setOnGeocodeSearchListener(object : GeocodeSearch.OnGeocodeSearchListener { override fun onRegeocodeSearched( - result: RegeocodeResult?, - rCode: Int + result: RegeocodeResult?, rCode: Int ) { if (rCode == 1000) { viewHolder.setText( @@ -131,8 +119,7 @@ } override fun onGeocodeSearched( - result: GeocodeResult?, - rCode: Int + result: GeocodeResult?, rCode: Int ) { } @@ -140,15 +127,11 @@ } } } - binding.recyclerView.addItemDecoration( - RecyclerViewItemDivider(0f, 0f, Color.LTGRAY) - ) binding.recyclerView.adapter = groupListAdapter groupListAdapter.setOnItemClickedListener(object : NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked( - position: Int, - item: ProjectGroupModel.DataModel + position: Int, item: ProjectGroupModel.DataModel ) { requireContext().navigatePageTo(item.groupId) } diff --git a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt index dd3735d..54cac79 100644 --- a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt @@ -35,9 +35,13 @@ ) } - val DEVICE_OPERATE_IMAGES = - intArrayOf(R.drawable.ic_order, R.drawable.ic_delete_white, R.drawable.ic_delete_white) - val DEVICE_OPERATE_TITLES = arrayOf("浓度排序", "全部删除", "批量删除") + val DEVICE_OPERATE_IMAGES = intArrayOf( + R.drawable.ic_map, + R.drawable.ic_order, + R.drawable.ic_delete_white, + R.drawable.ic_delete_white + ) + val DEVICE_OPERATE_TITLES = arrayOf("地图分布", "浓度排序", "全部删除", "批量删除") /** * ============================================================================================= diff --git a/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt b/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt index b977427..f2e7692 100644 --- a/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt @@ -15,7 +15,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, true, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { override fun onLeftClick() { finish() diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt index 3e98725..a2ed62a 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt @@ -112,11 +112,20 @@ LocaleConstant.DEVICE_OPERATE_IMAGES[2], LocaleConstant.DEVICE_OPERATE_TITLES[2] ) ) + add( + EasyPopupWindow.MenuItem( + LocaleConstant.DEVICE_OPERATE_IMAGES[3], LocaleConstant.DEVICE_OPERATE_TITLES[3] + ) + ) } easyPopupWindow.set(menuItems, object : EasyPopupWindow.OnPopupWindowClickListener { override fun onPopupItemClicked(position: Int) { when (position) { 0 -> { + navigatePageTo(groupId) + } + + 1 -> { order = if (order == 0) { 1 } else { @@ -126,7 +135,7 @@ getDeviceListByPage() } - 1 -> { + 2 -> { AlertControlDialog.Builder().setContext(context).setTitle("提示") .setMessage("删除后将无法恢复,是否继续?") .setNegativeButton("容我想想").setPositiveButton("已经想好") @@ -149,7 +158,7 @@ }).build().show() } - 2 -> { + 3 -> { MultiSelectDialog.Builder().setContext(this@GroupDeviceActivity) .setTitle("选择设备").setDataSource(dataRows) .setNegativeButton("取消").setPositiveButton("选好了") diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt index c33c40e..75ad5c1 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt @@ -24,8 +24,11 @@ import com.casic.smarttube.model.MapDeviceModel import com.casic.smarttube.utils.RouteOnMap import com.casic.smarttube.vm.DeviceViewModel +import com.casic.smarttube.vm.ProjectGroupViewModel import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.wrapLine +import com.pengxh.kt.lite.utils.LiteKitConstant import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -36,6 +39,7 @@ private val context = this private val geocoderSearch by lazy { GeocodeSearch(this) } private lateinit var aMap: AMap + private lateinit var groupViewModel: ProjectGroupViewModel private lateinit var deviceViewModel: DeviceViewModel private var clickedMarker: Marker? = null @@ -70,13 +74,33 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { + val groupId = intent.getStringExtra(LiteKitConstant.INTENT_PARAM_KEY)!! + //地图初始化 initMap(savedInstanceState) - //默认显示所有设备 deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java] deviceViewModel.mapDeviceModel.observe(this) { if (it.code == 200) { + it.data.forEach { device -> + val lat = device.latGaode.toString() + val lng = device.lngGaode.toString() + if (lat.isNotBlank() && lng.isNotBlank()) { + val latitude = lat.toDouble() + val longitude = lng.toDouble() + if (CoordinateConverter.isAMapDataAvailable(latitude, longitude)) { + //缓存所有设备详情,点击Marker时候需要 + deviceModels.add(device) + } + } + } + } + } + deviceViewModel.getMapDeviceList() + + groupViewModel = ViewModelProvider(this)[ProjectGroupViewModel::class.java] + groupViewModel.groupDeviceModel.observe(this) { + if (it.code == 200) { val allMarkerOptions = ArrayList() val latitudeList = ArrayList() val longitudeList = ArrayList() @@ -84,20 +108,15 @@ val lat = device.latGaode.toString() val lng = device.lngGaode.toString() if (lat.isNotBlank() && lng.isNotBlank()) { - //返回true代表当前位置在大陆、港澳地区,反之不在 val latitude = lat.toDouble() val longitude = lng.toDouble() if (CoordinateConverter.isAMapDataAvailable(latitude, longitude)) { - //缓存所有设备详情,点击Marker时候需要 - deviceModels.add(device) //分别缓存经、纬度 latitudeList.add(latitude) longitudeList.add(longitude) //将所有设备信息转化缓存为Marker点 - allMarkerOptions.add( - MarkerOptions().position(LatLng(latitude, longitude)) - .title(device.devcode).snippet(device.modelName) - ) + val latLng = LatLng(latitude, longitude) + allMarkerOptions.add(MarkerOptions().position(latLng)) } } } @@ -112,7 +131,7 @@ aMap.animateCamera(cameraUpdate, 1500, null) } } - deviceViewModel.getMapDeviceList() + groupViewModel.getDeviceListByGroup(groupId) } override fun initEvent() { @@ -145,7 +164,6 @@ } - //获取视野内的marker 根据聚合算法合成自定义的marker 显示视野内的marker override fun onCameraChangeFinish(cameraPosition: CameraPosition?) { } @@ -216,14 +234,8 @@ override fun onRegeocodeSearched(result: RegeocodeResult?, rCode: Int) { if (rCode == 1000) { val address = result?.regeocodeAddress?.formatAddress - val temp = StringBuilder() - if (address!!.length > 16) { - temp.append(address.substring(0, 14)).append("\r\n") - .append(address.substring(16)) - } else { - temp.append(address) - } - locationView.text = String.format("详细位置: $temp") + locationView.text = + String.format("详细位置: ${address?.wrapLine(14)}") } } diff --git a/app/src/main/res/drawable/ic_change_map.xml b/app/src/main/res/drawable/ic_change_map.xml deleted file mode 100644 index c567efa..0000000 --- a/app/src/main/res/drawable/ic_change_map.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_edit.xml b/app/src/main/res/drawable/ic_edit.xml new file mode 100644 index 0000000..de035a3 --- /dev/null +++ b/app/src/main/res/drawable/ic_edit.xml @@ -0,0 +1,12 @@ + + + + diff --git a/app/src/main/res/drawable/ic_map.xml b/app/src/main/res/drawable/ic_map.xml new file mode 100644 index 0000000..d02208d --- /dev/null +++ b/app/src/main/res/drawable/ic_map.xml @@ -0,0 +1,15 @@ + + + + + diff --git a/app/src/main/res/drawable/ic_refresh_white.xml b/app/src/main/res/drawable/ic_refresh_white.xml deleted file mode 100644 index b1cb46e..0000000 --- a/app/src/main/res/drawable/ic_refresh_white.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - diff --git a/app/src/main/res/layout/activity_about_us.xml b/app/src/main/res/layout/activity_about_us.xml index f79825a..4a2d5c5 100644 --- a/app/src/main/res/layout/activity_about_us.xml +++ b/app/src/main/res/layout/activity_about_us.xml @@ -47,7 +47,6 @@ android:gravity="center" android:paddingVertical="@dimen/dp_3" android:text="版本信息:V1.0.0" - android:textColor="@color/mainTextColor" android:textSize="@dimen/sp_16" /> diff --git a/app/src/main/res/layout/fragment_mine.xml b/app/src/main/res/layout/fragment_mine.xml index e035231..c0e40de 100644 --- a/app/src/main/res/layout/fragment_mine.xml +++ b/app/src/main/res/layout/fragment_mine.xml @@ -213,7 +213,6 @@ android:layout_marginEnd="@dimen/dp_10" android:autoLink="phone" android:text="010-68387447" - android:textColorLink="@color/mainThemeColor" android:textSize="@dimen/sp_16" /> diff --git a/app/src/main/res/layout/fragment_overview.xml b/app/src/main/res/layout/fragment_overview.xml index 4070947..ced0d8a 100644 --- a/app/src/main/res/layout/fragment_overview.xml +++ b/app/src/main/res/layout/fragment_overview.xml @@ -3,7 +3,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@color/white" + android:background="@color/mainBackColor" android:orientation="vertical"> @@ -41,6 +41,7 @@ android:id="@+id/recyclerView" android:layout_width="match_parent" android:layout_height="wrap_content" + android:layout_marginVertical="@dimen/dp_3" app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" /> diff --git a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt index dd09cf5..96debfb 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt @@ -1,6 +1,5 @@ package com.casic.smarttube.fragment -import android.graphics.Color import android.os.Bundle import android.view.LayoutInflater import android.view.View @@ -15,18 +14,15 @@ import com.casic.smarttube.databinding.FragmentOverviewBinding import com.casic.smarttube.model.ProjectGroupModel import com.casic.smarttube.view.GroupDeviceActivity -import com.casic.smarttube.view.GroupDeviceMapActivity import com.casic.smarttube.vm.ProjectGroupViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment -import com.pengxh.kt.lite.divider.RecyclerViewItemDivider import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialog import com.pengxh.kt.lite.widget.EmptyView -import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertInputDialog class OverviewFragment : KotlinBaseFragment() { @@ -45,15 +41,7 @@ } override fun setupTopBarLayout() { - binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { - override fun onLeftClick() { - } - - override fun onRightClick() { - requireContext().navigatePageTo() - } - }) } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -102,7 +90,7 @@ .setText(R.id.totalDeviceNumView, item.totalDevice) .setText(R.id.inUseDeviceNumView, item.alive) .setText(R.id.notUseDeviceNumView, item.unalive) - .setOnClickListener(R.id.editGroupNameView) { + .setOnClickListener(R.id.groupNameView) { clickedPosition = position editGroupName(item) } @@ -112,15 +100,15 @@ "经纬度异常,无法查看具体位置" ) } else { - val point = - LatLonPoint(item.latGaode.toDouble(), item.lngGaode.toDouble()) + val point = LatLonPoint( + item.latGaode.toDouble(), item.lngGaode.toDouble() + ) val queryParam = RegeocodeQuery(point, 200f, GeocodeSearch.AMAP) geocoderSearch.getFromLocationAsyn(queryParam) geocoderSearch.setOnGeocodeSearchListener(object : GeocodeSearch.OnGeocodeSearchListener { override fun onRegeocodeSearched( - result: RegeocodeResult?, - rCode: Int + result: RegeocodeResult?, rCode: Int ) { if (rCode == 1000) { viewHolder.setText( @@ -131,8 +119,7 @@ } override fun onGeocodeSearched( - result: GeocodeResult?, - rCode: Int + result: GeocodeResult?, rCode: Int ) { } @@ -140,15 +127,11 @@ } } } - binding.recyclerView.addItemDecoration( - RecyclerViewItemDivider(0f, 0f, Color.LTGRAY) - ) binding.recyclerView.adapter = groupListAdapter groupListAdapter.setOnItemClickedListener(object : NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked( - position: Int, - item: ProjectGroupModel.DataModel + position: Int, item: ProjectGroupModel.DataModel ) { requireContext().navigatePageTo(item.groupId) } diff --git a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt index dd3735d..54cac79 100644 --- a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt @@ -35,9 +35,13 @@ ) } - val DEVICE_OPERATE_IMAGES = - intArrayOf(R.drawable.ic_order, R.drawable.ic_delete_white, R.drawable.ic_delete_white) - val DEVICE_OPERATE_TITLES = arrayOf("浓度排序", "全部删除", "批量删除") + val DEVICE_OPERATE_IMAGES = intArrayOf( + R.drawable.ic_map, + R.drawable.ic_order, + R.drawable.ic_delete_white, + R.drawable.ic_delete_white + ) + val DEVICE_OPERATE_TITLES = arrayOf("地图分布", "浓度排序", "全部删除", "批量删除") /** * ============================================================================================= diff --git a/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt b/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt index b977427..f2e7692 100644 --- a/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt @@ -15,7 +15,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, true, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { override fun onLeftClick() { finish() diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt index 3e98725..a2ed62a 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt @@ -112,11 +112,20 @@ LocaleConstant.DEVICE_OPERATE_IMAGES[2], LocaleConstant.DEVICE_OPERATE_TITLES[2] ) ) + add( + EasyPopupWindow.MenuItem( + LocaleConstant.DEVICE_OPERATE_IMAGES[3], LocaleConstant.DEVICE_OPERATE_TITLES[3] + ) + ) } easyPopupWindow.set(menuItems, object : EasyPopupWindow.OnPopupWindowClickListener { override fun onPopupItemClicked(position: Int) { when (position) { 0 -> { + navigatePageTo(groupId) + } + + 1 -> { order = if (order == 0) { 1 } else { @@ -126,7 +135,7 @@ getDeviceListByPage() } - 1 -> { + 2 -> { AlertControlDialog.Builder().setContext(context).setTitle("提示") .setMessage("删除后将无法恢复,是否继续?") .setNegativeButton("容我想想").setPositiveButton("已经想好") @@ -149,7 +158,7 @@ }).build().show() } - 2 -> { + 3 -> { MultiSelectDialog.Builder().setContext(this@GroupDeviceActivity) .setTitle("选择设备").setDataSource(dataRows) .setNegativeButton("取消").setPositiveButton("选好了") diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt index c33c40e..75ad5c1 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt @@ -24,8 +24,11 @@ import com.casic.smarttube.model.MapDeviceModel import com.casic.smarttube.utils.RouteOnMap import com.casic.smarttube.vm.DeviceViewModel +import com.casic.smarttube.vm.ProjectGroupViewModel import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.wrapLine +import com.pengxh.kt.lite.utils.LiteKitConstant import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -36,6 +39,7 @@ private val context = this private val geocoderSearch by lazy { GeocodeSearch(this) } private lateinit var aMap: AMap + private lateinit var groupViewModel: ProjectGroupViewModel private lateinit var deviceViewModel: DeviceViewModel private var clickedMarker: Marker? = null @@ -70,13 +74,33 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { + val groupId = intent.getStringExtra(LiteKitConstant.INTENT_PARAM_KEY)!! + //地图初始化 initMap(savedInstanceState) - //默认显示所有设备 deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java] deviceViewModel.mapDeviceModel.observe(this) { if (it.code == 200) { + it.data.forEach { device -> + val lat = device.latGaode.toString() + val lng = device.lngGaode.toString() + if (lat.isNotBlank() && lng.isNotBlank()) { + val latitude = lat.toDouble() + val longitude = lng.toDouble() + if (CoordinateConverter.isAMapDataAvailable(latitude, longitude)) { + //缓存所有设备详情,点击Marker时候需要 + deviceModels.add(device) + } + } + } + } + } + deviceViewModel.getMapDeviceList() + + groupViewModel = ViewModelProvider(this)[ProjectGroupViewModel::class.java] + groupViewModel.groupDeviceModel.observe(this) { + if (it.code == 200) { val allMarkerOptions = ArrayList() val latitudeList = ArrayList() val longitudeList = ArrayList() @@ -84,20 +108,15 @@ val lat = device.latGaode.toString() val lng = device.lngGaode.toString() if (lat.isNotBlank() && lng.isNotBlank()) { - //返回true代表当前位置在大陆、港澳地区,反之不在 val latitude = lat.toDouble() val longitude = lng.toDouble() if (CoordinateConverter.isAMapDataAvailable(latitude, longitude)) { - //缓存所有设备详情,点击Marker时候需要 - deviceModels.add(device) //分别缓存经、纬度 latitudeList.add(latitude) longitudeList.add(longitude) //将所有设备信息转化缓存为Marker点 - allMarkerOptions.add( - MarkerOptions().position(LatLng(latitude, longitude)) - .title(device.devcode).snippet(device.modelName) - ) + val latLng = LatLng(latitude, longitude) + allMarkerOptions.add(MarkerOptions().position(latLng)) } } } @@ -112,7 +131,7 @@ aMap.animateCamera(cameraUpdate, 1500, null) } } - deviceViewModel.getMapDeviceList() + groupViewModel.getDeviceListByGroup(groupId) } override fun initEvent() { @@ -145,7 +164,6 @@ } - //获取视野内的marker 根据聚合算法合成自定义的marker 显示视野内的marker override fun onCameraChangeFinish(cameraPosition: CameraPosition?) { } @@ -216,14 +234,8 @@ override fun onRegeocodeSearched(result: RegeocodeResult?, rCode: Int) { if (rCode == 1000) { val address = result?.regeocodeAddress?.formatAddress - val temp = StringBuilder() - if (address!!.length > 16) { - temp.append(address.substring(0, 14)).append("\r\n") - .append(address.substring(16)) - } else { - temp.append(address) - } - locationView.text = String.format("详细位置: $temp") + locationView.text = + String.format("详细位置: ${address?.wrapLine(14)}") } } diff --git a/app/src/main/res/drawable/ic_change_map.xml b/app/src/main/res/drawable/ic_change_map.xml deleted file mode 100644 index c567efa..0000000 --- a/app/src/main/res/drawable/ic_change_map.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_edit.xml b/app/src/main/res/drawable/ic_edit.xml new file mode 100644 index 0000000..de035a3 --- /dev/null +++ b/app/src/main/res/drawable/ic_edit.xml @@ -0,0 +1,12 @@ + + + + diff --git a/app/src/main/res/drawable/ic_map.xml b/app/src/main/res/drawable/ic_map.xml new file mode 100644 index 0000000..d02208d --- /dev/null +++ b/app/src/main/res/drawable/ic_map.xml @@ -0,0 +1,15 @@ + + + + + diff --git a/app/src/main/res/drawable/ic_refresh_white.xml b/app/src/main/res/drawable/ic_refresh_white.xml deleted file mode 100644 index b1cb46e..0000000 --- a/app/src/main/res/drawable/ic_refresh_white.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - diff --git a/app/src/main/res/layout/activity_about_us.xml b/app/src/main/res/layout/activity_about_us.xml index f79825a..4a2d5c5 100644 --- a/app/src/main/res/layout/activity_about_us.xml +++ b/app/src/main/res/layout/activity_about_us.xml @@ -47,7 +47,6 @@ android:gravity="center" android:paddingVertical="@dimen/dp_3" android:text="版本信息:V1.0.0" - android:textColor="@color/mainTextColor" android:textSize="@dimen/sp_16" /> diff --git a/app/src/main/res/layout/fragment_mine.xml b/app/src/main/res/layout/fragment_mine.xml index e035231..c0e40de 100644 --- a/app/src/main/res/layout/fragment_mine.xml +++ b/app/src/main/res/layout/fragment_mine.xml @@ -213,7 +213,6 @@ android:layout_marginEnd="@dimen/dp_10" android:autoLink="phone" android:text="010-68387447" - android:textColorLink="@color/mainThemeColor" android:textSize="@dimen/sp_16" /> diff --git a/app/src/main/res/layout/fragment_overview.xml b/app/src/main/res/layout/fragment_overview.xml index 4070947..ced0d8a 100644 --- a/app/src/main/res/layout/fragment_overview.xml +++ b/app/src/main/res/layout/fragment_overview.xml @@ -3,7 +3,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@color/white" + android:background="@color/mainBackColor" android:orientation="vertical"> @@ -41,6 +41,7 @@ android:id="@+id/recyclerView" android:layout_width="match_parent" android:layout_height="wrap_content" + android:layout_marginVertical="@dimen/dp_3" app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" /> diff --git a/app/src/main/res/layout/item_group_over_view_rv_l.xml b/app/src/main/res/layout/item_group_over_view_rv_l.xml index eb7b044..bce3fb5 100644 --- a/app/src/main/res/layout/item_group_over_view_rv_l.xml +++ b/app/src/main/res/layout/item_group_over_view_rv_l.xml @@ -1,69 +1,27 @@ - + android:layout_marginHorizontal="@dimen/dp_3" + app:cardUseCompatPadding="true"> - - - - - - - - - - - - - - - - + android:background="@color/white" + android:orientation="vertical" + android:padding="@dimen/dp_5"> + android:text="项目编号: " /> + android:layout_marginHorizontal="@dimen/dp_7" + android:drawablePadding="@dimen/dp_5" + android:paddingVertical="1dp" + android:text="@string/app_name" + android:textColor="@color/white" + android:textSize="@dimen/sp_12" + app:drawableEndCompat="@drawable/ic_edit" /> + android:text="项目位置: " /> - + + + + + + android:text="设备总数: " /> + + + + + + + + + + + - - + android:textColor="@color/greenColor" /> - + + - + android:layout_weight="1" + android:gravity="center_vertical" + android:orientation="horizontal"> - + - + android:textColor="@color/orangeTextColor" /> + + + - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt index dd09cf5..96debfb 100644 --- a/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt +++ b/app/src/main/java/com/casic/smarttube/fragment/OverviewFragment.kt @@ -1,6 +1,5 @@ package com.casic.smarttube.fragment -import android.graphics.Color import android.os.Bundle import android.view.LayoutInflater import android.view.View @@ -15,18 +14,15 @@ import com.casic.smarttube.databinding.FragmentOverviewBinding import com.casic.smarttube.model.ProjectGroupModel import com.casic.smarttube.view.GroupDeviceActivity -import com.casic.smarttube.view.GroupDeviceMapActivity import com.casic.smarttube.vm.ProjectGroupViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseFragment -import com.pengxh.kt.lite.divider.RecyclerViewItemDivider import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialog import com.pengxh.kt.lite.widget.EmptyView -import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertInputDialog class OverviewFragment : KotlinBaseFragment() { @@ -45,15 +41,7 @@ } override fun setupTopBarLayout() { - binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { - override fun onLeftClick() { - } - - override fun onRightClick() { - requireContext().navigatePageTo() - } - }) } override fun initOnCreate(savedInstanceState: Bundle?) { @@ -102,7 +90,7 @@ .setText(R.id.totalDeviceNumView, item.totalDevice) .setText(R.id.inUseDeviceNumView, item.alive) .setText(R.id.notUseDeviceNumView, item.unalive) - .setOnClickListener(R.id.editGroupNameView) { + .setOnClickListener(R.id.groupNameView) { clickedPosition = position editGroupName(item) } @@ -112,15 +100,15 @@ "经纬度异常,无法查看具体位置" ) } else { - val point = - LatLonPoint(item.latGaode.toDouble(), item.lngGaode.toDouble()) + val point = LatLonPoint( + item.latGaode.toDouble(), item.lngGaode.toDouble() + ) val queryParam = RegeocodeQuery(point, 200f, GeocodeSearch.AMAP) geocoderSearch.getFromLocationAsyn(queryParam) geocoderSearch.setOnGeocodeSearchListener(object : GeocodeSearch.OnGeocodeSearchListener { override fun onRegeocodeSearched( - result: RegeocodeResult?, - rCode: Int + result: RegeocodeResult?, rCode: Int ) { if (rCode == 1000) { viewHolder.setText( @@ -131,8 +119,7 @@ } override fun onGeocodeSearched( - result: GeocodeResult?, - rCode: Int + result: GeocodeResult?, rCode: Int ) { } @@ -140,15 +127,11 @@ } } } - binding.recyclerView.addItemDecoration( - RecyclerViewItemDivider(0f, 0f, Color.LTGRAY) - ) binding.recyclerView.adapter = groupListAdapter groupListAdapter.setOnItemClickedListener(object : NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked( - position: Int, - item: ProjectGroupModel.DataModel + position: Int, item: ProjectGroupModel.DataModel ) { requireContext().navigatePageTo(item.groupId) } diff --git a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt index dd3735d..54cac79 100644 --- a/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/smarttube/utils/LocaleConstant.kt @@ -35,9 +35,13 @@ ) } - val DEVICE_OPERATE_IMAGES = - intArrayOf(R.drawable.ic_order, R.drawable.ic_delete_white, R.drawable.ic_delete_white) - val DEVICE_OPERATE_TITLES = arrayOf("浓度排序", "全部删除", "批量删除") + val DEVICE_OPERATE_IMAGES = intArrayOf( + R.drawable.ic_map, + R.drawable.ic_order, + R.drawable.ic_delete_white, + R.drawable.ic_delete_white + ) + val DEVICE_OPERATE_TITLES = arrayOf("地图分布", "浓度排序", "全部删除", "批量删除") /** * ============================================================================================= diff --git a/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt b/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt index b977427..f2e7692 100644 --- a/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/AboutUsActivity.kt @@ -15,7 +15,7 @@ } override fun setupTopBarLayout() { - binding.rootView.initImmersionBar(this, true, R.color.mainThemeColor) + binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { override fun onLeftClick() { finish() diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt index 3e98725..a2ed62a 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceActivity.kt @@ -112,11 +112,20 @@ LocaleConstant.DEVICE_OPERATE_IMAGES[2], LocaleConstant.DEVICE_OPERATE_TITLES[2] ) ) + add( + EasyPopupWindow.MenuItem( + LocaleConstant.DEVICE_OPERATE_IMAGES[3], LocaleConstant.DEVICE_OPERATE_TITLES[3] + ) + ) } easyPopupWindow.set(menuItems, object : EasyPopupWindow.OnPopupWindowClickListener { override fun onPopupItemClicked(position: Int) { when (position) { 0 -> { + navigatePageTo(groupId) + } + + 1 -> { order = if (order == 0) { 1 } else { @@ -126,7 +135,7 @@ getDeviceListByPage() } - 1 -> { + 2 -> { AlertControlDialog.Builder().setContext(context).setTitle("提示") .setMessage("删除后将无法恢复,是否继续?") .setNegativeButton("容我想想").setPositiveButton("已经想好") @@ -149,7 +158,7 @@ }).build().show() } - 2 -> { + 3 -> { MultiSelectDialog.Builder().setContext(this@GroupDeviceActivity) .setTitle("选择设备").setDataSource(dataRows) .setNegativeButton("取消").setPositiveButton("选好了") diff --git a/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt b/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt index c33c40e..75ad5c1 100644 --- a/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt +++ b/app/src/main/java/com/casic/smarttube/view/GroupDeviceMapActivity.kt @@ -24,8 +24,11 @@ import com.casic.smarttube.model.MapDeviceModel import com.casic.smarttube.utils.RouteOnMap import com.casic.smarttube.vm.DeviceViewModel +import com.casic.smarttube.vm.ProjectGroupViewModel import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.wrapLine +import com.pengxh.kt.lite.utils.LiteKitConstant import com.pengxh.kt.lite.widget.TitleBarView import com.pengxh.kt.lite.widget.dialog.AlertControlDialog @@ -36,6 +39,7 @@ private val context = this private val geocoderSearch by lazy { GeocodeSearch(this) } private lateinit var aMap: AMap + private lateinit var groupViewModel: ProjectGroupViewModel private lateinit var deviceViewModel: DeviceViewModel private var clickedMarker: Marker? = null @@ -70,13 +74,33 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { + val groupId = intent.getStringExtra(LiteKitConstant.INTENT_PARAM_KEY)!! + //地图初始化 initMap(savedInstanceState) - //默认显示所有设备 deviceViewModel = ViewModelProvider(this)[DeviceViewModel::class.java] deviceViewModel.mapDeviceModel.observe(this) { if (it.code == 200) { + it.data.forEach { device -> + val lat = device.latGaode.toString() + val lng = device.lngGaode.toString() + if (lat.isNotBlank() && lng.isNotBlank()) { + val latitude = lat.toDouble() + val longitude = lng.toDouble() + if (CoordinateConverter.isAMapDataAvailable(latitude, longitude)) { + //缓存所有设备详情,点击Marker时候需要 + deviceModels.add(device) + } + } + } + } + } + deviceViewModel.getMapDeviceList() + + groupViewModel = ViewModelProvider(this)[ProjectGroupViewModel::class.java] + groupViewModel.groupDeviceModel.observe(this) { + if (it.code == 200) { val allMarkerOptions = ArrayList() val latitudeList = ArrayList() val longitudeList = ArrayList() @@ -84,20 +108,15 @@ val lat = device.latGaode.toString() val lng = device.lngGaode.toString() if (lat.isNotBlank() && lng.isNotBlank()) { - //返回true代表当前位置在大陆、港澳地区,反之不在 val latitude = lat.toDouble() val longitude = lng.toDouble() if (CoordinateConverter.isAMapDataAvailable(latitude, longitude)) { - //缓存所有设备详情,点击Marker时候需要 - deviceModels.add(device) //分别缓存经、纬度 latitudeList.add(latitude) longitudeList.add(longitude) //将所有设备信息转化缓存为Marker点 - allMarkerOptions.add( - MarkerOptions().position(LatLng(latitude, longitude)) - .title(device.devcode).snippet(device.modelName) - ) + val latLng = LatLng(latitude, longitude) + allMarkerOptions.add(MarkerOptions().position(latLng)) } } } @@ -112,7 +131,7 @@ aMap.animateCamera(cameraUpdate, 1500, null) } } - deviceViewModel.getMapDeviceList() + groupViewModel.getDeviceListByGroup(groupId) } override fun initEvent() { @@ -145,7 +164,6 @@ } - //获取视野内的marker 根据聚合算法合成自定义的marker 显示视野内的marker override fun onCameraChangeFinish(cameraPosition: CameraPosition?) { } @@ -216,14 +234,8 @@ override fun onRegeocodeSearched(result: RegeocodeResult?, rCode: Int) { if (rCode == 1000) { val address = result?.regeocodeAddress?.formatAddress - val temp = StringBuilder() - if (address!!.length > 16) { - temp.append(address.substring(0, 14)).append("\r\n") - .append(address.substring(16)) - } else { - temp.append(address) - } - locationView.text = String.format("详细位置: $temp") + locationView.text = + String.format("详细位置: ${address?.wrapLine(14)}") } } diff --git a/app/src/main/res/drawable/ic_change_map.xml b/app/src/main/res/drawable/ic_change_map.xml deleted file mode 100644 index c567efa..0000000 --- a/app/src/main/res/drawable/ic_change_map.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_edit.xml b/app/src/main/res/drawable/ic_edit.xml new file mode 100644 index 0000000..de035a3 --- /dev/null +++ b/app/src/main/res/drawable/ic_edit.xml @@ -0,0 +1,12 @@ + + + + diff --git a/app/src/main/res/drawable/ic_map.xml b/app/src/main/res/drawable/ic_map.xml new file mode 100644 index 0000000..d02208d --- /dev/null +++ b/app/src/main/res/drawable/ic_map.xml @@ -0,0 +1,15 @@ + + + + + diff --git a/app/src/main/res/drawable/ic_refresh_white.xml b/app/src/main/res/drawable/ic_refresh_white.xml deleted file mode 100644 index b1cb46e..0000000 --- a/app/src/main/res/drawable/ic_refresh_white.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - diff --git a/app/src/main/res/layout/activity_about_us.xml b/app/src/main/res/layout/activity_about_us.xml index f79825a..4a2d5c5 100644 --- a/app/src/main/res/layout/activity_about_us.xml +++ b/app/src/main/res/layout/activity_about_us.xml @@ -47,7 +47,6 @@ android:gravity="center" android:paddingVertical="@dimen/dp_3" android:text="版本信息:V1.0.0" - android:textColor="@color/mainTextColor" android:textSize="@dimen/sp_16" /> diff --git a/app/src/main/res/layout/fragment_mine.xml b/app/src/main/res/layout/fragment_mine.xml index e035231..c0e40de 100644 --- a/app/src/main/res/layout/fragment_mine.xml +++ b/app/src/main/res/layout/fragment_mine.xml @@ -213,7 +213,6 @@ android:layout_marginEnd="@dimen/dp_10" android:autoLink="phone" android:text="010-68387447" - android:textColorLink="@color/mainThemeColor" android:textSize="@dimen/sp_16" /> diff --git a/app/src/main/res/layout/fragment_overview.xml b/app/src/main/res/layout/fragment_overview.xml index 4070947..ced0d8a 100644 --- a/app/src/main/res/layout/fragment_overview.xml +++ b/app/src/main/res/layout/fragment_overview.xml @@ -3,7 +3,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@color/white" + android:background="@color/mainBackColor" android:orientation="vertical"> @@ -41,6 +41,7 @@ android:id="@+id/recyclerView" android:layout_width="match_parent" android:layout_height="wrap_content" + android:layout_marginVertical="@dimen/dp_3" app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" /> diff --git a/app/src/main/res/layout/item_group_over_view_rv_l.xml b/app/src/main/res/layout/item_group_over_view_rv_l.xml index eb7b044..bce3fb5 100644 --- a/app/src/main/res/layout/item_group_over_view_rv_l.xml +++ b/app/src/main/res/layout/item_group_over_view_rv_l.xml @@ -1,69 +1,27 @@ - + android:layout_marginHorizontal="@dimen/dp_3" + app:cardUseCompatPadding="true"> - - - - - - - - - - - - - - - - + android:background="@color/white" + android:orientation="vertical" + android:padding="@dimen/dp_5"> + android:text="项目编号: " /> + android:layout_marginHorizontal="@dimen/dp_7" + android:drawablePadding="@dimen/dp_5" + android:paddingVertical="1dp" + android:text="@string/app_name" + android:textColor="@color/white" + android:textSize="@dimen/sp_12" + app:drawableEndCompat="@drawable/ic_edit" /> + android:text="项目位置: " /> - + + + + + + android:text="设备总数: " /> + + + + + + + + + + + - - + android:textColor="@color/greenColor" /> - + + - + android:layout_weight="1" + android:gravity="center_vertical" + android:orientation="horizontal"> - + - + android:textColor="@color/orangeTextColor" /> + + + - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/popu_map_info.xml b/app/src/main/res/layout/popu_map_info.xml index afea2c2..9752990 100644 --- a/app/src/main/res/layout/popu_map_info.xml +++ b/app/src/main/res/layout/popu_map_info.xml @@ -10,12 +10,12 @@ + android:text="设备编号: 数据加载中..." /> + android:text="设备模型: 数据加载中..." />