diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 184ccfd4..449d6cf9 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -63,17 +63,6 @@
android:launchMode="singleTask"
android:screenOrientation="landscape"
android:theme="@style/Theme.OMQualityInspection" />
-
-
-
-
-
diff --git a/app/src/main/java/com/navinfo/omqs/ui/activity/login/LoginActivity.kt b/app/src/main/java/com/navinfo/omqs/ui/activity/login/LoginActivity.kt
index d7ed2643..5def15d7 100644
--- a/app/src/main/java/com/navinfo/omqs/ui/activity/login/LoginActivity.kt
+++ b/app/src/main/java/com/navinfo/omqs/ui/activity/login/LoginActivity.kt
@@ -13,8 +13,6 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder
import com.navinfo.omqs.R
import com.navinfo.omqs.databinding.ActivityLoginBinding
import com.navinfo.omqs.ui.activity.CheckPermissionsActivity
-import com.navinfo.omqs.ui.activity.PermissionsActivity
-import com.navinfo.omqs.ui.activity.console.ConsoleActivity
import com.navinfo.omqs.ui.activity.map.MainActivity
import dagger.hilt.android.AndroidEntryPoint
@@ -90,7 +88,7 @@ class LoginActivity : CheckPermissionsActivity() {
LoginStatus.LOGIN_STATUS_SUCCESS -> {
loginDialog?.dismiss()
loginDialog = null
- val intent = Intent(this@LoginActivity, ConsoleActivity::class.java)
+ val intent = Intent(this@LoginActivity, MainActivity::class.java)
startActivity(intent)
finish()
}
diff --git a/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainActivity.kt b/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainActivity.kt
index 5a130f78..d5574fb1 100644
--- a/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainActivity.kt
+++ b/app/src/main/java/com/navinfo/omqs/ui/activity/map/MainActivity.kt
@@ -12,12 +12,9 @@ import android.widget.EditText
import android.widget.Toast
import androidx.activity.result.contract.ActivityResultContracts
import androidx.activity.viewModels
-import androidx.annotation.RequiresApi
-import androidx.core.view.WindowCompat
import androidx.databinding.DataBindingUtil
+import androidx.fragment.app.Fragment
import androidx.lifecycle.lifecycleScope
-import androidx.navigation.NavController
-import androidx.navigation.NavDestination
import androidx.navigation.findNavController
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
@@ -30,6 +27,10 @@ import com.navinfo.omqs.databinding.ActivityMainBinding
import com.navinfo.omqs.http.offlinemapdownload.OfflineMapDownloadManager
import com.navinfo.omqs.tools.LayerConfigUtils
import com.navinfo.omqs.ui.activity.BaseActivity
+import com.navinfo.omqs.ui.fragment.console.ConsoleFragment
+import com.navinfo.omqs.ui.fragment.offlinemap.OfflineMapFragment
+import com.navinfo.omqs.ui.fragment.qsrecordlist.QsRecordListFragment
+import com.navinfo.omqs.ui.fragment.tasklist.TaskManagerFragment
import com.navinfo.omqs.ui.widget.RecyclerViewSpacesItemDecoration
import com.navinfo.omqs.util.FlowEventBus
import com.navinfo.omqs.util.SpeakMode
@@ -49,6 +50,14 @@ class MainActivity : BaseActivity() {
private lateinit var binding: ActivityMainBinding
private val viewModel by viewModels()
+ /**
+ * 左侧fragment
+ */
+ private var leftFragment: Fragment? = null
+
+ /**
+ * 是否开启右侧面板
+ */
var switchFragment = false
/**
@@ -79,7 +88,7 @@ class MainActivity : BaseActivity() {
* 提前显示要素看板
*/
private val signAdapter by lazy {
- SignAdapter { position, autoSave,signBean ->
+ SignAdapter { _, autoSave, signBean ->
rightController.currentDestination?.let {
if (it.id == R.id.RightEmptyFragment) {
val bundle = Bundle()
@@ -95,7 +104,7 @@ class MainActivity : BaseActivity() {
* 道路信息看板
*/
private val topSignAdapter by lazy {
- TopSignAdapter { position, signBean ->
+ TopSignAdapter { _, signBean ->
rightController.currentDestination?.let {
if (it.id == R.id.RightEmptyFragment) {
val bundle = Bundle()
@@ -108,7 +117,6 @@ class MainActivity : BaseActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
- WindowCompat.setDecorFitsSystemWindows(window, false)
super.onCreate(savedInstanceState)
val checkIntent = Intent()
@@ -138,22 +146,19 @@ class MainActivity : BaseActivity() {
//给xml传递viewModel对象
binding.viewModel = viewModel
- binding.mainActivityVoice.setOnTouchListener(object : View.OnTouchListener {
- @RequiresApi(Build.VERSION_CODES.Q)
- override fun onTouch(v: View?, event: MotionEvent?): Boolean {
- when (event?.action) {
- MotionEvent.ACTION_DOWN -> {
- voiceOnTouchStart()//Do Something
- Log.e("qj", "voiceOnTouchStart")
- }
- MotionEvent.ACTION_UP -> {
- voiceOnTouchStop()//Do Something
- Log.e("qj", "voiceOnTouchStop")
- }
+ binding.mainActivityVoice.setOnTouchListener { v, event ->
+ when (event?.action) {
+ MotionEvent.ACTION_DOWN -> {
+ voiceOnTouchStart()//Do Something
+ Log.e("qj", "voiceOnTouchStart")
+ }
+ MotionEvent.ACTION_UP -> {
+ voiceOnTouchStop()//Do Something
+ Log.e("qj", "voiceOnTouchStop")
}
- return v?.onTouchEvent(event) ?: true
}
- })
+ v?.onTouchEvent(event) ?: true
+ }
viewModel.liveDataQsRecordIdList.observe(this) {
//处理页面跳转
@@ -217,7 +222,7 @@ class MainActivity : BaseActivity() {
}
}
- findNavController(R.id.main_activity_right_fragment).addOnDestinationChangedListener { controller, destination, arguments ->
+ findNavController(R.id.main_activity_right_fragment).addOnDestinationChangedListener { _, destination, arguments ->
if (destination.id == R.id.RightEmptyFragment) {
binding.mainActivityRightVisibilityButtonsGroup.visibility = View.VISIBLE
} else {
@@ -226,6 +231,9 @@ class MainActivity : BaseActivity() {
binding.mainActivitySelectLine.isSelected = false
}
}
+
+ supportFragmentManager.beginTransaction()
+ .add(R.id.console_fragment_layout, ConsoleFragment()).commit()
}
//根据输入的经纬度跳转坐标
@@ -292,7 +300,15 @@ class MainActivity : BaseActivity() {
* 打开个人中菜单
*/
fun openMenu() {
- binding.mainActivityDrawer.open()
+ supportFragmentManager.beginTransaction()
+ .replace(R.id.console_fragment_layout, ConsoleFragment()).commit()
+ if (leftFragment != null) {
+ supportFragmentManager.beginTransaction().remove(leftFragment!!).commit()
+ leftFragment = null
+ binding.mainActivityBottomSheetGroup.visibility = View.GONE
+ binding.mainActivityLeftFragment.visibility = View.GONE
+ }
+// binding.mainActivityDrawer.open()
}
/**
@@ -328,7 +344,7 @@ class MainActivity : BaseActivity() {
/**
* 点击搜索
*/
- fun onClickSerach() {
+ fun onClickSearch() {
}
@@ -389,18 +405,89 @@ class MainActivity : BaseActivity() {
binding.mainActivitySelectLine.isSelected = viewModel.isSelectRoad()
}
- fun voiceOnTouchStart() {
- viewModel.startSoundMetter(this, binding.mainActivityVoice)
- }
- @RequiresApi(Build.VERSION_CODES.Q)
- fun voiceOnTouchStop() {
- if (Constant.IS_VIDEO_SPEED) {
- viewModel.stopSoundMeter()
+ /**
+ * 打开或关闭底部导航栏
+ */
+ fun onSwitchSheet() {
+ if (binding.mainActivityBottomSheetGroup.visibility == View.VISIBLE) {
+ binding.mainActivityBottomSheetGroup.visibility = View.GONE
+ } else {
+ binding.mainActivityBottomSheetGroup.visibility = View.VISIBLE
}
}
-// override fun onBackPressed() {
-// super.onBackPressed()
-// }
+ private fun voiceOnTouchStart() {
+ viewModel.startSoundMetter(this, binding.mainActivityVoice)
+ }
+
+ private fun voiceOnTouchStop() {
+ if (Constant.IS_VIDEO_SPEED) {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
+ viewModel.stopSoundMeter()
+ }
+ }
+ }
+
+ /**
+ * 打开测评任务面板
+ */
+ fun onClickTaskFragment() {
+ if (leftFragment !is TaskManagerFragment) {
+ if (leftFragment == null) {
+ binding.mainActivityBottomSheetGroup.visibility = View.VISIBLE
+ binding.mainActivityLeftFragment.visibility = View.VISIBLE
+ }
+ leftFragment = TaskManagerFragment {
+ binding.mainActivityLeftFragment.visibility = View.GONE
+ supportFragmentManager.beginTransaction()
+ .remove(leftFragment!!).commit()
+ leftFragment = null
+ null
+ }
+ supportFragmentManager.beginTransaction()
+ .replace(R.id.main_activity_left_fragment, leftFragment!!).commit()
+ }
+ }
+
+ /**
+ * 打开测评结果面板
+ */
+ fun onClickResFragment() {
+ if (leftFragment !is QsRecordListFragment) {
+ if (leftFragment == null) {
+ binding.mainActivityBottomSheetGroup.visibility = View.VISIBLE
+ binding.mainActivityLeftFragment.visibility = View.VISIBLE
+ }
+ leftFragment = QsRecordListFragment {
+ binding.mainActivityLeftFragment.visibility = View.GONE
+ supportFragmentManager.beginTransaction()
+ .remove(leftFragment!!).commit()
+ leftFragment = null
+ null
+ }
+ supportFragmentManager.beginTransaction()
+ .replace(R.id.main_activity_left_fragment, leftFragment!!).commit()
+ }
+ }
+ /**
+ * 打开离线地图
+ */
+ fun onClickOfflineMapFragment(){
+ if (leftFragment !is OfflineMapFragment) {
+ if (leftFragment == null) {
+ binding.mainActivityBottomSheetGroup.visibility = View.VISIBLE
+ binding.mainActivityLeftFragment.visibility = View.VISIBLE
+ }
+ leftFragment = OfflineMapFragment {
+ binding.mainActivityLeftFragment.visibility = View.GONE
+ supportFragmentManager.beginTransaction()
+ .remove(leftFragment!!).commit()
+ leftFragment = null
+ null
+ }
+ supportFragmentManager.beginTransaction()
+ .replace(R.id.main_activity_left_fragment, leftFragment!!).commit()
+ }
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/navinfo/omqs/ui/activity/console/ConsoleActivity.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/console/ConsoleFragment.kt
similarity index 63%
rename from app/src/main/java/com/navinfo/omqs/ui/activity/console/ConsoleActivity.kt
rename to app/src/main/java/com/navinfo/omqs/ui/fragment/console/ConsoleFragment.kt
index 589d33f2..c882bb55 100644
--- a/app/src/main/java/com/navinfo/omqs/ui/activity/console/ConsoleActivity.kt
+++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/console/ConsoleFragment.kt
@@ -1,27 +1,30 @@
-package com.navinfo.omqs.ui.activity.console
+package com.navinfo.omqs.ui.fragment.console
-import android.content.Intent
import android.os.Bundle
import android.util.Log
+import android.view.LayoutInflater
import android.view.View
import android.view.View.OnClickListener
+import android.view.ViewGroup
import androidx.fragment.app.Fragment
import androidx.transition.AutoTransition
import androidx.transition.Scene
import androidx.transition.TransitionManager
import com.navinfo.omqs.R
-import com.navinfo.omqs.databinding.ActivityConsoleBinding
-import com.navinfo.omqs.ui.activity.BaseActivity
+import com.navinfo.omqs.databinding.FragmentConsoleBinding
import com.navinfo.omqs.ui.activity.map.MainActivity
-import com.navinfo.omqs.ui.fragment.layermanager.LayermanagerFragment
+import com.navinfo.omqs.ui.fragment.BaseFragment
+import com.navinfo.omqs.ui.fragment.evaluationresult.EvaluationResultFragment
+import com.navinfo.omqs.ui.fragment.layermanager.LayerManagerFragment
import com.navinfo.omqs.ui.fragment.offlinemap.OfflineMapFragment
import com.navinfo.omqs.ui.fragment.personalcenter.PersonalCenterFragment
+import com.navinfo.omqs.ui.fragment.qsrecordlist.QsRecordListFragment
import dagger.hilt.android.AndroidEntryPoint
@AndroidEntryPoint
-class ConsoleActivity : BaseActivity(), OnClickListener {
+class ConsoleFragment : BaseFragment(), OnClickListener {
- private var _binding: ActivityConsoleBinding? = null
+ private var _binding: FragmentConsoleBinding? = null
private val binding get() = _binding!!
private var sceneFlag = true
private val aTransition = AutoTransition()
@@ -32,14 +35,14 @@ class ConsoleActivity : BaseActivity(), OnClickListener {
// 创建a场景
private val aScene by lazy {
Scene.getSceneForLayout(
- binding.consoleRoot, R.layout.console_on, this
+ binding.consoleRoot, R.layout.console_on, requireContext()
)
}
// 创建b场景
private val bScene by lazy {
Scene.getSceneForLayout(
- binding.consoleRoot, R.layout.console_off, this
+ binding.consoleRoot, R.layout.console_off, requireContext()
)
}
@@ -48,18 +51,21 @@ class ConsoleActivity : BaseActivity(), OnClickListener {
// .inflateTransitionManager(R.transition.transitionmanager_console, binding.consoleRoot)
// }
+ override fun onCreateView(
+ inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?
+ ): View {
+ _binding = FragmentConsoleBinding.inflate(inflater, container, false)
+ return binding.root
+ }
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- _binding = ActivityConsoleBinding.inflate(layoutInflater)
- setContentView(_binding!!.root)
-// mTransitionAManager.setTransition(bScene, transition)
-
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
aTransition.addListener(object : androidx.transition.Transition.TransitionListener {
override fun onTransitionStart(transition: androidx.transition.Transition) {
+ sceneFlag = true
if (mFragment != null) {
Log.e("jingo", "动画开始B mFragment 不为null")
- supportFragmentManager.beginTransaction().remove(mFragment!!).commit()
+ childFragmentManager.beginTransaction().remove(mFragment!!).commit()
mFragment = null
}
}
@@ -81,9 +87,10 @@ class ConsoleActivity : BaseActivity(), OnClickListener {
})
bTransition.addListener(object : androidx.transition.Transition.TransitionListener {
override fun onTransitionStart(transition: androidx.transition.Transition) {
+ sceneFlag = false
if (mFragment != null) {
Log.e("jingo", "动画开始A mFragment 不为null")
- supportFragmentManager.beginTransaction().replace(fragmentId, mFragment!!)
+ childFragmentManager.beginTransaction().replace(fragmentId, mFragment!!)
.commit()
}
}
@@ -105,6 +112,7 @@ class ConsoleActivity : BaseActivity(), OnClickListener {
initOnClickListener()
}
+
/**
* 设置点击事件
*/
@@ -142,8 +150,12 @@ class ConsoleActivity : BaseActivity(), OnClickListener {
*/
binding.consoleRoot.findViewById(R.id.console_evaluation_icon_bg)
?.setOnClickListener(this)
- binding.consoleRoot.findViewById(R.id.console_evaluation_bg)
- ?.setOnClickListener(this)
+ binding.consoleRoot.findViewById(R.id.console_evaluation_bg)?.setOnClickListener(this)
+ /**
+ * 评测任务
+ */
+ binding.consoleRoot.findViewById(R.id.console_task_bg)?.setOnClickListener(this)
+ binding.consoleRoot.findViewById(R.id.console_task_icon_bg)?.setOnClickListener(this)
}
override fun onDestroy() {
@@ -158,39 +170,37 @@ class ConsoleActivity : BaseActivity(), OnClickListener {
* 地图点击事件
*/
R.id.console_map_bg, R.id.console_map_icon_bg -> {
- val intent = Intent(this, MainActivity::class.java)
- startActivity(intent)
+ activity?.let { a ->
+ a.supportFragmentManager.beginTransaction().remove(this).commit()
+ }
}
/**
* 离线地图点击
*/
R.id.console_offline_map_icon_bg, R.id.console_offline_map_bg -> {
- if (sceneFlag) {
- mFragment = OfflineMapFragment()
- sceneFlag = false
- TransitionManager.go(bScene, bTransition)
- } else {
- if (mFragment !is OfflineMapFragment) {
- mFragment = OfflineMapFragment()
- supportFragmentManager.beginTransaction()
- .replace(fragmentId, mFragment!!).commit()
- }
- return
+ activity?.let { a ->
+ a.supportFragmentManager.beginTransaction().remove(this).commit()
+ (a as MainActivity).onClickOfflineMapFragment()
}
+
}
/**
* 个人中心点击
*/
R.id.console_personal_center_bg, R.id.console_personal_center_icon_bg -> {
if (sceneFlag) {
- mFragment = PersonalCenterFragment()
+ mFragment = PersonalCenterFragment {
+ TransitionManager.go(aScene, aTransition)
+ }
sceneFlag = false
TransitionManager.go(bScene, bTransition)
} else {
if (mFragment !is PersonalCenterFragment) {
- mFragment = PersonalCenterFragment()
- supportFragmentManager.beginTransaction()
- .replace(fragmentId, mFragment!!).commit()
+ mFragment = PersonalCenterFragment {
+ TransitionManager.go(aScene, aTransition)
+ }
+ childFragmentManager.beginTransaction().replace(fragmentId, mFragment!!)
+ .commit()
}
return
}
@@ -199,36 +209,38 @@ class ConsoleActivity : BaseActivity(), OnClickListener {
* 图层设置
*/
R.id.console_layer_setting_bg, R.id.console_layer_setting_icon_bg -> {
-/* if (sceneFlag) {
- mFragment = LayermanagerFragment()
+ if (sceneFlag) {
+ mFragment = LayerManagerFragment {
+ TransitionManager.go(aScene, aTransition)
+ }
sceneFlag = false
TransitionManager.go(bScene, bTransition)
} else {
- if (mFragment !is LayermanagerFragment) {
- mFragment = LayermanagerFragment()
- supportFragmentManager.beginTransaction()
- .replace(fragmentId, mFragment!!).commit()
+ if (mFragment !is LayerManagerFragment) {
+ mFragment = LayerManagerFragment {
+ TransitionManager.go(aScene, aTransition)
+ }
+ childFragmentManager.beginTransaction().replace(fragmentId, mFragment!!)
+ .commit()
}
return
- }*/
+ }
}
/**
* 测评结果列表
*/
- R.id.console_evaluation_icon_bg,
- R.id.console_evaluation_bg -> {
-// if (sceneFlag) {
-// mFragment = LayermanagerFragment()
-// sceneFlag = false
-// TransitionManager.go(bScene, bTransition)
-// } else {
-// if (mFragment !is LayermanagerFragment) {
-// mFragment = LayermanagerFragment()
-// supportFragmentManager.beginTransaction()
-// .replace(fragmentId, mFragment!!).commit()
-// }
-// return
-// }
+ R.id.console_evaluation_icon_bg, R.id.console_evaluation_bg -> {
+ activity?.let { a ->
+ a.supportFragmentManager.beginTransaction().remove(this).commit()
+ (a as MainActivity).onClickResFragment()
+ }
+ }
+ R.id.console_task_icon_bg, R.id.console_task_bg -> {
+ activity?.let { a ->
+ a.supportFragmentManager.beginTransaction().remove(this).commit()
+ (a as MainActivity).onClickTaskFragment()
+ }
+
}
else -> {}
}
diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/EvaluationResultFragment.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/EvaluationResultFragment.kt
index f44a8f3c..d2f0ccae 100644
--- a/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/EvaluationResultFragment.kt
+++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/evaluationresult/EvaluationResultFragment.kt
@@ -93,29 +93,26 @@ class EvaluationResultFragment : BaseFragment(), View.OnClickListener {
}
- binding.evaluationVoice.setOnTouchListener(object : View.OnTouchListener {
- @RequiresApi(Build.VERSION_CODES.Q)
- override fun onTouch(v: View?, event: MotionEvent?): Boolean {
- Log.e("qj", event?.action.toString())
- when (event?.action) {
- MotionEvent.ACTION_DOWN -> {
- voiceOnTouchStart()//Do Something
- Log.e("qj", "voiceOnTouchStart")
- }
-
- MotionEvent.ACTION_UP -> {
- voiceOnTouchStop()//Do Something
- Log.e("qj", "ACTION_UP")
- }
-
- MotionEvent.ACTION_CANCEL -> {
- voiceOnTouchStop()//Do Something
- Log.e("qj", "ACTION_CANCEL")
- }
+ binding.evaluationVoice.setOnTouchListener { _, event ->
+ Log.e("qj", event?.action.toString())
+ when (event?.action) {
+ MotionEvent.ACTION_DOWN -> {
+ voiceOnTouchStart()//Do Something
+ Log.e("qj", "voiceOnTouchStart")
+ }
+
+ MotionEvent.ACTION_UP -> {
+ voiceOnTouchStop()//Do Something
+ Log.e("qj", "ACTION_UP")
+ }
+
+ MotionEvent.ACTION_CANCEL -> {
+ voiceOnTouchStop()//Do Something
+ Log.e("qj", "ACTION_CANCEL")
}
- return true
}
- })
+ true
+ }
/**
* 读取元数据
@@ -308,15 +305,16 @@ class EvaluationResultFragment : BaseFragment(), View.OnClickListener {
}
}
- fun voiceOnTouchStart() {
+ private fun voiceOnTouchStart() {
viewModel.startSoundMetter(requireActivity(), binding.evaluationVoice)
}
- @RequiresApi(Build.VERSION_CODES.Q)
- fun voiceOnTouchStop() {
+ private fun voiceOnTouchStop() {
Log.e("qj", "voiceOnTouchStop====${Constant.IS_VIDEO_SPEED}")
if (Constant.IS_VIDEO_SPEED) {
- viewModel.stopSoundMeter()
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
+ viewModel.stopSoundMeter()
+ }
}
}
diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/layermanager/LayermanagerFragment.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/layermanager/LayerManagerFragment.kt
similarity index 82%
rename from app/src/main/java/com/navinfo/omqs/ui/fragment/layermanager/LayermanagerFragment.kt
rename to app/src/main/java/com/navinfo/omqs/ui/fragment/layermanager/LayerManagerFragment.kt
index ba11a236..69230988 100644
--- a/app/src/main/java/com/navinfo/omqs/ui/fragment/layermanager/LayermanagerFragment.kt
+++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/layermanager/LayerManagerFragment.kt
@@ -4,17 +4,12 @@ import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
-import androidx.fragment.app.Fragment
import androidx.fragment.app.viewModels
import androidx.navigation.fragment.findNavController
-import com.blankj.utilcode.util.SPStaticUtils
-import com.navinfo.omqs.Constant
-import com.navinfo.omqs.databinding.FragmentEmptyBinding
import com.navinfo.omqs.databinding.FragmentLayerManagerBinding
import com.navinfo.omqs.ui.fragment.BaseFragment
-import com.navinfo.omqs.ui.fragment.offlinemap.OfflineMapCityListViewModel
-class LayermanagerFragment : BaseFragment(){
+class LayerManagerFragment(private var backListener: (() -> Unit?)? = null) : BaseFragment(){
private var _binding: FragmentLayerManagerBinding? = null
private val binding get() = _binding!!
@@ -44,13 +39,14 @@ class LayermanagerFragment : BaseFragment(){
}
binding.imgBack.setOnClickListener {
- findNavController().navigateUp()
+ backListener?.invoke()
}
- binding.tvTitle.text = findNavController().currentDestination?.label
+ binding.tvTitle.text = "图层设置"//findNavController().currentDestination?.label
binding.imgConfirm.setOnClickListener { // 用户点击确认,重新设置当前的图层显隐控制
viewModel.saveLayerConfigList(adapter.parentItems)
+ backListener?.invoke()
}
}
diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/offlinemap/OfflineMapFragment.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/offlinemap/OfflineMapFragment.kt
index c04ceb9d..2e8d7ac3 100644
--- a/app/src/main/java/com/navinfo/omqs/ui/fragment/offlinemap/OfflineMapFragment.kt
+++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/offlinemap/OfflineMapFragment.kt
@@ -13,7 +13,8 @@ import com.navinfo.omqs.ui.fragment.BaseFragment
/**
* 离线地图总页面
*/
-class OfflineMapFragment : BaseFragment() {
+class OfflineMapFragment(private var backListener: (() -> Unit?)? = null) :
+ BaseFragment() {
private var _binding: FragmentOfflineMapBinding? = null
@@ -48,7 +49,7 @@ class OfflineMapFragment : BaseFragment() {
//处理返回按钮
binding.offlineMapBack.setOnClickListener {
- findNavController().popBackStack()
+ backListener?.invoke()
}
}
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 5d53c83a..82b04705 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
@@ -29,7 +29,8 @@ import javax.inject.Inject
* 个人中心
*/
@AndroidEntryPoint
-class PersonalCenterFragment : BaseFragment(), FSAFActivityCallbacks {
+class PersonalCenterFragment(private var backListener: (() -> Unit?)? = null) : BaseFragment(),
+ FSAFActivityCallbacks {
private var _binding: FragmentPersonalCenterBinding? = null
private val binding get() = _binding!!
@@ -111,7 +112,7 @@ class PersonalCenterFragment : BaseFragment(), FSAFActivityCallbacks {
viewModel.readRealmData()
// 定位到指定位置
niMapController.mMapView.vtmMap.animator()
- .animateTo(GeoPoint(40.031657799200346, 116.32207834810715 ))
+ .animateTo(GeoPoint(40.031657799200346, 116.32207834810715))
}
R.id.personal_center_menu_task_list -> {
findNavController().navigate(R.id.TaskManagerFragment)
diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/qsrecordlist/QsRecordListFragment.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/qsrecordlist/QsRecordListFragment.kt
index e4fb1819..30d52e77 100644
--- a/app/src/main/java/com/navinfo/omqs/ui/fragment/qsrecordlist/QsRecordListFragment.kt
+++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/qsrecordlist/QsRecordListFragment.kt
@@ -16,7 +16,7 @@ import com.navinfo.omqs.ui.fragment.tasklist.QsRecordListAdapter
import dagger.hilt.android.AndroidEntryPoint
@AndroidEntryPoint
-class QsRecordListFragment : BaseFragment(){
+class QsRecordListFragment(private var backListener: (() -> Unit?)? = null) : BaseFragment() {
private var _binding: FragmentQsRecordListBinding? = null
private val viewModel by viewModels()
private val binding get() = _binding!!
@@ -44,7 +44,7 @@ class QsRecordListFragment : BaseFragment(){
binding.qsRecyclerview.adapter = adapter
viewModel.liveDataQSList.observe(viewLifecycleOwner) {
adapter.refreshData(it)
- binding.tvTitleCount.text = "共"+adapter.data.size+"条"
+ binding.tvTitleCount.text = "共" + adapter.data.size + "条"
}
val itemDecoration = DividerItemDecoration(context, DividerItemDecoration.VERTICAL)
itemDecoration.setDrawable(resources.getDrawable(R.drawable.separator))
@@ -53,13 +53,13 @@ class QsRecordListFragment : BaseFragment(){
// itemClick
adapter.setOnKotlinItemClickListener(object : QsRecordListAdapter.IKotlinItemClickListener {
override fun onItemClickListener(position: Int) {
- viewModel.onItemClickListener(activity as MainActivity,position)
- findNavController().popBackStack()
+ viewModel.onItemClickListener(activity as MainActivity, position)
+ backListener?.invoke()
}
})
- binding.imgBack.setOnClickListener{
- findNavController().navigateUp()
+ binding.imgBack.setOnClickListener {
+ backListener?.invoke()
}
}
diff --git a/app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskManagerFragment.kt b/app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskManagerFragment.kt
index 8c74cdfc..ec11bd80 100644
--- a/app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskManagerFragment.kt
+++ b/app/src/main/java/com/navinfo/omqs/ui/fragment/tasklist/TaskManagerFragment.kt
@@ -15,7 +15,7 @@ import dagger.hilt.android.AndroidEntryPoint
* 评测任务viewpager管理页面
*/
@AndroidEntryPoint
-class TaskManagerFragment : BaseFragment() {
+class TaskManagerFragment(private var backListener: ((TaskManagerFragment) -> Unit?)? = null) : BaseFragment() {
private var _binding: FragmentTaskManagerBinding? = null
private val binding get() = _binding!!
@@ -53,7 +53,7 @@ class TaskManagerFragment : BaseFragment() {
}.attach()
viewModel.getTaskList(requireContext())
binding.taskBack.setOnClickListener {
- findNavController().navigateUp()
+ backListener?.invoke(this)
}
}
diff --git a/app/src/main/res/drawable-v24/baseline_minimize_24.xml b/app/src/main/res/drawable-v24/baseline_minimize_24.xml
new file mode 100644
index 00000000..73c835c2
--- /dev/null
+++ b/app/src/main/res/drawable-v24/baseline_minimize_24.xml
@@ -0,0 +1,10 @@
+
+
+
diff --git a/app/src/main/res/drawable-xxhdpi/icon_main_bottom_home.png b/app/src/main/res/drawable-xxhdpi/icon_main_bottom_home.png
new file mode 100644
index 00000000..5b5ad319
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/icon_main_bottom_home.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/icon_main_bottom_offline_map.png b/app/src/main/res/drawable-xxhdpi/icon_main_bottom_offline_map.png
new file mode 100644
index 00000000..3ca4ce2b
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/icon_main_bottom_offline_map.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/icon_main_bottom_res.png b/app/src/main/res/drawable-xxhdpi/icon_main_bottom_res.png
new file mode 100644
index 00000000..e14eff80
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/icon_main_bottom_res.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/icon_main_bottom_route.png b/app/src/main/res/drawable-xxhdpi/icon_main_bottom_route.png
new file mode 100644
index 00000000..38b06d45
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/icon_main_bottom_route.png differ
diff --git a/app/src/main/res/drawable-xxhdpi/icon_main_bottom_task.png b/app/src/main/res/drawable-xxhdpi/icon_main_bottom_task.png
new file mode 100644
index 00000000..a9942030
Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/icon_main_bottom_task.png differ
diff --git a/app/src/main/res/drawable/shape_bottom_sheet.xml b/app/src/main/res/drawable/shape_bottom_sheet.xml
new file mode 100644
index 00000000..3fa8cf1c
--- /dev/null
+++ b/app/src/main/res/drawable/shape_bottom_sheet.xml
@@ -0,0 +1,15 @@
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index bb17c8e4..690d0642 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -17,265 +17,397 @@
type="com.navinfo.omqs.ui.activity.map.MainViewModel" />
-
+ android:layout_height="match_parent">
-
+
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ android:layout_width="wrap_content"
+ android:layout_height="0dp"
+ android:elevation="3dp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintRight_toRightOf="parent"
+ app:layout_constraintTop_toTopOf="parent"
+ app:navGraph="@navigation/right_fragment_nav_graph" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/adapter_sign.xml b/app/src/main/res/layout/adapter_sign.xml
index 382b591b..98d10cb5 100644
--- a/app/src/main/res/layout/adapter_sign.xml
+++ b/app/src/main/res/layout/adapter_sign.xml
@@ -27,7 +27,7 @@
android:gravity="center"
android:text="80"
android:textColor="#2F2F2F"
- android:textSize="14sp" />
+ android:textSize="16sp" />
+ tools:context=".ui.fragment.console.ConsoleFragment">
+ tools:context=".ui.fragment.console.ConsoleFragment">
+ tools:context=".ui.fragment.console.ConsoleFragment">
\ No newline at end of file
diff --git a/app/src/main/res/navigation/left_drawer_nav_graph.xml b/app/src/main/res/navigation/left_drawer_nav_graph.xml
index 2e2c94b3..81d0f6be 100644
--- a/app/src/main/res/navigation/left_drawer_nav_graph.xml
+++ b/app/src/main/res/navigation/left_drawer_nav_graph.xml
@@ -39,7 +39,7 @@
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index d8672f37..d0a4d202 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -1,5 +1,10 @@
+
+
\ No newline at end of file
diff --git a/collect-library/src/main/assets/omdb/icon_4002_1.png b/collect-library/src/main/assets/omdb/icon_4002_1.png
deleted file mode 100644
index db1014da..00000000
Binary files a/collect-library/src/main/assets/omdb/icon_4002_1.png and /dev/null differ
diff --git a/collect-library/src/main/assets/omdb/icon_4002_1.svg b/collect-library/src/main/assets/omdb/icon_4002_1.svg
new file mode 100644
index 00000000..158b4f48
--- /dev/null
+++ b/collect-library/src/main/assets/omdb/icon_4002_1.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/collect-library/src/main/assets/omdb/icon_4003_0.png b/collect-library/src/main/assets/omdb/icon_4003_0.png
deleted file mode 100644
index 747e7357..00000000
Binary files a/collect-library/src/main/assets/omdb/icon_4003_0.png and /dev/null differ
diff --git a/collect-library/src/main/assets/omdb/icon_4003_0.svg b/collect-library/src/main/assets/omdb/icon_4003_0.svg
new file mode 100644
index 00000000..50a7b3b7
--- /dev/null
+++ b/collect-library/src/main/assets/omdb/icon_4003_0.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/collect-library/src/main/assets/omdb/icon_4003_1.png b/collect-library/src/main/assets/omdb/icon_4003_1.png
deleted file mode 100644
index 4b798ec4..00000000
Binary files a/collect-library/src/main/assets/omdb/icon_4003_1.png and /dev/null differ
diff --git a/collect-library/src/main/assets/omdb/icon_4003_1.svg b/collect-library/src/main/assets/omdb/icon_4003_1.svg
new file mode 100644
index 00000000..9254e9c0
--- /dev/null
+++ b/collect-library/src/main/assets/omdb/icon_4003_1.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/collect-library/src/main/assets/omdb/icon_4004_0.png b/collect-library/src/main/assets/omdb/icon_4004_0.png
deleted file mode 100644
index 889aabb6..00000000
Binary files a/collect-library/src/main/assets/omdb/icon_4004_0.png and /dev/null differ
diff --git a/collect-library/src/main/assets/omdb/icon_4004_0.svg b/collect-library/src/main/assets/omdb/icon_4004_0.svg
new file mode 100644
index 00000000..54de0465
--- /dev/null
+++ b/collect-library/src/main/assets/omdb/icon_4004_0.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/collect-library/src/main/assets/omdb/icon_4004_1.png b/collect-library/src/main/assets/omdb/icon_4004_1.png
deleted file mode 100644
index f152c1f1..00000000
Binary files a/collect-library/src/main/assets/omdb/icon_4004_1.png and /dev/null differ
diff --git a/collect-library/src/main/assets/omdb/icon_4006_0.png b/collect-library/src/main/assets/omdb/icon_4006_0.png
deleted file mode 100644
index 5c912a60..00000000
Binary files a/collect-library/src/main/assets/omdb/icon_4006_0.png and /dev/null differ
diff --git a/collect-library/src/main/assets/omdb/icon_4006_0.svg b/collect-library/src/main/assets/omdb/icon_4006_0.svg
new file mode 100644
index 00000000..f5b3b3c5
--- /dev/null
+++ b/collect-library/src/main/assets/omdb/icon_4006_0.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/collect-library/src/main/assets/omdb/icon_4022_0.png b/collect-library/src/main/assets/omdb/icon_4022_0.png
deleted file mode 100644
index a718c8e2..00000000
Binary files a/collect-library/src/main/assets/omdb/icon_4022_0.png and /dev/null differ
diff --git a/collect-library/src/main/assets/omdb/icon_4022_0.svg b/collect-library/src/main/assets/omdb/icon_4022_0.svg
new file mode 100644
index 00000000..63378323
--- /dev/null
+++ b/collect-library/src/main/assets/omdb/icon_4022_0.svg
@@ -0,0 +1,162 @@
+
+
\ No newline at end of file
diff --git a/collect-library/src/main/assets/omdb/icon_arrow_right.png b/collect-library/src/main/assets/omdb/icon_arrow_right.png
deleted file mode 100644
index b0246785..00000000
Binary files a/collect-library/src/main/assets/omdb/icon_arrow_right.png and /dev/null differ
diff --git a/collect-library/src/main/assets/omdb/icon_arrow_right.svg b/collect-library/src/main/assets/omdb/icon_arrow_right.svg
new file mode 100644
index 00000000..fc0678f3
--- /dev/null
+++ b/collect-library/src/main/assets/omdb/icon_arrow_right.svg
@@ -0,0 +1,40 @@
+
\ No newline at end of file
diff --git a/collect-library/src/main/java/com/navinfo/collect/library/map/NIMapView.java b/collect-library/src/main/java/com/navinfo/collect/library/map/NIMapView.java
index 0b459fb7..f599fcb7 100644
--- a/collect-library/src/main/java/com/navinfo/collect/library/map/NIMapView.java
+++ b/collect-library/src/main/java/com/navinfo/collect/library/map/NIMapView.java
@@ -596,7 +596,8 @@ public final class NIMapView extends RelativeLayout {
VECTOR(2)/*高亮组*/,
OPERATE_LINE(3)/*操作图层组*/,
OPERATE_MARKER(4)/*操作图层组*/,
- NAVIGATION(5)/*定位导航组*/;
+ NAVIGATION(5)/*定位导航组*/,
+ LABEL(6)/*图标,文字图层*/;
int groupIndex;
diff --git a/collect-library/src/main/java/com/navinfo/collect/library/map/handler/LayerManagerHandler.kt b/collect-library/src/main/java/com/navinfo/collect/library/map/handler/LayerManagerHandler.kt
index 75aafa44..d3348487 100644
--- a/collect-library/src/main/java/com/navinfo/collect/library/map/handler/LayerManagerHandler.kt
+++ b/collect-library/src/main/java/com/navinfo/collect/library/map/handler/LayerManagerHandler.kt
@@ -22,10 +22,11 @@ import java.io.File
/**
* Layer 操作
*/
-class LayerManagerHandler(context: AppCompatActivity, mapView: NIMapView,tracePath: String) : BaseHandler(context, mapView) {
+class LayerManagerHandler(context: AppCompatActivity, mapView: NIMapView, tracePath: String) :
+ BaseHandler(context, mapView) {
private var baseGroupLayer // 用于盛放所有基础底图的图层组,便于统一管理
: GroupLayer? = null
- private val mTracePath:String = tracePath
+ private val mTracePath: String = tracePath
/**
* 轨迹渲染图层
@@ -70,12 +71,13 @@ class LayerManagerHandler(context: AppCompatActivity, mapView: NIMapView,tracePa
vectorNiLocationTileLayer = VectorTileLayer(mMapView.vtmMap, mapLifeNiLocationTileSource)
- labelNiLocationLayer = LabelLayer(mMapView.vtmMap, vectorNiLocationTileLayer, LabelTileLoaderHook(), 15)
+ labelNiLocationLayer =
+ LabelLayer(mMapView.vtmMap, vectorNiLocationTileLayer, LabelTileLoaderHook(), 15)
- if(vectorNiLocationTileLayer!=null){
- addLayer(vectorNiLocationTileLayer,NIMapView.LAYER_GROUPS.BASE)
+ if (vectorNiLocationTileLayer != null) {
+ addLayer(vectorNiLocationTileLayer, NIMapView.LAYER_GROUPS.BASE)
}
- if(labelNiLocationLayer!=null){
+ if (labelNiLocationLayer != null) {
addLayer(labelNiLocationLayer, NIMapView.LAYER_GROUPS.BASE)
}
@@ -92,7 +94,7 @@ class LayerManagerHandler(context: AppCompatActivity, mapView: NIMapView,tracePa
mMapView.vtmMap.events.bind(UpdateListener { e, mapPosition ->
if (e == org.oscim.map.Map.SCALE_EVENT) {
// 测评数据图层在指定Zoom后开始显示
- val isOmdbZoom = mapPosition.zoomLevel>=Constant.OMDB_MIN_ZOOM
+ val isOmdbZoom = mapPosition.zoomLevel >= Constant.OMDB_MIN_ZOOM
baseGroupLayer?.layers?.forEach {
it.isEnabled = !isOmdbZoom
}
@@ -103,25 +105,36 @@ class LayerManagerHandler(context: AppCompatActivity, mapView: NIMapView,tracePa
}
private fun initOMDBVectorTileLayer() {
- // 初始化OMDB相关图层
- omdbVectorTileLayer = VectorTileLayer(mMapView.vtmMap, omdbTileSource)
- omdbLabelLayer = LabelLayer(mMapView.vtmMap, omdbVectorTileLayer, LabelTileLoaderHook(), Constant.OMDB_MIN_ZOOM)
- if(omdbVectorTileLayer!=null){
- addLayer(omdbVectorTileLayer,NIMapView.LAYER_GROUPS.VECTOR_TILE)
- }
- if(omdbLabelLayer!=null){
- addLayer(omdbLabelLayer, NIMapView.LAYER_GROUPS.VECTOR_TILE)
- }
// 初始化OMDB参考相关图层
omdbReferenceTileLayer = VectorTileLayer(mMapView.vtmMap, omdbReferenceTileSource)
- omdbReferenceLabelLayer = LabelLayer(mMapView.vtmMap, omdbReferenceTileLayer, LabelTileLoaderHook(), Constant.OMDB_MIN_ZOOM)
- if(omdbReferenceTileLayer!=null){
- addLayer(omdbReferenceTileLayer,NIMapView.LAYER_GROUPS.VECTOR_TILE)
+ omdbReferenceLabelLayer = LabelLayer(
+ mMapView.vtmMap,
+ omdbReferenceTileLayer,
+ LabelTileLoaderHook(),
+ Constant.OMDB_MIN_ZOOM
+ )
+ if (omdbReferenceTileLayer != null) {
+ addLayer(omdbReferenceTileLayer, NIMapView.LAYER_GROUPS.VECTOR_TILE)
}
- if(omdbReferenceLabelLayer!=null){
- addLayer(omdbReferenceLabelLayer, NIMapView.LAYER_GROUPS.VECTOR_TILE)
+ if (omdbReferenceLabelLayer != null) {
+ addLayer(omdbReferenceLabelLayer, NIMapView.LAYER_GROUPS.LABEL)
}
+ // 初始化OMDB相关图层
+ omdbVectorTileLayer = VectorTileLayer(mMapView.vtmMap, omdbTileSource)
+ omdbLabelLayer = LabelLayer(
+ mMapView.vtmMap,
+ omdbVectorTileLayer,
+ LabelTileLoaderHook(),
+ Constant.OMDB_MIN_ZOOM
+ )
+ if (omdbVectorTileLayer != null) {
+ addLayer(omdbVectorTileLayer, NIMapView.LAYER_GROUPS.VECTOR_TILE)
+ }
+ if (omdbLabelLayer != null) {
+ addLayer(omdbLabelLayer, NIMapView.LAYER_GROUPS.LABEL)
+ }
+
}
/**
diff --git a/vtm b/vtm
index dd13e533..1ee201a4 160000
--- a/vtm
+++ b/vtm
@@ -1 +1 @@
-Subproject commit dd13e533c38b5738ab404c2737d7ccadeff01323
+Subproject commit 1ee201a41f78f169873848209a3f3bdac36f185a