From 174462248dfa891aed211d8c4b2cbc1046569edc Mon Sep 17 00:00:00 2001 From: Taras Smakula <tarassmakula@gmail.com> Date: Fri, 8 Mar 2024 12:32:40 +0200 Subject: [PATCH] Simplify invite. to connect loading --- .../circles/core/extensions/ViewExtensions.kt | 4 +++ .../core/feature/user/UserDialogFragment.kt | 16 ++++++++--- .../main/res/layout/dialog_fragment_user.xml | 27 ++++++------------- .../layout/list_item_connection_invite.xml | 1 + .../res/layout/list_item_people_request.xml | 1 + 5 files changed, 27 insertions(+), 22 deletions(-) diff --git a/core/src/main/java/org/futo/circles/core/extensions/ViewExtensions.kt b/core/src/main/java/org/futo/circles/core/extensions/ViewExtensions.kt index e66b2f962..17090ae2b 100644 --- a/core/src/main/java/org/futo/circles/core/extensions/ViewExtensions.kt +++ b/core/src/main/java/org/futo/circles/core/extensions/ViewExtensions.kt @@ -21,6 +21,10 @@ fun View.gone() { visibility = View.GONE } +fun View.invisible() { + visibility = View.INVISIBLE +} + fun View.setIsVisible(isVisible: Boolean) { visibility = if (isVisible) View.VISIBLE else View.GONE } 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 fd0a71b04..5530503eb 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 @@ -13,6 +13,7 @@ import org.futo.circles.core.base.NetworkObserver import org.futo.circles.core.base.fragment.BaseFullscreenDialogFragment import org.futo.circles.core.databinding.DialogFragmentUserBinding import org.futo.circles.core.extensions.gone +import org.futo.circles.core.extensions.invisible import org.futo.circles.core.extensions.loadUserProfileIcon import org.futo.circles.core.extensions.notEmptyDisplayName import org.futo.circles.core.extensions.observeData @@ -20,6 +21,7 @@ import org.futo.circles.core.extensions.observeResponse import org.futo.circles.core.extensions.onBackPressed import org.futo.circles.core.extensions.setEnabledChildren import org.futo.circles.core.extensions.setIsVisible +import org.futo.circles.core.extensions.showError import org.futo.circles.core.extensions.showNoInternetConnection import org.futo.circles.core.extensions.showSuccess import org.futo.circles.core.extensions.visible @@ -73,7 +75,8 @@ class UserDialogFragment : BaseFullscreenDialogFragment(DialogFragmentUserBindin binding.btnInviteToConnect.apply { setIsVisible(!viewModel.isUserMyFollower()) setOnClickListener { - binding.lInviteToConnectLoading.visible() + binding.vInviteToConnectLoading.visible() + binding.btnInviteToConnect.invisible() viewModel.inviteToMySharedCircle() } } @@ -127,8 +130,15 @@ class UserDialogFragment : BaseFullscreenDialogFragment(DialogFragmentUserBindin success = { showSuccess(getString(R.string.request_sent)) binding.btnInviteToConnect.gone() - binding.lInviteToConnectLoading.gone() - }) + }, + error = { + binding.btnInviteToConnect.visible() + showError(it) + }, + onRequestInvoked = { + binding.vInviteToConnectLoading.gone() + } + ) viewModel.ignoreUserLiveData.observeResponse(this, success = { context?.let { showSuccess(it.getString(R.string.user_ignored)) } diff --git a/core/src/main/res/layout/dialog_fragment_user.xml b/core/src/main/res/layout/dialog_fragment_user.xml index cd9a1cc92..9cd6eb96e 100644 --- a/core/src/main/res/layout/dialog_fragment_user.xml +++ b/core/src/main/res/layout/dialog_fragment_user.xml @@ -85,28 +85,17 @@ 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" + + <ProgressBar + android:id="@+id/vInviteToConnectLoading" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center" + android:layout_marginTop="8dp" 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> + app:layout_constraintTop_toBottomOf="@id/tvUserId" /> <View 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 79b59543b..efcf47b6c 100644 --- a/core/src/main/res/layout/list_item_connection_invite.xml +++ b/core/src/main/res/layout/list_item_connection_invite.xml @@ -84,6 +84,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" + android:layout_marginTop="4dp" 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 9c4232bbc..d8f60007d 100644 --- a/core/src/main/res/layout/list_item_people_request.xml +++ b/core/src/main/res/layout/list_item_people_request.xml @@ -99,6 +99,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" + android:layout_marginTop="4dp" android:visibility="gone" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" -- GitLab