diff --git a/app/src/main/java/com/navinfo/omqs/Constant.kt b/app/src/main/java/com/navinfo/omqs/Constant.kt index 11424dff..1d9dbd16 100644 --- a/app/src/main/java/com/navinfo/omqs/Constant.kt +++ b/app/src/main/java/com/navinfo/omqs/Constant.kt @@ -108,6 +108,11 @@ class Constant { */ var MapRotateEnable = false + /** + * 全要素捕捉 + */ + var CATCH_ALL = false + var IS_VIDEO_SPEED by kotlin.properties.Delegates.notNull() const val message_status_late = "预约,待发送" diff --git a/app/src/main/java/com/navinfo/omqs/db/RealmOperateHelper.kt b/app/src/main/java/com/navinfo/omqs/db/RealmOperateHelper.kt index e267c2df..b9ba12e8 100644 --- a/app/src/main/java/com/navinfo/omqs/db/RealmOperateHelper.kt +++ b/app/src/main/java/com/navinfo/omqs/db/RealmOperateHelper.kt @@ -287,13 +287,22 @@ class RealmOperateHelper() { .findAll() } else { // 查询realm中对应tile号的数据 - realmList = getSelectTaskRealmTools(RenderEntity::class.java, false) - .greaterThanOrEqualTo("tileX", xStart) - .lessThanOrEqualTo("tileX", xEnd) - .greaterThanOrEqualTo("tileY", yStart) - .lessThanOrEqualTo("tileY", yEnd) - .greaterThan("catchEnable", 0) - .findAll() + if(Constant.CATCH_ALL){ + realmList = getSelectTaskRealmTools(RenderEntity::class.java, false) + .greaterThanOrEqualTo("tileX", xStart) + .lessThanOrEqualTo("tileX", xEnd) + .greaterThanOrEqualTo("tileY", yStart) + .lessThanOrEqualTo("tileY", yEnd) + .findAll() + }else{ + realmList = getSelectTaskRealmTools(RenderEntity::class.java, false) + .greaterThanOrEqualTo("tileX", xStart) + .lessThanOrEqualTo("tileX", xEnd) + .greaterThanOrEqualTo("tileY", yStart) + .lessThanOrEqualTo("tileY", yEnd) + .greaterThan("catchEnable", 0) + .findAll() + } } // 将获取到的数据和查询的polygon做相交,只返回相交的数据 val queryResult = realmList?.stream()?.filter { diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/itemlist/ItemAdapter.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/itemlist/ItemAdapter.kt index 2fe88f19..b4934e4f 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/fragment/itemlist/ItemAdapter.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/itemlist/ItemAdapter.kt @@ -1,6 +1,7 @@ package com.navinfo.omqs.ui.fragment.itemlist import android.view.LayoutInflater +import android.view.View import android.view.ViewGroup import com.navinfo.collect.library.data.entity.RenderEntity import com.navinfo.collect.library.enums.DataCodeEnum @@ -8,8 +9,8 @@ import com.navinfo.omqs.databinding.AdapterItemBinding import com.navinfo.omqs.ui.other.BaseRecyclerViewAdapter import com.navinfo.omqs.ui.other.BaseViewHolder -class ItemAdapter(private var itemListener: ((Int, RenderEntity) -> Unit?)? = null) : - BaseRecyclerViewAdapter() { +class ItemAdapter(private var itemListener: ((Int,Boolean, RenderEntity) -> Unit?)? = null, +) : BaseRecyclerViewAdapter() { var selectPosition = -1 @@ -33,8 +34,14 @@ class ItemAdapter(private var itemListener: ((Int, RenderEntity) -> Unit?)? = nu } if (itemListener != null) { - itemListener!!.invoke(position, renderEntity) + itemListener!!.invoke(position,false, renderEntity) } } + binding.root.setOnLongClickListener(View.OnLongClickListener { + if (itemListener != null) { + itemListener!!.invoke(position, true,renderEntity) + } + true + }) } } \ No newline at end of file diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/itemlist/ItemListFragment.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/itemlist/ItemListFragment.kt index cfbab4d6..f8938bbf 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/fragment/itemlist/ItemListFragment.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/itemlist/ItemListFragment.kt @@ -5,12 +5,19 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.fragment.app.activityViewModels +import androidx.lifecycle.viewModelScope import androidx.recyclerview.widget.LinearLayoutManager +import com.google.gson.Gson +import com.navinfo.collect.library.data.entity.NoteBean import com.navinfo.omqs.databinding.FragmentItemListBinding import com.navinfo.omqs.ui.activity.map.MainViewModel +import com.navinfo.omqs.ui.dialog.FirstDialog import com.navinfo.omqs.ui.fragment.BaseFragment import com.navinfo.omqs.ui.widget.RecycleViewDivider import dagger.hilt.android.AndroidEntryPoint +import io.realm.Realm +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.launch @AndroidEntryPoint @@ -20,8 +27,23 @@ class ItemListFragment(private var backListener: ((ItemListFragment) -> Unit?)? private val binding get() = _binding!! private val viewModel by activityViewModels() private val adapter by lazy { - ItemAdapter { _, data -> - viewModel.showSignMoreInfo(data) + ItemAdapter { _,isLongClick, data -> + if(!isLongClick){ + viewModel.showSignMoreInfo(data) + } else{ + val mDialog = FirstDialog(context) + mDialog.setTitle("提示?") + val gson = Gson() + mDialog.setMessage(gson.toJson(data.properties)) + mDialog.setPositiveButton( + "确定" + ) { dialog, _ -> + dialog.dismiss() + } + mDialog.setNegativeButton("取消", null) + mDialog.setCancelVisibility(View.GONE) + mDialog.show() + } } } diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/personalcenter/PersonalCenterFragment.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/personalcenter/PersonalCenterFragment.kt index d5ae7409..334dc98d 100644 --- a/app/src/main/java/com/navinfo/omqs/ui/fragment/personalcenter/PersonalCenterFragment.kt +++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/personalcenter/PersonalCenterFragment.kt @@ -152,7 +152,14 @@ class PersonalCenterFragment(private var indoorDataListener: ((Boolean) -> Unit? it.title = "锁定地图旋转及视角" } } - + R.id.personal_center_menu_catch_all -> { + Constant.CATCH_ALL = !Constant.CATCH_ALL + if (Constant.CATCH_ALL) { + it.title = "关闭全要素捕捉" + } else { + it.title = "开启全要素捕捉" + } + } R.id.personal_center_menu_test -> { viewModel.readRealmData() //116.25017070328308 40.061730653134696 @@ -206,6 +213,13 @@ class PersonalCenterFragment(private var indoorDataListener: ((Boolean) -> Unit? it.title = "锁定地图旋转及视角" } } + R.id.personal_center_menu_catch_all->{ + if (Constant.CATCH_ALL) { + it.title = "关闭全要素捕捉" + } else { + it.title = "开启全要素捕捉" + } + } } } } diff --git a/app/src/main/res/menu/personal_center_menu.xml b/app/src/main/res/menu/personal_center_menu.xml index c5ed07bf..1dea20d1 100644 --- a/app/src/main/res/menu/personal_center_menu.xml +++ b/app/src/main/res/menu/personal_center_menu.xml @@ -46,6 +46,11 @@ android:icon="@drawable/baseline_person_24" android:visible="true" android:title="锁定地图旋转及视角" /> +