2020-04-03 16:40:54 +00:00
|
|
|
package com.vanced.manager.ui
|
2020-03-16 15:41:57 +00:00
|
|
|
|
|
|
|
import android.os.Bundle
|
2020-04-05 18:07:26 +00:00
|
|
|
import android.view.MenuItem
|
2020-04-19 17:21:40 +00:00
|
|
|
import android.view.View
|
2020-04-22 18:00:00 +00:00
|
|
|
import android.view.animation.Animation
|
|
|
|
import android.view.animation.AnimationUtils
|
2020-04-19 17:21:40 +00:00
|
|
|
import androidx.navigation.NavDestination
|
2020-04-14 20:54:42 +00:00
|
|
|
import androidx.navigation.findNavController
|
2020-04-22 09:41:18 +00:00
|
|
|
import androidx.navigation.ui.AppBarConfiguration
|
2020-04-14 20:54:42 +00:00
|
|
|
import androidx.navigation.ui.setupWithNavController
|
2020-04-07 12:48:13 +00:00
|
|
|
import com.google.android.material.appbar.MaterialToolbar
|
2020-04-15 13:35:15 +00:00
|
|
|
import com.google.android.material.bottomnavigation.BottomNavigationView
|
2020-04-03 16:40:54 +00:00
|
|
|
import com.vanced.manager.R
|
2020-04-25 17:40:24 +00:00
|
|
|
import com.vanced.manager.core.Main
|
2020-03-16 15:41:57 +00:00
|
|
|
|
2020-04-25 17:40:24 +00:00
|
|
|
class MainActivity : Main() {
|
2020-03-16 15:41:57 +00:00
|
|
|
|
2020-04-19 17:21:40 +00:00
|
|
|
private var isParent = true
|
|
|
|
|
2020-03-16 15:41:57 +00:00
|
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
2020-04-10 12:45:09 +00:00
|
|
|
super.onCreate(savedInstanceState)
|
2020-03-16 15:41:57 +00:00
|
|
|
setContentView(R.layout.activity_main)
|
2020-03-18 18:10:54 +00:00
|
|
|
|
2020-04-12 12:00:14 +00:00
|
|
|
val toolbar: MaterialToolbar = findViewById(R.id.home_toolbar)
|
2020-04-05 18:07:26 +00:00
|
|
|
setSupportActionBar(toolbar)
|
|
|
|
|
2020-04-14 20:54:42 +00:00
|
|
|
val navHost = findNavController(R.id.bottom_nav_host)
|
2020-04-22 09:41:18 +00:00
|
|
|
val appBarConfiguration = AppBarConfiguration(navHost.graph)
|
|
|
|
toolbar.setupWithNavController(navHost, appBarConfiguration)
|
2020-04-27 21:18:19 +00:00
|
|
|
|
|
|
|
/*
|
|
|
|
val navBar = findViewById<BottomNavigationView>(R.id.bottom_nav)
|
2020-04-14 20:54:42 +00:00
|
|
|
navBar.setupWithNavController(navHost)
|
2020-04-12 20:09:17 +00:00
|
|
|
|
2020-04-14 20:54:42 +00:00
|
|
|
navBar.setOnNavigationItemSelectedListener{ item ->
|
2020-04-13 21:07:19 +00:00
|
|
|
when (item.itemId) {
|
|
|
|
R.id.navigation_home -> {
|
2020-04-19 17:21:40 +00:00
|
|
|
navHost.navigate(R.id.action_homeFragment)
|
2020-04-15 13:35:15 +00:00
|
|
|
return@setOnNavigationItemSelectedListener true
|
2020-04-13 21:07:19 +00:00
|
|
|
}
|
|
|
|
R.id.navigation_settings -> {
|
2020-04-19 17:21:40 +00:00
|
|
|
navHost.navigate(R.id.action_settingsFragment)
|
2020-04-15 13:35:15 +00:00
|
|
|
return@setOnNavigationItemSelectedListener true
|
2020-04-13 21:07:19 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
false
|
|
|
|
}
|
|
|
|
|
2020-04-14 20:54:42 +00:00
|
|
|
navBar.setOnNavigationItemReselectedListener {
|
2020-03-18 18:10:54 +00:00
|
|
|
}
|
2020-04-27 21:18:19 +00:00
|
|
|
*/
|
2020-04-05 18:07:26 +00:00
|
|
|
|
2020-04-19 17:21:40 +00:00
|
|
|
navHost.addOnDestinationChangedListener{_, currfrag: NavDestination, _ ->
|
2020-04-27 21:18:19 +00:00
|
|
|
/*
|
2020-04-22 18:00:00 +00:00
|
|
|
val navBarHide: Animation = AnimationUtils.loadAnimation(applicationContext, R.anim.navbar_exit)
|
|
|
|
val navBarShow: Animation = AnimationUtils.loadAnimation(applicationContext, R.anim.navbar_enter)
|
2020-04-19 17:21:40 +00:00
|
|
|
when (currfrag.id) {
|
2020-04-22 18:00:00 +00:00
|
|
|
|
|
|
|
R.id.home_fragment, R.id.settings_fragment -> {
|
2020-04-22 21:12:47 +00:00
|
|
|
|
|
|
|
if (navBar.visibility != View.VISIBLE) {
|
|
|
|
navBar.visibility = View.VISIBLE
|
|
|
|
navBar.startAnimation(navBarShow)
|
|
|
|
}
|
2020-04-22 18:00:00 +00:00
|
|
|
|
|
|
|
}
|
|
|
|
else -> {
|
2020-04-23 09:14:49 +00:00
|
|
|
if (navBar.visibility != View.GONE) {
|
2020-04-22 21:12:47 +00:00
|
|
|
navBar.startAnimation(navBarHide)
|
2020-04-23 09:14:49 +00:00
|
|
|
navBar.visibility = View.GONE
|
2020-04-22 21:12:47 +00:00
|
|
|
}
|
2020-04-22 18:00:00 +00:00
|
|
|
}
|
2020-04-19 17:21:40 +00:00
|
|
|
|
|
|
|
}
|
2020-04-27 21:18:19 +00:00
|
|
|
*/
|
2020-04-19 17:21:40 +00:00
|
|
|
isParent = when (currfrag.id) {
|
2020-04-27 21:18:19 +00:00
|
|
|
R.id.home_fragment -> true
|
2020-04-19 17:21:40 +00:00
|
|
|
else -> false
|
|
|
|
}
|
|
|
|
|
|
|
|
setDisplayHomeAsUpEnabled(!isParent)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2020-04-05 18:07:26 +00:00
|
|
|
}
|
|
|
|
|
2020-04-19 17:21:40 +00:00
|
|
|
override fun onOptionsItemSelected(item: MenuItem): Boolean {
|
2020-04-24 16:10:29 +00:00
|
|
|
val navHost = findNavController(R.id.bottom_nav_host)
|
2020-04-19 17:21:40 +00:00
|
|
|
when (item.itemId) {
|
|
|
|
android.R.id.home -> {
|
2020-04-24 16:10:29 +00:00
|
|
|
onBackPressed()
|
|
|
|
return true
|
|
|
|
}
|
|
|
|
R.id.toolbar_about -> {
|
|
|
|
navHost.navigate(R.id.toAboutFragment)
|
|
|
|
return true
|
|
|
|
}
|
2020-04-27 21:18:19 +00:00
|
|
|
R.id.toolbar_settings -> {
|
|
|
|
navHost.navigate(R.id.action_settingsFragment)
|
|
|
|
return true
|
|
|
|
}
|
2020-04-24 16:10:29 +00:00
|
|
|
R.id.secret_settings -> {
|
|
|
|
navHost.navigate(R.id.toSecretSettingsFragment)
|
|
|
|
return true
|
2020-04-19 17:21:40 +00:00
|
|
|
}
|
|
|
|
else -> super.onOptionsItemSelected(item)
|
2020-04-05 18:07:26 +00:00
|
|
|
}
|
2020-04-24 16:10:29 +00:00
|
|
|
return false
|
2020-04-19 17:21:40 +00:00
|
|
|
}
|
2020-04-24 16:10:29 +00:00
|
|
|
|
2020-04-19 17:21:40 +00:00
|
|
|
private fun setDisplayHomeAsUpEnabled(isNeeded: Boolean) {
|
|
|
|
val toolbar: MaterialToolbar = findViewById(R.id.home_toolbar)
|
|
|
|
when {
|
|
|
|
isNeeded -> toolbar.setNavigationIcon(R.drawable.ic_keyboard_backspace_black_24dp)
|
|
|
|
else -> toolbar.navigationIcon = null
|
2020-04-05 18:07:26 +00:00
|
|
|
}
|
|
|
|
}
|
2020-03-16 15:41:57 +00:00
|
|
|
}
|