diff --git a/app/src/main/java/dev/jdtech/jellyfin/MainActivity.kt b/app/src/main/java/dev/jdtech/jellyfin/MainActivity.kt index 7a7a7711..ac3df1a5 100644 --- a/app/src/main/java/dev/jdtech/jellyfin/MainActivity.kt +++ b/app/src/main/java/dev/jdtech/jellyfin/MainActivity.kt @@ -6,6 +6,7 @@ import android.os.Bundle import android.view.View import androidx.activity.viewModels import androidx.appcompat.app.AppCompatActivity +import androidx.navigation.NavGraph import androidx.navigation.fragment.NavHostFragment import androidx.navigation.ui.AppBarConfiguration import androidx.navigation.ui.NavigationUI @@ -25,7 +26,7 @@ class MainActivity : AppCompatActivity() { private lateinit var binding: ActivityMainBinding private lateinit var uiModeManager: UiModeManager - private val viewModel : MainViewModel by viewModels() + private val viewModel: MainViewModel by viewModels() @Inject lateinit var database: ServerDatabaseDao @@ -47,15 +48,14 @@ class MainActivity : AppCompatActivity() { if (uiModeManager.currentModeType == Configuration.UI_MODE_TYPE_TELEVISION) { graph.setStartDestination(R.id.homeFragmentTv) - navController.setGraph(graph, intent.extras) - } - - val nServers = database.getServersCount() - if (nServers < 1) { - if (!viewModel.startDestinationChanged) { - graph.setStartDestination(R.id.addServerFragment) + checkServersEmpty(graph) + if (!viewModel.startDestinationTvChanged) { + viewModel.startDestinationTvChanged = true + navController.setGraph(graph, intent.extras) + } + } else { + checkServersEmpty(graph) { navController.setGraph(graph, intent.extras) - viewModel.startDestinationChanged = true } } @@ -98,4 +98,15 @@ class MainActivity : AppCompatActivity() { onBackPressed() return true } + + private fun checkServersEmpty(graph: NavGraph, onServersEmpty: () -> Unit = {}) { + if (!viewModel.startDestinationChanged) { + val nServers = database.getServersCount() + if (nServers < 1) { + graph.setStartDestination(R.id.addServerFragment) + viewModel.startDestinationChanged = true + onServersEmpty() + } + } + } } \ No newline at end of file diff --git a/app/src/main/java/dev/jdtech/jellyfin/viewmodels/MainViewModel.kt b/app/src/main/java/dev/jdtech/jellyfin/viewmodels/MainViewModel.kt index 0c4a1477..c95a1c33 100644 --- a/app/src/main/java/dev/jdtech/jellyfin/viewmodels/MainViewModel.kt +++ b/app/src/main/java/dev/jdtech/jellyfin/viewmodels/MainViewModel.kt @@ -4,4 +4,5 @@ import androidx.lifecycle.ViewModel class MainViewModel : ViewModel() { var startDestinationChanged = false + var startDestinationTvChanged = false } \ No newline at end of file