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