From d3603a8aabd5f357d08866ce3cfd18e345f416a7 Mon Sep 17 00:00:00 2001 From: Dmitry Brant Date: Mon, 28 Jul 2025 13:46:23 -0400 Subject: [PATCH] Correctly display error(s) in SearchResultsFragment. --- .../java/org/wikipedia/search/SearchResultsFragment.kt | 7 +++++++ app/src/main/res/layout/fragment_search_results.xml | 6 +++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/wikipedia/search/SearchResultsFragment.kt b/app/src/main/java/org/wikipedia/search/SearchResultsFragment.kt index 57db1131fa5..47bb96594d0 100644 --- a/app/src/main/java/org/wikipedia/search/SearchResultsFragment.kt +++ b/app/src/main/java/org/wikipedia/search/SearchResultsFragment.kt @@ -5,6 +5,7 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.core.view.isVisible import androidx.fragment.app.Fragment import androidx.fragment.app.viewModels import androidx.lifecycle.Lifecycle @@ -74,6 +75,12 @@ class SearchResultsFragment : Fragment() { launch { searchResultsAdapter.loadStateFlow.collectLatest { callback()?.onSearchProgressBar(it.append is LoadState.Loading || it.refresh is LoadState.Loading) + if (it.refresh is LoadState.Error) { + binding.searchErrorView.setError((it.refresh as LoadState.Error).error) + binding.searchErrorView.isVisible = true + return@collectLatest + } + binding.searchErrorView.isVisible = false val showEmpty = (it.append is LoadState.NotLoading && it.append.endOfPaginationReached && searchResultsAdapter.itemCount == 0) if (showEmpty) { searchResultsConcatAdapter.addAdapter(noSearchResultAdapter) diff --git a/app/src/main/res/layout/fragment_search_results.xml b/app/src/main/res/layout/fragment_search_results.xml index cb9d056e144..25b8e61aa6f 100644 --- a/app/src/main/res/layout/fragment_search_results.xml +++ b/app/src/main/res/layout/fragment_search_results.xml @@ -16,8 +16,8 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center" - android:gravity="center" - android:orientation="vertical" - android:visibility="gone" /> + android:layout_marginHorizontal="16dp" + android:visibility="gone" + tools:visibility="visible"/>