Conflicts:
	app/src/main/java/com/navinfo/omqs/ui/activity/map/MainActivity.kt
This commit is contained in:
qiji4215
2023-06-14 14:23:08 +08:00
46 changed files with 909 additions and 439 deletions

View File

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

View File

@@ -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<MainViewModel>()
/**
* 左侧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) {
//处理页面跳转
@@ -224,7 +229,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 {
@@ -233,6 +238,9 @@ class MainActivity : BaseActivity() {
binding.mainActivitySelectLine.isSelected = false
}
}
supportFragmentManager.beginTransaction()
.add(R.id.console_fragment_layout, ConsoleFragment()).commit()
}
//根据输入的经纬度跳转坐标
@@ -296,7 +304,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()
}
/**
@@ -332,7 +348,7 @@ class MainActivity : BaseActivity() {
/**
* 点击搜索
*/
fun onClickSerach() {
fun onClickSearch() {
}
@@ -393,14 +409,89 @@ class MainActivity : BaseActivity() {
binding.mainActivitySelectLine.isSelected = viewModel.isSelectRoad()
}
fun voiceOnTouchStart() {
/**
* 打开或关闭底部导航栏
*/
fun onSwitchSheet() {
if (binding.mainActivityBottomSheetGroup.visibility == View.VISIBLE) {
binding.mainActivityBottomSheetGroup.visibility = View.GONE
} else {
binding.mainActivityBottomSheetGroup.visibility = View.VISIBLE
}
}
private fun voiceOnTouchStart() {
viewModel.startSoundMetter(this, binding.mainActivityVoice)
}
@RequiresApi(Build.VERSION_CODES.Q)
fun voiceOnTouchStop() {
private fun voiceOnTouchStop() {
if (Constant.IS_VIDEO_SPEED) {
viewModel.stopSoundMeter()
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()
}
}
}

View File

@@ -1,28 +1,30 @@
package com.navinfo.omqs.ui.activity.console
package com.navinfo.omqs.ui.fragment.console
import android.content.Intent
import android.content.pm.ActivityInfo
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()
@@ -33,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()
)
}
@@ -49,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
}
}
@@ -82,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()
}
}
@@ -106,6 +112,7 @@ class ConsoleActivity : BaseActivity(), OnClickListener {
initOnClickListener()
}
/**
* 设置点击事件
*/
@@ -143,8 +150,12 @@ class ConsoleActivity : BaseActivity(), OnClickListener {
*/
binding.consoleRoot.findViewById<View>(R.id.console_evaluation_icon_bg)
?.setOnClickListener(this)
binding.consoleRoot.findViewById<View>(R.id.console_evaluation_bg)
?.setOnClickListener(this)
binding.consoleRoot.findViewById<View>(R.id.console_evaluation_bg)?.setOnClickListener(this)
/**
* 评测任务
*/
binding.consoleRoot.findViewById<View>(R.id.console_task_bg)?.setOnClickListener(this)
binding.consoleRoot.findViewById<View>(R.id.console_task_icon_bg)?.setOnClickListener(this)
}
override fun onDestroy() {
@@ -159,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
}
@@ -201,14 +210,18 @@ class ConsoleActivity : BaseActivity(), OnClickListener {
*/
R.id.console_layer_setting_bg, R.id.console_layer_setting_icon_bg -> {
if (sceneFlag) {
mFragment = LayermanagerFragment()
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
}
@@ -216,20 +229,18 @@ class ConsoleActivity : BaseActivity(), OnClickListener {
/**
* 测评结果列表
*/
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 -> {}
}

View File

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

View File

@@ -4,25 +4,17 @@ import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.Toast
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentActivity
import androidx.fragment.app.FragmentController
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!!
private val viewModel by viewModels<LayerManagerViewModel>()
// private val viewModel by lazy { viewModels<EvaluationResultViewModel>().value}
// private val viewModel by lazy { viewModels<EvaluationResultViewModel>().value}
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
@@ -33,14 +25,13 @@ class LayermanagerFragment : BaseFragment(){
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
val adapter = LayerManagerExpandableListAdapter(requireContext(), viewModel.getLayerConfigList())
val adapter =
LayerManagerExpandableListAdapter(requireContext(), viewModel.getLayerConfigList())
binding.elvLayerManager.setAdapter(adapter)
// 默认显示第一个父项下的子类
binding.elvLayerManager.expandGroup(0)
binding.elvLayerManager.setGroupIndicator(null)
binding.elvLayerManager.setOnGroupClickListener { expandableListView, view, groupPosition, l ->
binding.elvLayerManager.setOnGroupClickListener { expandableListView, _, groupPosition, _ ->
if (expandableListView.isGroupExpanded(groupPosition)) {
binding.elvLayerManager.collapseGroup(groupPosition)
} else {
@@ -49,14 +40,19 @@ class LayermanagerFragment : BaseFragment(){
}
binding.imgConfirm.setOnClickListener {
viewModel.saveLayerConfigList(requireContext(),adapter.parentItems)
viewModel.saveLayerConfigList(requireContext(), adapter.parentItems)
}
binding.imgBack.setOnClickListener {
findNavController().navigateUp()
backListener?.invoke()
}
binding.tvTitle.text = "图层管理"
binding.tvTitle.text = "图层管理"//findNavController().currentDestination?.label
binding.imgConfirm.setOnClickListener { // 用户点击确认,重新设置当前的图层显隐控制
viewModel.saveLayerConfigList(requireContext(), adapter.parentItems)
backListener?.invoke()
}
}
override fun onDestroyView() {

View File

@@ -4,10 +4,8 @@ import android.content.Context
import android.widget.Toast
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.blankj.utilcode.util.FileIOUtils
import com.blankj.utilcode.util.SPStaticUtils
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
import com.navinfo.omqs.Constant
import com.navinfo.omqs.bean.ImportConfig
import com.navinfo.omqs.tools.LayerConfigUtils
@@ -15,9 +13,8 @@ import com.navinfo.omqs.util.FlowEventBus
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import java.io.File
class LayerManagerViewModel(): ViewModel() {
class LayerManagerViewModel() : ViewModel() {
private val gson = Gson()
fun getLayerConfigList(): List<ImportConfig> {

View File

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

View File

@@ -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)

View File

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

View File

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