From bd48aba8d3b38107ece9a6f6487fc0a98087341e Mon Sep 17 00:00:00 2001 From: Koen Date: Fri, 20 Oct 2023 14:14:02 +0200 Subject: [PATCH] Added text for FeedView which allows users to be informed what to do when sub feed is empty. --- .../fragment/mainactivity/main/FeedView.kt | 6 +++ .../main/SubscriptionsFeedFragment.kt | 8 +++- app/src/main/res/layout/fragment_feed.xml | 39 +++++++++++++------ 3 files changed, 40 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/FeedView.kt b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/FeedView.kt index d6c2c1bf..1f061d14 100644 --- a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/FeedView.kt +++ b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/FeedView.kt @@ -39,6 +39,7 @@ abstract class FeedView : L private val _spinnerSortBy: Spinner; private val _containerSortBy: LinearLayout; private val _tagsView: TagsView; + private val _textCentered: TextView; protected val _toolbarContentView: LinearLayout; @@ -68,6 +69,7 @@ abstract class FeedView : L this.fragment = fragment; inflater.inflate(R.layout.fragment_feed, this); + _textCentered = findViewById(R.id.text_centered); _progress_bar = findViewById(R.id.progress_bar); _progress_bar.inactiveColor = Color.TRANSPARENT; @@ -169,6 +171,10 @@ abstract class FeedView : L _recyclerResults.addOnScrollListener(_scrollListener); } + protected fun setTextCentered(text: String?) { + _textCentered.text = text; + } + fun onResume() { //Reload the pager if the plugin was killed val pager = recyclerData.pager; diff --git a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/SubscriptionsFeedFragment.kt b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/SubscriptionsFeedFragment.kt index 061e42e8..5cd2c3fb 100644 --- a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/SubscriptionsFeedFragment.kt +++ b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/SubscriptionsFeedFragment.kt @@ -13,6 +13,7 @@ import com.futo.platformplayer.api.media.models.contents.ContentType import com.futo.platformplayer.api.media.models.contents.IPlatformContent import com.futo.platformplayer.api.media.models.video.IPlatformVideo import com.futo.platformplayer.api.media.platforms.js.JSClient +import com.futo.platformplayer.api.media.structures.EmptyPager import com.futo.platformplayer.api.media.structures.IPager import com.futo.platformplayer.cache.ChannelContentCache import com.futo.platformplayer.constructs.TaskHandler @@ -280,8 +281,12 @@ class SubscriptionsFeedFragment : MainFragment() { Logger.i(TAG, "Subscriptions load"); if(recyclerData.results.size == 0) { val cachePager = ChannelContentCache.instance.getSubscriptionCachePager(); - Logger.i(TAG, "Subscription show cache (${cachePager.getResults().size})"); + val results = cachePager.getResults(); + Logger.i(TAG, "Subscription show cache (${results.size})"); + setTextCentered(if (results.isEmpty()) "No results found\nSwipe down to refresh" else null); setPager(cachePager); + } else { + setTextCentered(null); } _taskGetPager.run(withRefetch); } @@ -294,6 +299,7 @@ class SubscriptionsFeedFragment : MainFragment() { finishRefreshLayoutLoader(); setLoading(false); setPager(pager); + setTextCentered(if (pager.getResults().isEmpty()) "No results found\nSwipe down to refresh" else null); } catch (e: Throwable) { Logger.e(TAG, "Failed to finish loading", e) } diff --git a/app/src/main/res/layout/fragment_feed.xml b/app/src/main/res/layout/fragment_feed.xml index 006c53fb..6325134c 100644 --- a/app/src/main/res/layout/fragment_feed.xml +++ b/app/src/main/res/layout/fragment_feed.xml @@ -76,22 +76,37 @@ android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior"> - - + + android:layout_height="wrap_content"> + - - + + + +