From 1a4d15b6802f76b807dffcb31c8585e04fc3fe8a Mon Sep 17 00:00:00 2001 From: Kirill Kamakin Date: Sat, 19 Nov 2022 12:30:43 +0100 Subject: [PATCH] Lock drawer closed in onboarding --- .../java/gq/kirmanak/mealient/ui/activity/MainActivity.kt | 2 +- .../kirmanak/mealient/ui/activity/MainActivityUiState.kt | 7 ++----- .../java/gq/kirmanak/mealient/ui/add/AddRecipeFragment.kt | 2 +- .../gq/kirmanak/mealient/ui/auth/AuthenticationFragment.kt | 2 +- .../gq/kirmanak/mealient/ui/baseurl/BaseURLFragment.kt | 4 +++- .../kirmanak/mealient/ui/disclaimer/DisclaimerFragment.kt | 4 ++-- .../gq/kirmanak/mealient/ui/recipes/RecipesListFragment.kt | 2 +- app/src/main/res/navigation/nav_graph.xml | 3 +++ 8 files changed, 14 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/gq/kirmanak/mealient/ui/activity/MainActivity.kt b/app/src/main/java/gq/kirmanak/mealient/ui/activity/MainActivity.kt index 8345867..8a8e131 100644 --- a/app/src/main/java/gq/kirmanak/mealient/ui/activity/MainActivity.kt +++ b/app/src/main/java/gq/kirmanak/mealient/ui/activity/MainActivity.kt @@ -74,7 +74,7 @@ class MainActivity : AppCompatActivity(R.layout.main_activity) { val directions = when (menuItem.itemId) { R.id.add_recipe -> actionGlobalAddRecipeFragment() R.id.recipes_list -> actionGlobalRecipesListFragment() - R.id.change_url -> actionGlobalBaseURLFragment() + R.id.change_url -> actionGlobalBaseURLFragment(false) R.id.login -> actionGlobalAuthenticationFragment() R.id.logout -> { viewModel.logout() diff --git a/app/src/main/java/gq/kirmanak/mealient/ui/activity/MainActivityUiState.kt b/app/src/main/java/gq/kirmanak/mealient/ui/activity/MainActivityUiState.kt index e0efc7e..45c5493 100644 --- a/app/src/main/java/gq/kirmanak/mealient/ui/activity/MainActivityUiState.kt +++ b/app/src/main/java/gq/kirmanak/mealient/ui/activity/MainActivityUiState.kt @@ -1,14 +1,11 @@ package gq.kirmanak.mealient.ui.activity data class MainActivityUiState( - val loginButtonVisible: Boolean = false, val isAuthorized: Boolean = false, val navigationVisible: Boolean = false, val searchVisible: Boolean = false, ) { - val canShowLogin: Boolean - get() = !isAuthorized && loginButtonVisible + val canShowLogin: Boolean get() = !isAuthorized - val canShowLogout: Boolean - get() = isAuthorized && loginButtonVisible + val canShowLogout: Boolean get() = isAuthorized } diff --git a/app/src/main/java/gq/kirmanak/mealient/ui/add/AddRecipeFragment.kt b/app/src/main/java/gq/kirmanak/mealient/ui/add/AddRecipeFragment.kt index a3ec5dd..48b30b0 100644 --- a/app/src/main/java/gq/kirmanak/mealient/ui/add/AddRecipeFragment.kt +++ b/app/src/main/java/gq/kirmanak/mealient/ui/add/AddRecipeFragment.kt @@ -38,7 +38,7 @@ class AddRecipeFragment : Fragment(R.layout.fragment_add_recipe) { super.onViewCreated(view, savedInstanceState) logger.v { "onViewCreated() called with: view = $view, savedInstanceState = $savedInstanceState" } activityViewModel.updateUiState { - it.copy(loginButtonVisible = true, navigationVisible = true, searchVisible = false) + it.copy(navigationVisible = true, searchVisible = false) } viewModel.loadPreservedRequest() setupViews() diff --git a/app/src/main/java/gq/kirmanak/mealient/ui/auth/AuthenticationFragment.kt b/app/src/main/java/gq/kirmanak/mealient/ui/auth/AuthenticationFragment.kt index 14a2771..456cbc2 100644 --- a/app/src/main/java/gq/kirmanak/mealient/ui/auth/AuthenticationFragment.kt +++ b/app/src/main/java/gq/kirmanak/mealient/ui/auth/AuthenticationFragment.kt @@ -32,7 +32,7 @@ class AuthenticationFragment : Fragment(R.layout.fragment_authentication) { logger.v { "onViewCreated() called with: view = $view, savedInstanceState = $savedInstanceState" } binding.button.setOnClickListener { onLoginClicked() } activityViewModel.updateUiState { - it.copy(loginButtonVisible = false, navigationVisible = false, searchVisible = false) + it.copy(navigationVisible = true, searchVisible = false) } viewModel.uiState.observe(viewLifecycleOwner, ::onUiStateChange) } diff --git a/app/src/main/java/gq/kirmanak/mealient/ui/baseurl/BaseURLFragment.kt b/app/src/main/java/gq/kirmanak/mealient/ui/baseurl/BaseURLFragment.kt index b85b318..13a59c5 100644 --- a/app/src/main/java/gq/kirmanak/mealient/ui/baseurl/BaseURLFragment.kt +++ b/app/src/main/java/gq/kirmanak/mealient/ui/baseurl/BaseURLFragment.kt @@ -6,6 +6,7 @@ import androidx.fragment.app.Fragment import androidx.fragment.app.activityViewModels import androidx.fragment.app.viewModels import androidx.navigation.fragment.findNavController +import androidx.navigation.fragment.navArgs import by.kirich1409.viewbindingdelegate.viewBinding import dagger.hilt.android.AndroidEntryPoint import gq.kirmanak.mealient.R @@ -24,6 +25,7 @@ class BaseURLFragment : Fragment(R.layout.fragment_base_url) { private val binding by viewBinding(FragmentBaseUrlBinding::bind) private val viewModel by viewModels() private val activityViewModel by activityViewModels() + private val args by navArgs() @Inject lateinit var logger: Logger @@ -34,7 +36,7 @@ class BaseURLFragment : Fragment(R.layout.fragment_base_url) { binding.button.setOnClickListener(::onProceedClick) viewModel.uiState.observe(viewLifecycleOwner, ::onUiStateChange) activityViewModel.updateUiState { - it.copy(loginButtonVisible = false, navigationVisible = false, searchVisible = false) + it.copy(navigationVisible = !args.isOnboarding, searchVisible = false) } } diff --git a/app/src/main/java/gq/kirmanak/mealient/ui/disclaimer/DisclaimerFragment.kt b/app/src/main/java/gq/kirmanak/mealient/ui/disclaimer/DisclaimerFragment.kt index 1408ea3..f50b563 100644 --- a/app/src/main/java/gq/kirmanak/mealient/ui/disclaimer/DisclaimerFragment.kt +++ b/app/src/main/java/gq/kirmanak/mealient/ui/disclaimer/DisclaimerFragment.kt @@ -38,7 +38,7 @@ class DisclaimerFragment : Fragment(R.layout.fragment_disclaimer) { private fun navigateNext() { logger.v { "navigateNext() called" } - findNavController().navigate(actionDisclaimerFragmentToBaseURLFragment()) + findNavController().navigate(actionDisclaimerFragmentToBaseURLFragment(true)) } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { @@ -58,7 +58,7 @@ class DisclaimerFragment : Fragment(R.layout.fragment_disclaimer) { } viewModel.startCountDown() activityViewModel.updateUiState { - it.copy(loginButtonVisible = false, navigationVisible = false, searchVisible = false) + it.copy(navigationVisible = false, searchVisible = false) } } } \ No newline at end of file diff --git a/app/src/main/java/gq/kirmanak/mealient/ui/recipes/RecipesListFragment.kt b/app/src/main/java/gq/kirmanak/mealient/ui/recipes/RecipesListFragment.kt index 8209f20..1e81dd7 100644 --- a/app/src/main/java/gq/kirmanak/mealient/ui/recipes/RecipesListFragment.kt +++ b/app/src/main/java/gq/kirmanak/mealient/ui/recipes/RecipesListFragment.kt @@ -49,7 +49,7 @@ class RecipesListFragment : Fragment(R.layout.fragment_recipes_list) { super.onViewCreated(view, savedInstanceState) logger.v { "onViewCreated() called with: view = $view, savedInstanceState = $savedInstanceState" } activityViewModel.updateUiState { - it.copy(loginButtonVisible = true, navigationVisible = true, searchVisible = true) + it.copy(navigationVisible = true, searchVisible = true) } setupRecipeAdapter() hideKeyboardOnScroll() diff --git a/app/src/main/res/navigation/nav_graph.xml b/app/src/main/res/navigation/nav_graph.xml index cb5ca08..c5071f2 100644 --- a/app/src/main/res/navigation/nav_graph.xml +++ b/app/src/main/res/navigation/nav_graph.xml @@ -53,6 +53,9 @@ app:destination="@id/recipesListFragment" app:popUpTo="@id/nav_graph" app:popUpToInclusive="true" /> +