Rename RecipesFragment to RecipesListFragment

This commit is contained in:
Kirill Kamakin
2022-11-13 15:03:13 +01:00
parent a638133621
commit 5c66247843
9 changed files with 30 additions and 24 deletions

View File

@@ -16,7 +16,10 @@ import by.kirich1409.viewbindingdelegate.viewBinding
import com.google.android.material.shape.CornerFamily import com.google.android.material.shape.CornerFamily
import com.google.android.material.shape.MaterialShapeDrawable import com.google.android.material.shape.MaterialShapeDrawable
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import gq.kirmanak.mealient.NavGraphDirections import gq.kirmanak.mealient.NavGraphDirections.Companion.actionGlobalAddRecipeFragment
import gq.kirmanak.mealient.NavGraphDirections.Companion.actionGlobalAuthenticationFragment
import gq.kirmanak.mealient.NavGraphDirections.Companion.actionGlobalBaseURLFragment
import gq.kirmanak.mealient.NavGraphDirections.Companion.actionGlobalRecipesListFragment
import gq.kirmanak.mealient.R import gq.kirmanak.mealient.R
import gq.kirmanak.mealient.databinding.MainActivityBinding import gq.kirmanak.mealient.databinding.MainActivityBinding
import gq.kirmanak.mealient.extensions.observeOnce import gq.kirmanak.mealient.extensions.observeOnce
@@ -69,9 +72,9 @@ class MainActivity : AppCompatActivity(R.layout.main_activity) {
logger.v { "onNavigationItemSelected() called with: menuItem = $menuItem" } logger.v { "onNavigationItemSelected() called with: menuItem = $menuItem" }
menuItem.isChecked = true menuItem.isChecked = true
val directions = when (menuItem.itemId) { val directions = when (menuItem.itemId) {
R.id.add_recipe -> NavGraphDirections.actionGlobalAddRecipeFragment() R.id.add_recipe -> actionGlobalAddRecipeFragment()
R.id.recipes_list -> NavGraphDirections.actionGlobalRecipesFragment() R.id.recipes_list -> actionGlobalRecipesListFragment()
R.id.change_url -> NavGraphDirections.actionGlobalBaseURLFragment() R.id.change_url -> actionGlobalBaseURLFragment()
else -> throw IllegalArgumentException("Unknown menu item id: ${menuItem.itemId}") else -> throw IllegalArgumentException("Unknown menu item id: ${menuItem.itemId}")
} }
navigateTo(directions) navigateTo(directions)
@@ -142,7 +145,7 @@ class MainActivity : AppCompatActivity(R.layout.main_activity) {
logger.v { "onOptionsItemSelected() called with: item = $item" } logger.v { "onOptionsItemSelected() called with: item = $item" }
val result = when (item.itemId) { val result = when (item.itemId) {
R.id.login -> { R.id.login -> {
navigateTo(NavGraphDirections.actionGlobalAuthenticationFragment()) navigateTo(actionGlobalAuthenticationFragment())
true true
} }
R.id.logout -> { R.id.logout -> {

View File

@@ -41,7 +41,7 @@ class MainActivityViewModel @Inject constructor(
_startDestination.value = when { _startDestination.value = when {
!disclaimerStorage.isDisclaimerAccepted() -> R.id.disclaimerFragment !disclaimerStorage.isDisclaimerAccepted() -> R.id.disclaimerFragment
serverInfoRepo.getUrl() == null -> R.id.baseURLFragment serverInfoRepo.getUrl() == null -> R.id.baseURLFragment
else -> R.id.recipesFragment else -> R.id.recipesListFragment
} }
} }
} }

View File

@@ -15,6 +15,7 @@ import gq.kirmanak.mealient.extensions.checkIfInputIsEmpty
import gq.kirmanak.mealient.logging.Logger import gq.kirmanak.mealient.logging.Logger
import gq.kirmanak.mealient.ui.OperationUiState import gq.kirmanak.mealient.ui.OperationUiState
import gq.kirmanak.mealient.ui.activity.MainActivityViewModel import gq.kirmanak.mealient.ui.activity.MainActivityViewModel
import gq.kirmanak.mealient.ui.baseurl.BaseURLFragmentDirections.Companion.actionBaseURLFragmentToRecipesListFragment
import javax.inject.Inject import javax.inject.Inject
@AndroidEntryPoint @AndroidEntryPoint
@@ -56,7 +57,7 @@ class BaseURLFragment : Fragment(R.layout.fragment_base_url) {
private fun onUiStateChange(uiState: OperationUiState<Unit>) = with(binding) { private fun onUiStateChange(uiState: OperationUiState<Unit>) = with(binding) {
logger.v { "onUiStateChange() called with: uiState = $uiState" } logger.v { "onUiStateChange() called with: uiState = $uiState" }
if (uiState.isSuccess) { if (uiState.isSuccess) {
findNavController().navigate(BaseURLFragmentDirections.actionBaseURLFragmentToRecipesFragment()) findNavController().navigate(actionBaseURLFragmentToRecipesListFragment())
return return
} }
urlInputLayout.error = when (val exception = uiState.exceptionOrNull) { urlInputLayout.error = when (val exception = uiState.exceptionOrNull) {

View File

@@ -12,6 +12,7 @@ import gq.kirmanak.mealient.R
import gq.kirmanak.mealient.databinding.FragmentDisclaimerBinding import gq.kirmanak.mealient.databinding.FragmentDisclaimerBinding
import gq.kirmanak.mealient.logging.Logger import gq.kirmanak.mealient.logging.Logger
import gq.kirmanak.mealient.ui.activity.MainActivityViewModel import gq.kirmanak.mealient.ui.activity.MainActivityViewModel
import gq.kirmanak.mealient.ui.disclaimer.DisclaimerFragmentDirections.Companion.actionDisclaimerFragmentToBaseURLFragment
import javax.inject.Inject import javax.inject.Inject
@AndroidEntryPoint @AndroidEntryPoint
@@ -37,7 +38,7 @@ class DisclaimerFragment : Fragment(R.layout.fragment_disclaimer) {
private fun navigateNext() { private fun navigateNext() {
logger.v { "navigateNext() called" } logger.v { "navigateNext() called" }
findNavController().navigate(DisclaimerFragmentDirections.actionDisclaimerFragmentToBaseURLFragment()) findNavController().navigate(actionDisclaimerFragmentToBaseURLFragment())
} }
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { override fun onViewCreated(view: View, savedInstanceState: Bundle?) {

View File

@@ -15,7 +15,7 @@ import by.kirich1409.viewbindingdelegate.viewBinding
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import gq.kirmanak.mealient.R import gq.kirmanak.mealient.R
import gq.kirmanak.mealient.database.recipe.entity.RecipeSummaryEntity import gq.kirmanak.mealient.database.recipe.entity.RecipeSummaryEntity
import gq.kirmanak.mealient.databinding.FragmentRecipesBinding import gq.kirmanak.mealient.databinding.FragmentRecipesListBinding
import gq.kirmanak.mealient.datasource.NetworkError import gq.kirmanak.mealient.datasource.NetworkError
import gq.kirmanak.mealient.extensions.collectWhenViewResumed import gq.kirmanak.mealient.extensions.collectWhenViewResumed
import gq.kirmanak.mealient.extensions.refreshRequestFlow import gq.kirmanak.mealient.extensions.refreshRequestFlow
@@ -23,6 +23,7 @@ import gq.kirmanak.mealient.extensions.showLongToast
import gq.kirmanak.mealient.extensions.valueUpdatesOnly import gq.kirmanak.mealient.extensions.valueUpdatesOnly
import gq.kirmanak.mealient.logging.Logger import gq.kirmanak.mealient.logging.Logger
import gq.kirmanak.mealient.ui.activity.MainActivityViewModel import gq.kirmanak.mealient.ui.activity.MainActivityViewModel
import gq.kirmanak.mealient.ui.recipes.RecipesListFragmentDirections.Companion.actionRecipesFragmentToRecipeInfoFragment
import gq.kirmanak.mealient.ui.recipes.images.RecipePreloaderFactory import gq.kirmanak.mealient.ui.recipes.images.RecipePreloaderFactory
import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.filter import kotlinx.coroutines.flow.filter
@@ -31,10 +32,10 @@ import kotlinx.coroutines.flow.map
import javax.inject.Inject import javax.inject.Inject
@AndroidEntryPoint @AndroidEntryPoint
class RecipesFragment : Fragment(R.layout.fragment_recipes) { class RecipesListFragment : Fragment(R.layout.fragment_recipes_list) {
private val binding by viewBinding(FragmentRecipesBinding::bind) private val binding by viewBinding(FragmentRecipesListBinding::bind)
private val viewModel by viewModels<RecipeViewModel>() private val viewModel by viewModels<RecipesListViewModel>()
private val activityViewModel by activityViewModels<MainActivityViewModel>() private val activityViewModel by activityViewModels<MainActivityViewModel>()
@Inject @Inject
@@ -62,7 +63,7 @@ class RecipesFragment : Fragment(R.layout.fragment_recipes) {
private fun navigateToRecipeInfo(id: String) { private fun navigateToRecipeInfo(id: String) {
logger.v { "navigateToRecipeInfo() called with: id = $id" } logger.v { "navigateToRecipeInfo() called with: id = $id" }
val directions = RecipesFragmentDirections.actionRecipesFragmentToRecipeInfoFragment(id) val directions = actionRecipesFragmentToRecipeInfoFragment(id)
findNavController().navigate(directions) findNavController().navigate(directions)
} }

View File

@@ -12,7 +12,7 @@ import kotlinx.coroutines.flow.onEach
import javax.inject.Inject import javax.inject.Inject
@HiltViewModel @HiltViewModel
class RecipeViewModel @Inject constructor( class RecipesListViewModel @Inject constructor(
private val recipeRepo: RecipeRepo, private val recipeRepo: RecipeRepo,
authRepo: AuthRepo, authRepo: AuthRepo,
private val logger: Logger, private val logger: Logger,

View File

@@ -4,7 +4,7 @@
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
tools:context=".ui.recipes.RecipesFragment"> tools:context=".ui.recipes.RecipesListFragment">
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout <androidx.swiperefreshlayout.widget.SwipeRefreshLayout
android:id="@+id/refresher" android:id="@+id/refresher"

View File

@@ -12,10 +12,10 @@
tools:layout="@layout/fragment_authentication" /> tools:layout="@layout/fragment_authentication" />
<fragment <fragment
android:id="@+id/recipesFragment" android:id="@+id/recipesListFragment"
android:name="gq.kirmanak.mealient.ui.recipes.RecipesFragment" android:name="gq.kirmanak.mealient.ui.recipes.RecipesListFragment"
android:label="fragment_recipes" android:label="fragment_recipes"
tools:layout="@layout/fragment_recipes"> tools:layout="@layout/fragment_recipes_list">
<action <action
android:id="@+id/action_recipesFragment_to_recipeInfoFragment" android:id="@+id/action_recipesFragment_to_recipeInfoFragment"
app:destination="@id/recipeInfoFragment" /> app:destination="@id/recipeInfoFragment" />
@@ -49,8 +49,8 @@
android:label="fragment_base_url" android:label="fragment_base_url"
tools:layout="@layout/fragment_base_url"> tools:layout="@layout/fragment_base_url">
<action <action
android:id="@+id/action_baseURLFragment_to_recipesFragment" android:id="@+id/action_baseURLFragment_to_recipesListFragment"
app:destination="@id/recipesFragment" app:destination="@id/recipesListFragment"
app:popUpTo="@id/nav_graph" app:popUpTo="@id/nav_graph"
app:popUpToInclusive="true" /> app:popUpToInclusive="true" />
</fragment> </fragment>
@@ -66,8 +66,8 @@
app:destination="@id/authenticationFragment" /> app:destination="@id/authenticationFragment" />
<action <action
android:id="@+id/action_global_recipesFragment" android:id="@+id/action_global_recipesListFragment"
app:destination="@id/recipesFragment" /> app:destination="@id/recipesListFragment" />
<action <action
android:id="@+id/action_global_addRecipeFragment" android:id="@+id/action_global_addRecipeFragment"

View File

@@ -16,7 +16,7 @@ import kotlinx.coroutines.test.runTest
import org.junit.Test import org.junit.Test
@OptIn(ExperimentalCoroutinesApi::class) @OptIn(ExperimentalCoroutinesApi::class)
class RecipeViewModelTest : BaseUnitTest() { class RecipesListViewModelTest : BaseUnitTest() {
@MockK @MockK
lateinit var authRepo: AuthRepo lateinit var authRepo: AuthRepo
@@ -78,5 +78,5 @@ class RecipeViewModelTest : BaseUnitTest() {
assertThat(actual).isEqualTo(result) assertThat(actual).isEqualTo(result)
} }
private fun createSubject() = RecipeViewModel(recipeRepo, authRepo, logger) private fun createSubject() = RecipesListViewModel(recipeRepo, authRepo, logger)
} }