From 9f80d43ffc4377216bfeff04fae76879b171cb81 Mon Sep 17 00:00:00 2001 From: Spring Date: Fri, 28 Aug 2026 00:51:53 +0700 Subject: [PATCH 1/3] fix(home): update shimmer with current layout --- .../ui/home/HomeParentItemAdapterPreview.kt | 14 +++++++ app/src/main/res/layout/fragment_home.xml | 37 ++-------------- .../main/res/layout/fragment_home_head.xml | 2 + .../main/res/layout/fragment_home_head_tv.xml | 2 + app/src/main/res/layout/fragment_home_tv.xml | 42 ++++--------------- .../main/res/layout/loading_hero_banner.xml | 17 ++++++++ 6 files changed, 46 insertions(+), 68 deletions(-) create mode 100644 app/src/main/res/layout/loading_hero_banner.xml diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeParentItemAdapterPreview.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeParentItemAdapterPreview.kt index 959806e566c..1d1a88fe998 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeParentItemAdapterPreview.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeParentItemAdapterPreview.kt @@ -310,6 +310,9 @@ class HomeParentItemAdapterPreview( private val previewViewpager: ViewPager2 = itemView.findViewById(R.id.home_preview_viewpager) + private val homePreviewShimmer: com.facebook.shimmer.ShimmerFrameLayout? = + itemView.findViewById(R.id.home_preview_shimmer) + private val previewViewpagerText: ViewGroup = itemView.findViewById(R.id.home_preview_viewpager_text) @@ -662,6 +665,8 @@ class HomeParentItemAdapterPreview( when (preview) { is Resource.Success -> { + homePreviewShimmer?.stopShimmer() + homePreviewShimmer?.isGone = true previewAdapter.submitList(preview.value.second) previewAdapter.hasMoreItems = preview.value.first /*if (!.setItems( @@ -693,7 +698,16 @@ class HomeParentItemAdapterPreview( } } + is Resource.Loading -> { + previewViewpager.isGone = true + previewViewpagerText.isGone = true + homePreviewShimmer?.isVisible = true + homePreviewShimmer?.startShimmer() + } + else -> { + homePreviewShimmer?.stopShimmer() + homePreviewShimmer?.isGone = true previewAdapter.submitList(listOf()) previewViewpager.setCurrentItem(0, false) previewViewpager.isVisible = false diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index dc1635392c6..a093db7bb9b 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -27,9 +27,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center" - android:layout_marginTop="15dp" android:orientation="vertical" - android:paddingTop="40dp" app:shimmer_auto_start="true" app:shimmer_base_alpha="0.2" app:shimmer_duration="@integer/loading_time" @@ -40,39 +38,10 @@ android:layout_height="wrap_content" android:orientation="vertical"> - - - - - - - - - - + android:layout_height="500dp" + android:background="@color/grayShimmer" /> + + + + - - - - - - - - - - + android:layout_height="400dp" + android:layout_marginStart="10dp" + android:layout_marginTop="10dp" + android:layout_marginEnd="10dp" + android:background="@color/grayShimmer" + app:cardCornerRadius="@dimen/rounded_image_radius" /> + + + + From be2d42cde1948fbff184d394c9676a6d4255c22e Mon Sep 17 00:00:00 2001 From: iA Date: Fri, 28 Aug 2026 11:29:04 +0700 Subject: [PATCH 2/3] fix(home): Make banner smaller and match its shimmer on TV --- .../ui/home/HomeParentItemAdapterPreview.kt | 2 +- .../main/res/layout/fragment_home_head_tv.xml | 26 +++++++++---------- app/src/main/res/layout/fragment_home_tv.xml | 12 +++------ .../main/res/layout/home_scroll_view_tv.xml | 2 +- 4 files changed, 19 insertions(+), 23 deletions(-) diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeParentItemAdapterPreview.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeParentItemAdapterPreview.kt index 1d1a88fe998..b5d167d4b78 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeParentItemAdapterPreview.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/home/HomeParentItemAdapterPreview.kt @@ -655,7 +655,7 @@ class HomeParentItemAdapterPreview( } private fun updatePreview(preview: Resource>>) { - if (preview is Resource.Success) { + if (preview is Resource.Success || isLayout(TV or EMULATOR)) { homeNonePadding.apply { val params = layoutParams params.height = 0 diff --git a/app/src/main/res/layout/fragment_home_head_tv.xml b/app/src/main/res/layout/fragment_home_head_tv.xml index c06de13f82d..1f15bc405f2 100644 --- a/app/src/main/res/layout/fragment_home_head_tv.xml +++ b/app/src/main/res/layout/fragment_home_head_tv.xml @@ -34,7 +34,7 @@ + android:padding="16dp"> @@ -87,10 +87,10 @@ android:id="@+id/home_preview_text" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginTop="10dp" + android:layout_marginTop="4dp" android:ellipsize="end" android:maxLines="1" - android:textSize="25sp" + android:textSize="22sp" android:textStyle="bold" android:shadowColor="#B0000000" android:shadowDx="0" @@ -102,7 +102,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" - android:layout_marginTop="10dp" + android:layout_marginTop="4dp" android:layout_marginBottom="4dp" android:gravity="center_vertical"> @@ -142,9 +142,9 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:ellipsize="end" - android:maxLines="3" - android:paddingBottom="5dp" - android:textSize="15sp" + android:maxLines="2" + android:paddingBottom="4dp" + android:textSize="14sp" android:textColor="@color/textColor" android:shadowColor="#B0000000" android:shadowDx="0" @@ -158,9 +158,9 @@ android:layout_height="wrap_content" android:ellipsize="end" android:maxLines="1" - android:textSize="13sp" + android:textSize="12sp" android:textColor="@color/gray_400" - android:paddingBottom="5dp" + android:paddingBottom="2dp" tools:text="Cast: Actor One, Actor Two" /> - - diff --git a/app/src/main/res/layout/home_scroll_view_tv.xml b/app/src/main/res/layout/home_scroll_view_tv.xml index bb282b2dd14..73abe477878 100644 --- a/app/src/main/res/layout/home_scroll_view_tv.xml +++ b/app/src/main/res/layout/home_scroll_view_tv.xml @@ -17,7 +17,7 @@ From be870c5f9239915605c0777cb4a83e0c8a1ee1c7 Mon Sep 17 00:00:00 2001 From: iA Date: Fri, 28 Aug 2026 15:23:28 +0700 Subject: [PATCH 3/3] fix(home): match shimmer color --- app/src/main/res/layout/fragment_home.xml | 1 + app/src/main/res/layout/fragment_home_tv.xml | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index a093db7bb9b..e2baa3d2eb7 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -41,6 +41,7 @@ @@ -46,7 +45,8 @@ android:layout_marginStart="10dp" android:layout_marginTop="10dp" android:layout_marginEnd="10dp" - android:background="@color/grayShimmer" + android:alpha="0.25" + app:cardBackgroundColor="@color/grayShimmer" app:cardCornerRadius="@dimen/rounded_image_radius" />