|
@@ -1,6 +1,10 @@
|
|
|
package com.mrozon.healthdiary.presentation.main
|
|
package com.mrozon.healthdiary.presentation.main
|
|
|
|
|
|
|
|
import android.os.Bundle
|
|
import android.os.Bundle
|
|
|
|
|
+import android.view.View
|
|
|
|
|
+import androidx.core.view.GravityCompat
|
|
|
|
|
+import androidx.drawerlayout.widget.DrawerLayout
|
|
|
|
|
+import androidx.navigation.NavController
|
|
|
import androidx.navigation.findNavController
|
|
import androidx.navigation.findNavController
|
|
|
import androidx.navigation.ui.AppBarConfiguration
|
|
import androidx.navigation.ui.AppBarConfiguration
|
|
|
import androidx.navigation.ui.navigateUp
|
|
import androidx.navigation.ui.navigateUp
|
|
@@ -8,6 +12,7 @@ import androidx.navigation.ui.setupActionBarWithNavController
|
|
|
import com.mrozon.healthdiary.R
|
|
import com.mrozon.healthdiary.R
|
|
|
import com.mrozon.healthdiary.databinding.ActivityMainBinding
|
|
import com.mrozon.healthdiary.databinding.ActivityMainBinding
|
|
|
import com.mrozon.utils.base.BaseActivity
|
|
import com.mrozon.utils.base.BaseActivity
|
|
|
|
|
+import javax.inject.Inject
|
|
|
|
|
|
|
|
class MainActivity : BaseActivity<ActivityMainBinding>() {
|
|
class MainActivity : BaseActivity<ActivityMainBinding>() {
|
|
|
|
|
|
|
@@ -16,8 +21,10 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
|
|
|
|
|
|
|
|
override fun getLayoutId(): Int = R.layout.activity_main
|
|
override fun getLayoutId(): Int = R.layout.activity_main
|
|
|
|
|
|
|
|
-
|
|
|
|
|
|
|
+ private lateinit var drawerLayout: DrawerLayout
|
|
|
private lateinit var appBarConfiguration: AppBarConfiguration
|
|
private lateinit var appBarConfiguration: AppBarConfiguration
|
|
|
|
|
+ private lateinit var navController: NavController
|
|
|
|
|
+
|
|
|
|
|
|
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
|
super.onCreate(savedInstanceState)
|
|
super.onCreate(savedInstanceState)
|
|
@@ -26,14 +33,22 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
|
|
|
|
|
|
|
|
private fun initNavigation() {
|
|
private fun initNavigation() {
|
|
|
setSupportActionBar(binding.toolbar)
|
|
setSupportActionBar(binding.toolbar)
|
|
|
- val navController = findNavController(R.id.nav_host_fragment)
|
|
|
|
|
|
|
+ drawerLayout = binding.drawerLayout
|
|
|
|
|
+ navController = findNavController(R.id.nav_host_fragment)
|
|
|
appBarConfiguration = AppBarConfiguration(navController.graph, binding.drawerLayout)
|
|
appBarConfiguration = AppBarConfiguration(navController.graph, binding.drawerLayout)
|
|
|
setupActionBarWithNavController(navController, appBarConfiguration)
|
|
setupActionBarWithNavController(navController, appBarConfiguration)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
override fun onSupportNavigateUp(): Boolean {
|
|
override fun onSupportNavigateUp(): Boolean {
|
|
|
- val navController = findNavController(R.id.nav_host_fragment)
|
|
|
|
|
return navController.navigateUp(appBarConfiguration)
|
|
return navController.navigateUp(appBarConfiguration)
|
|
|
|| super.onSupportNavigateUp()
|
|
|| super.onSupportNavigateUp()
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ override fun onBackPressed() {
|
|
|
|
|
+ if (drawerLayout.isDrawerOpen(GravityCompat.START)) {
|
|
|
|
|
+ drawerLayout.closeDrawer(GravityCompat.START)
|
|
|
|
|
+ } else {
|
|
|
|
|
+ super.onBackPressed()
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|