From 969e9064520c78fa43955d41830290f1a20ba229 Mon Sep 17 00:00:00 2001
From: Taras Smakula <tarassmakula@gmail.com>
Date: Wed, 27 Dec 2023 14:59:41 +0200
Subject: [PATCH] Change empty view on user's page

---
 .../feature/people/user/UserDialogFragment.kt   | 12 +++++++++---
 .../main/res/layout/dialog_fragment_user.xml    | 17 +----------------
 2 files changed, 10 insertions(+), 19 deletions(-)

diff --git a/app/src/main/java/org/futo/circles/feature/people/user/UserDialogFragment.kt b/app/src/main/java/org/futo/circles/feature/people/user/UserDialogFragment.kt
index fcbd792f1..159777906 100644
--- a/app/src/main/java/org/futo/circles/feature/people/user/UserDialogFragment.kt
+++ b/app/src/main/java/org/futo/circles/feature/people/user/UserDialogFragment.kt
@@ -20,6 +20,7 @@ import org.futo.circles.core.extensions.setIsVisible
 import org.futo.circles.core.extensions.showNoInternetConnection
 import org.futo.circles.core.extensions.showSuccess
 import org.futo.circles.core.extensions.withConfirmation
+import org.futo.circles.core.view.EmptyTabPlaceholderView
 import org.futo.circles.databinding.DialogFragmentUserBinding
 import org.futo.circles.extensions.*
 import org.futo.circles.feature.people.user.list.UsersCirclesAdapter
@@ -107,7 +108,6 @@ class UserDialogFragment : BaseFullscreenDialogFragment(DialogFragmentUserBindin
         viewModel.userLiveData.observeData(this) { setupUserInfo(it) }
         viewModel.timelineLiveDataLiveData.observeData(this) {
             usersCirclesAdapter.submitList(it)
-            binding.tvEmptyCirclesList.setIsVisible(it.isEmpty())
         }
         viewModel.requestFollowLiveData.observeResponse(this,
             success = { showSuccess(getString(R.string.request_sent)) })
@@ -134,8 +134,14 @@ class UserDialogFragment : BaseFullscreenDialogFragment(DialogFragmentUserBindin
             tvUserId.text = user.userId
             tvUserName.text = user.notEmptyDisplayName()
             ivUser.loadUserProfileIcon(user.avatarUrl, user.userId)
-            tvEmptyCirclesList.text =
-                getString(R.string.not_following_any_circles_format, user.notEmptyDisplayName())
+            rvCircles.setEmptyView(EmptyTabPlaceholderView(requireContext()).apply {
+                setText(
+                    getString(
+                        R.string.not_following_any_circles_format,
+                        user.notEmptyDisplayName()
+                    )
+                )
+            })
         }
     }
 
diff --git a/app/src/main/res/layout/dialog_fragment_user.xml b/app/src/main/res/layout/dialog_fragment_user.xml
index e8bdad9e3..4de5e4250 100644
--- a/app/src/main/res/layout/dialog_fragment_user.xml
+++ b/app/src/main/res/layout/dialog_fragment_user.xml
@@ -82,7 +82,7 @@
         app:layout_constraintTop_toBottomOf="@id/tvUserId" />
 
 
-    <androidx.recyclerview.widget.RecyclerView
+    <org.futo.circles.core.view.LoadingRecyclerView
         android:id="@+id/rvCircles"
         android:layout_width="0dp"
         android:layout_height="0dp"
@@ -92,19 +92,4 @@
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintTop_toBottomOf="@id/divider" />
 
-    <TextView
-        android:id="@+id/tvEmptyCirclesList"
-        style="@style/title2"
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        android:layout_marginHorizontal="8dp"
-        android:gravity="center"
-        android:visibility="gone"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@id/divider"
-        tools:text="Not following any circles for user"
-        tools:visibility="visible" />
-
 </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
-- 
GitLab