VancedManager/app/src/main/java/com/vanced/manager/ui/MainActivity.kt

121 lines
3.9 KiB
Kotlin
Raw Normal View History

package com.vanced.manager.ui
2020-03-16 15:41:57 +00:00
import android.os.Bundle
import android.view.MenuItem
import androidx.navigation.NavDestination
import androidx.navigation.findNavController
2020-04-22 09:41:18 +00:00
import androidx.navigation.ui.AppBarConfiguration
import androidx.navigation.ui.setupWithNavController
import com.google.android.material.appbar.MaterialToolbar
2020-05-02 12:50:41 +00:00
import com.vanced.manager.R
import com.vanced.manager.core.Main
2020-03-16 15:41:57 +00:00
class MainActivity : Main() {
2020-03-16 15:41:57 +00:00
private var isParent = true
2020-03-16 15:41:57 +00:00
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
2020-03-16 15:41:57 +00:00
setContentView(R.layout.activity_main)
2020-03-18 18:10:54 +00:00
val toolbar: MaterialToolbar = findViewById(R.id.home_toolbar)
setSupportActionBar(toolbar)
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-28 07:42:10 +00:00
//WARNING: Reserved code!
//DO NOT TOUCH!
/*
val navBar = findViewById<BottomNavigationView>(R.id.bottom_nav)
navBar.setupWithNavController(navHost)
2020-04-12 20:09:17 +00:00
navBar.setOnNavigationItemSelectedListener{ item ->
2020-04-13 21:07:19 +00:00
when (item.itemId) {
R.id.navigation_home -> {
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 -> {
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
}
navBar.setOnNavigationItemReselectedListener {
2020-03-18 18:10:54 +00:00
}
*/
navHost.addOnDestinationChangedListener{_, currfrag: NavDestination, _ ->
2020-04-28 07:42:10 +00:00
//WARNING: Reserved code 2
//DO NOT TOUCH
/*
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)
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 -> {
if (navBar.visibility != View.GONE) {
2020-04-22 21:12:47 +00:00
navBar.startAnimation(navBarHide)
navBar.visibility = View.GONE
2020-04-22 21:12:47 +00:00
}
2020-04-22 18:00:00 +00:00
}
}
*/
isParent = when (currfrag.id) {
R.id.home_fragment -> true
else -> false
}
setDisplayHomeAsUpEnabled(!isParent)
}
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
val navHost = findNavController(R.id.bottom_nav_host)
when (item.itemId) {
android.R.id.home -> {
onBackPressed()
return true
}
R.id.toolbar_about -> {
navHost.navigate(R.id.toAboutFragment)
return true
}
R.id.toolbar_settings -> {
navHost.navigate(R.id.action_settingsFragment)
return true
}
R.id.secret_settings -> {
navHost.navigate(R.id.toSecretSettingsFragment)
return true
}
else -> super.onOptionsItemSelected(item)
}
return false
}
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-03-16 15:41:57 +00:00
}