|
@@ -38,6 +38,7 @@ import dagger.hilt.android.AndroidEntryPoint
|
|
|
class MainActivity() : BaseActivity<ActivityMainBinding>() {
|
|
class MainActivity() : BaseActivity<ActivityMainBinding>() {
|
|
|
private val viewModel: MainViewModel by viewModels()
|
|
private val viewModel: MainViewModel by viewModels()
|
|
|
private var cardNo: String = ""
|
|
private var cardNo: String = ""
|
|
|
|
|
+ private var userInfoNavGraph = 0
|
|
|
private val tabConfigs = listOf(
|
|
private val tabConfigs = listOf(
|
|
|
TabConfig(
|
|
TabConfig(
|
|
|
View.generateViewId(),
|
|
View.generateViewId(),
|
|
@@ -126,16 +127,25 @@ class MainActivity() : BaseActivity<ActivityMainBinding>() {
|
|
|
}
|
|
}
|
|
|
binding.userInfoLayout.setDebouncedClickListener {
|
|
binding.userInfoLayout.setDebouncedClickListener {
|
|
|
if (MainDomainData.permissions.contains(RoleFunctionalPermissionsEnum.USER_INFO_HOME.functionalPermission)) {
|
|
if (MainDomainData.permissions.contains(RoleFunctionalPermissionsEnum.USER_INFO_HOME.functionalPermission)) {
|
|
|
- binding.navBar.isVisible = true
|
|
|
|
|
- if (navController.graph.id == R.navigation.nav_user_info) {
|
|
|
|
|
|
|
+ if (navController.graph.id == userInfoNavGraph) {
|
|
|
navController.popBackStack(R.id.userInfoHomeFragment, false)
|
|
navController.popBackStack(R.id.userInfoHomeFragment, false)
|
|
|
|
|
+ binding.navBar.isVisible = true
|
|
|
} else {
|
|
} else {
|
|
|
replaceNavGraph(R.navigation.nav_user_info)
|
|
replaceNavGraph(R.navigation.nav_user_info)
|
|
|
|
|
+ userInfoNavGraph = navController.graph.id
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
navController.addOnDestinationChangedListener { _, destination, _ ->
|
|
navController.addOnDestinationChangedListener { _, destination, _ ->
|
|
|
// 如果是我们定义的底栏图表对应的 NavGraph,就 show,否则 hide
|
|
// 如果是我们定义的底栏图表对应的 NavGraph,就 show,否则 hide
|
|
|
|
|
+ if (bottomNavDestinations.contains(destination.id) && MainDomainData.fromQuickEntry) {
|
|
|
|
|
+ val firstId = binding.navBar.menu[0].itemId
|
|
|
|
|
+ binding.navBar.selectedItemId = firstId
|
|
|
|
|
+ MainDomainData.fromQuickEntry = false
|
|
|
|
|
+ }
|
|
|
|
|
+ if (navController.graph.id != userInfoNavGraph) {
|
|
|
|
|
+ userInfoNavGraph = 0
|
|
|
|
|
+ }
|
|
|
binding.navBar.isVisible = bottomNavDestinations.contains(destination.id)
|
|
binding.navBar.isVisible = bottomNavDestinations.contains(destination.id)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|