MainActivity: Use navigation component to navigate in drawer

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
Aayush Gupta
2023-07-18 15:11:15 +05:30
parent b9d0f15ca3
commit fb5afd1f80
2 changed files with 23 additions and 47 deletions

View File

@@ -42,6 +42,9 @@ import androidx.navigation.NavController
import androidx.navigation.NavDestination
import androidx.navigation.fragment.NavHostFragment
import androidx.navigation.fragment.findNavController
import androidx.navigation.ui.AppBarConfiguration
import androidx.navigation.ui.navigateUp
import androidx.navigation.ui.setupActionBarWithNavController
import androidx.navigation.ui.setupWithNavController
import com.aurora.Constants
import com.aurora.extensions.*
@@ -80,6 +83,8 @@ class MainActivity : AppCompatActivity(), NetworkProvider.NetworkListener {
private val gson: Gson = GsonBuilder().excludeFieldsWithModifiers(Modifier.TRANSIENT).create()
private lateinit var appConfig: AppBarConfiguration
override fun onConnected() {
runOnUiThread {
if (!supportFragmentManager.isDestroyed) {
@@ -133,6 +138,7 @@ class MainActivity : AppCompatActivity(), NetworkProvider.NetworkListener {
authData = AuthProvider.with(this).getAuthData()
// Toolbar
setSupportActionBar(B.toolbar)
B.toolbar.apply {
elevation = 0f
setNavigationOnClickListener {
@@ -238,47 +244,17 @@ class MainActivity : AppCompatActivity(), NetworkProvider.NetworkListener {
("v${BuildConfig.VERSION_NAME}.${BuildConfig.VERSION_CODE}")
}
B.navigation.setNavigationItemSelectedListener { item: MenuItem ->
when (item.itemId) {
R.id.menu_apps_games -> {
navController.navigate(R.id.appsGamesFragment)
B.drawerLayout.close()
}
R.id.menu_apps_sale -> {
navController.navigate(R.id.appSalesFragment)
B.drawerLayout.close()
}
R.id.menu_blacklist_manager -> {
navController.navigate(R.id.blacklistFragment)
B.drawerLayout.close()
}
R.id.menu_download_manager -> {
navController.navigate(R.id.downloadFragment)
B.drawerLayout.close()
}
R.id.menu_spoof_manager -> {
navController.navigate(R.id.spoofFragment)
B.drawerLayout.close()
}
R.id.menu_account_manager -> {
navController.navigate(R.id.accountFragment)
B.drawerLayout.close()
}
R.id.menu_settings -> {
navController.navigate(R.id.settingsFragment)
B.drawerLayout.close()
}
R.id.menu_about -> {
navController.navigate(R.id.aboutFragment)
B.drawerLayout.close()
}
}
false
}
appConfig = AppBarConfiguration.Builder(
R.id.appsContainerFragment,
R.id.gamesContainerFragment,
R.id.updatesFragment
).setOpenableLayout(B.root).build()
setupActionBarWithNavController(navController, appConfig)
B.navigation.setupWithNavController(navController)
}
override fun onSupportNavigateUp(): Boolean {
return navController.navigateUp()
return navController.navigateUp(appConfig)
}
private fun checkExternalStorageManagerPermission() {

View File

@@ -20,48 +20,48 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:id="@+id/group1">
<item
android:id="@+id/menu_apps_games"
android:id="@id/appsGamesFragment"
android:icon="@drawable/ic_apps"
android:title="@string/title_apps_games" />
<item
android:id="@+id/menu_apps_sale"
android:id="@id/appSalesFragment"
android:icon="@drawable/ic_sale"
android:title="@string/title_apps_sale" />
</group>
<group android:id="@+id/group2">
<item
android:id="@+id/menu_blacklist_manager"
android:id="@id/blacklistFragment"
android:icon="@drawable/ic_blacklist"
android:title="@string/title_blacklist_manager" />
<item
android:id="@+id/menu_spoof_manager"
android:id="@id/spoofFragment"
android:icon="@drawable/ic_anonymous"
android:title="@string/title_spoof_manager" />
</group>
<group android:id="@+id/group3">
<item
android:id="@+id/menu_download_manager"
android:id="@id/downloadFragment"
android:icon="@drawable/ic_download_manager"
android:title="@string/title_download_manager" />
<item
android:id="@+id/menu_account_manager"
android:id="@id/accountFragment"
android:icon="@drawable/ic_account_manager"
android:title="@string/title_account_manager" />
</group>
<group android:id="@+id/group4">
<item
android:id="@+id/menu_settings"
android:id="@id/settingsFragment"
android:icon="@drawable/ic_menu_settings"
android:title="@string/title_settings" />
<item
android:id="@+id/menu_about"
android:id="@id/aboutFragment"
android:icon="@drawable/ic_menu_about"
android:title="@string/title_about" />
</group>
</menu>
</menu>