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

112 lines
3.6 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 android.view.View
import androidx.appcompat.app.AlertDialog
import androidx.core.view.forEach
import androidx.navigation.NavDestination
import androidx.navigation.findNavController
import androidx.navigation.ui.setupWithNavController
import com.google.android.material.appbar.MaterialToolbar
2020-04-15 13:35:15 +00:00
import com.google.android.material.bottomnavigation.BottomNavigationView
import com.vanced.manager.R
import com.vanced.manager.ui.core.ThemeActivity
2020-03-16 15:41:57 +00:00
class MainActivity : ThemeActivity() {
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 prefs = getSharedPreferences("prefs", MODE_PRIVATE)
val firstStart = prefs.getBoolean("firstStart", true)
if (firstStart) {
2020-04-05 18:08:21 +00:00
showSecurityDialog()
}
val navHost = findNavController(R.id.bottom_nav_host)
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, _ ->
when (currfrag.id) {
R.id.home_fragment, R.id.settings_fragment -> navBar.visibility = View.VISIBLE
else -> navBar.visibility = View.INVISIBLE
}
isParent = when (currfrag.id) {
R.id.home_fragment, R.id.settings_fragment -> true
else -> false
}
setDisplayHomeAsUpEnabled(!isParent)
navBar.menu.forEach {
if (it.itemId == currfrag.id) {
it.isChecked = true
}
}
}
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
when (item.itemId) {
android.R.id.home -> {
findNavController(R.id.bottom_nav_host).navigate(R.id.action_homeFragment)
}
else -> super.onOptionsItemSelected(item)
}
return true
}
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:08:21 +00:00
private fun showSecurityDialog() {
AlertDialog.Builder(this)
.setTitle("Welcome!")
.setMessage("Before we implement a proper security system to check whether app was modified or not, please be sure that you downloaded manager from vanced.app/github")
.setPositiveButton("close"
) { dialog, _ -> dialog.dismiss() }
.create().show()
val prefs = getSharedPreferences("prefs", MODE_PRIVATE)
val editor = prefs.edit()
editor.putBoolean("firstStart", false)
editor.apply()
}
2020-03-16 15:41:57 +00:00
}