From 1fd7adc7a980d664839a45692abb9e1c4061b389 Mon Sep 17 00:00:00 2001
From: Taras Smakula <tarassmakula@gmail.com>
Date: Thu, 7 Mar 2024 17:37:18 +0200
Subject: [PATCH] Add invite to connect loading

---
 .../core/feature/user/UserDialogFragment.kt   |  8 ++++++-
 .../main/res/layout/dialog_fragment_user.xml  | 23 +++++++++++++++++++
 .../layout/list_item_connection_invite.xml    |  2 +-
 .../res/layout/list_item_invited_circle.xml   |  2 +-
 .../res/layout/list_item_invited_gallery.xml  |  2 +-
 .../res/layout/list_item_invited_group.xml    |  2 +-
 .../res/layout/list_item_people_request.xml   |  2 +-
 7 files changed, 35 insertions(+), 6 deletions(-)

diff --git a/core/src/main/java/org/futo/circles/core/feature/user/UserDialogFragment.kt b/core/src/main/java/org/futo/circles/core/feature/user/UserDialogFragment.kt
index 59ed52525..fd0a71b04 100644
--- a/core/src/main/java/org/futo/circles/core/feature/user/UserDialogFragment.kt
+++ b/core/src/main/java/org/futo/circles/core/feature/user/UserDialogFragment.kt
@@ -22,6 +22,7 @@ import org.futo.circles.core.extensions.setEnabledChildren
 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.visible
 import org.futo.circles.core.extensions.withConfirmation
 import org.futo.circles.core.feature.user.list.UsersCirclesAdapter
 import org.futo.circles.core.model.IgnoreUser
@@ -71,7 +72,10 @@ class UserDialogFragment : BaseFullscreenDialogFragment(DialogFragmentUserBindin
         }
         binding.btnInviteToConnect.apply {
             setIsVisible(!viewModel.isUserMyFollower())
-            setOnClickListener { viewModel.inviteToMySharedCircle() }
+            setOnClickListener {
+                binding.lInviteToConnectLoading.visible()
+                viewModel.inviteToMySharedCircle()
+            }
         }
     }
 
@@ -118,10 +122,12 @@ class UserDialogFragment : BaseFullscreenDialogFragment(DialogFragmentUserBindin
         }
         viewModel.requestFollowLiveData.observeResponse(this,
             success = { showSuccess(getString(R.string.request_sent)) })
+
         viewModel.inviteToConnectLiveData.observeResponse(this,
             success = {
                 showSuccess(getString(R.string.request_sent))
                 binding.btnInviteToConnect.gone()
+                binding.lInviteToConnectLoading.gone()
             })
         viewModel.ignoreUserLiveData.observeResponse(this,
             success = {
diff --git a/core/src/main/res/layout/dialog_fragment_user.xml b/core/src/main/res/layout/dialog_fragment_user.xml
index f0e8b2bdd..cd9a1cc92 100644
--- a/core/src/main/res/layout/dialog_fragment_user.xml
+++ b/core/src/main/res/layout/dialog_fragment_user.xml
@@ -85,6 +85,29 @@
         app:layout_constraintTop_toBottomOf="@id/tvUserId"
         tools:visibility="visible" />
 
+    <FrameLayout
+        android:id="@+id/lInviteToConnectLoading"
+        android:layout_width="0dp"
+        android:layout_height="0dp"
+        android:background="?android:colorBackground"
+        android:clickable="true"
+        android:focusable="true"
+        android:outlineProvider="none"
+        android:translationZ="100dp"
+        android:visibility="gone"
+        app:layout_constraintBottom_toBottomOf="@id/btnInviteToConnect"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="@id/btnInviteToConnect">
+
+        <ProgressBar
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+    </FrameLayout>
+
 
     <View
         android:id="@+id/divider"
diff --git a/core/src/main/res/layout/list_item_connection_invite.xml b/core/src/main/res/layout/list_item_connection_invite.xml
index 893f0199f..0f99fb355 100644
--- a/core/src/main/res/layout/list_item_connection_invite.xml
+++ b/core/src/main/res/layout/list_item_connection_invite.xml
@@ -86,7 +86,7 @@
         android:clickable="true"
         android:focusable="true"
         android:outlineProvider="none"
-        android:translationZ="2dp"
+        android:translationZ="100dp"
         android:visibility="gone"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintEnd_toEndOf="parent"
diff --git a/core/src/main/res/layout/list_item_invited_circle.xml b/core/src/main/res/layout/list_item_invited_circle.xml
index ba08bb8ff..a68947551 100644
--- a/core/src/main/res/layout/list_item_invited_circle.xml
+++ b/core/src/main/res/layout/list_item_invited_circle.xml
@@ -105,7 +105,7 @@
         android:clickable="true"
         android:focusable="true"
         android:outlineProvider="none"
-        android:translationZ="2dp"
+        android:translationZ="100dp"
         android:visibility="gone"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintEnd_toEndOf="parent"
diff --git a/core/src/main/res/layout/list_item_invited_gallery.xml b/core/src/main/res/layout/list_item_invited_gallery.xml
index e3491a4af..0e2e5683f 100644
--- a/core/src/main/res/layout/list_item_invited_gallery.xml
+++ b/core/src/main/res/layout/list_item_invited_gallery.xml
@@ -98,7 +98,7 @@
         android:clickable="true"
         android:focusable="true"
         android:outlineProvider="none"
-        android:translationZ="2dp"
+        android:translationZ="100dp"
         android:visibility="gone"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintEnd_toEndOf="parent"
diff --git a/core/src/main/res/layout/list_item_invited_group.xml b/core/src/main/res/layout/list_item_invited_group.xml
index 8b3e3f612..84e736aba 100644
--- a/core/src/main/res/layout/list_item_invited_group.xml
+++ b/core/src/main/res/layout/list_item_invited_group.xml
@@ -109,7 +109,7 @@
         android:clickable="true"
         android:focusable="true"
         android:outlineProvider="none"
-        android:translationZ="2dp"
+        android:translationZ="100dp"
         android:visibility="gone"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintEnd_toEndOf="parent"
diff --git a/core/src/main/res/layout/list_item_people_request.xml b/core/src/main/res/layout/list_item_people_request.xml
index a70971190..3ff510fc2 100644
--- a/core/src/main/res/layout/list_item_people_request.xml
+++ b/core/src/main/res/layout/list_item_people_request.xml
@@ -101,7 +101,7 @@
         android:clickable="true"
         android:focusable="true"
         android:outlineProvider="none"
-        android:translationZ="2dp"
+        android:translationZ="100dp"
         android:visibility="gone"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintEnd_toEndOf="parent"
-- 
GitLab