SearchResultsFragment: Update navArg when query is updated

Switch from args to arguments as the current one caches the old
value and returns it again on creation.

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
Aayush Gupta
2024-01-21 19:18:08 +05:30
parent 87b4301eb1
commit 683c00ee0d

View File

@@ -34,7 +34,6 @@ import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import androidx.lifecycle.repeatOnLifecycle import androidx.lifecycle.repeatOnLifecycle
import androidx.navigation.fragment.findNavController import androidx.navigation.fragment.findNavController
import androidx.navigation.fragment.navArgs
import com.aurora.gplayapi.data.models.App import com.aurora.gplayapi.data.models.App
import com.aurora.gplayapi.data.models.SearchBundle import com.aurora.gplayapi.data.models.SearchBundle
import com.aurora.store.R import com.aurora.store.R
@@ -62,8 +61,6 @@ class SearchResultsFragment : BaseFragment(R.layout.fragment_search_result),
private val binding: FragmentSearchResultBinding private val binding: FragmentSearchResultBinding
get() = _binding!! get() = _binding!!
private val args: SearchResultsFragmentArgs by navArgs()
lateinit var VM: SearchResultViewModel lateinit var VM: SearchResultViewModel
lateinit var endlessRecyclerOnScrollListener: EndlessRecyclerOnScrollListener lateinit var endlessRecyclerOnScrollListener: EndlessRecyclerOnScrollListener
@@ -125,7 +122,7 @@ class SearchResultsFragment : BaseFragment(R.layout.fragment_search_result),
updateController(searchBundle) updateController(searchBundle)
} }
query = args.query query = requireArguments().getString("query")
query?.let { updateQuery(it) } query?.let { updateQuery(it) }
lifecycleScope.launch { lifecycleScope.launch {
@@ -269,6 +266,7 @@ class SearchResultsFragment : BaseFragment(R.layout.fragment_search_result),
) { ) {
query = searchView.text.toString() query = searchView.text.toString()
query?.let { query?.let {
requireArguments().putString("query", it)
queryViewModel(it) queryViewModel(it)
return@setOnEditorActionListener true return@setOnEditorActionListener true
} }