2020-04-03 16:40:54 +00:00
package com.vanced.manager.ui
2020-03-16 15:41:57 +00:00
2020-04-05 18:07:26 +00:00
import android.content.Intent
2020-03-16 15:41:57 +00:00
import android.os.Bundle
2020-04-05 18:07:26 +00:00
import android.view.Menu
import android.view.MenuItem
2020-03-28 13:29:48 +00:00
import androidx.appcompat.app.AlertDialog
2020-04-12 12:00:14 +00:00
import androidx.fragment.app.Fragment
2020-03-16 15:41:57 +00:00
import com.google.android.material.bottomnavigation.BottomNavigationView
2020-03-18 18:10:54 +00:00
import androidx.fragment.app.FragmentTransaction
2020-04-07 12:48:13 +00:00
import com.google.android.material.appbar.MaterialToolbar
2020-04-09 17:31:13 +00:00
import com.vanced.manager.ui.fragments.HomeFragment
2020-04-03 16:40:54 +00:00
import com.vanced.manager.R
2020-04-09 17:31:13 +00:00
import com.vanced.manager.ui.fragments.SettingsFragment
2020-04-07 12:48:13 +00:00
import com.vanced.manager.ui.core.ThemeActivity
2020-03-16 15:41:57 +00:00
2020-04-07 12:48:13 +00:00
class MainActivity : ThemeActivity ( ) {
2020-03-16 15:41:57 +00:00
2020-04-12 12:00:14 +00:00
val homeFragment : HomeFragment = HomeFragment ( )
val settingsFragment : SettingsFragment = SettingsFragment ( )
var currentFragment : Fragment ? = null
var activeFragment : Int = R . id . navigation _home
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-03-28 13:29:48 +00:00
val prefs = getSharedPreferences ( " prefs " , MODE _PRIVATE )
val firstStart = prefs . getBoolean ( " firstStart " , true )
if ( firstStart ) {
2020-04-05 18:08:21 +00:00
showSecurityDialog ( )
2020-03-28 13:29:48 +00:00
}
2020-04-12 12:00:14 +00:00
supportFragmentManager . beginTransaction ( ) . add ( R . id . frame _layout , SettingsFragment ( ) ) . hide ( SettingsFragment ( ) ) . commit ( )
supportFragmentManager . beginTransaction ( ) . add ( R . id . frame _layout , HomeFragment ( ) ) . commit ( )
2020-03-18 18:10:54 +00:00
2020-04-12 12:00:14 +00:00
val navView : BottomNavigationView = findViewById ( R . id . bottom _nav )
2020-03-18 18:10:54 +00:00
2020-04-12 12:00:14 +00:00
when ( activeFragment ) {
R . id . navigation _home -> currentFragment = homeFragment
R . id . navigation _settings -> currentFragment = settingsFragment
}
2020-03-18 18:10:54 +00:00
2020-04-12 12:00:14 +00:00
navView . setOnNavigationItemSelectedListener {
setFragments ( it . itemId )
2020-03-18 18:10:54 +00:00
}
2020-03-16 15:41:57 +00:00
}
2020-04-05 18:07:26 +00:00
override fun onCreateOptionsMenu ( menu : Menu ? ) : Boolean {
menuInflater . inflate ( R . menu . toolbar _menu , menu )
return super . onCreateOptionsMenu ( menu )
}
override fun onOptionsItemSelected ( item : MenuItem ) = when ( item . itemId ) {
R . id . about -> {
val intent = Intent ( this , AboutActivity :: class . java )
startActivity ( intent )
true
}
else -> {
super . onOptionsItemSelected ( item )
}
}
2020-04-05 18:08:21 +00:00
private fun showSecurityDialog ( ) {
2020-03-28 13:29:48 +00:00
AlertDialog . Builder ( this )
2020-04-03 16:40:54 +00:00
. setTitle ( " Welcome! " )
2020-04-05 18:07:26 +00:00
. 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 " )
2020-03-28 13:29:48 +00:00
. setPositiveButton ( " close "
2020-04-09 17:31:13 +00:00
) { dialog , _ -> dialog . dismiss ( ) }
2020-03-28 13:29:48 +00:00
. create ( ) . show ( )
val prefs = getSharedPreferences ( " prefs " , MODE _PRIVATE )
val editor = prefs . edit ( )
editor . putBoolean ( " firstStart " , false )
editor . apply ( )
}
2020-04-12 12:00:14 +00:00
private fun setFragments ( itemId : Int ) : Boolean {
activeFragment = itemId
when ( itemId ) {
R . id . navigation _home -> {
if ( currentFragment is HomeFragment ) {
return false
}
supportFragmentManager
. beginTransaction ( )
. hide ( currentFragment !! )
. setTransition ( FragmentTransaction . TRANSIT _FRAGMENT _OPEN )
. show ( HomeFragment ( ) )
. commit ( )
currentFragment = homeFragment
}
R . id . navigation _settings -> {
if ( currentFragment is SettingsFragment ) {
return false
}
supportFragmentManager
. beginTransaction ( )
. hide ( currentFragment !! )
. setTransition ( FragmentTransaction . TRANSIT _FRAGMENT _OPEN )
. show ( SettingsFragment ( ) )
. commit ( )
currentFragment = settingsFragment
}
}
return true
}
2020-03-16 15:41:57 +00:00
}