diff --git a/core/src/main/java/org/futo/circles/core/feature/room/invites/list/InvitesViewHolder.kt b/core/src/main/java/org/futo/circles/core/feature/room/invites/list/InvitesViewHolder.kt index 34acd22ccd8450d77ce01ef1919371e6ae76a8f8..24b4c012e83f602fb8c28311fa3f733024365c80 100644 --- a/core/src/main/java/org/futo/circles/core/feature/room/invites/list/InvitesViewHolder.kt +++ b/core/src/main/java/org/futo/circles/core/feature/room/invites/list/InvitesViewHolder.kt @@ -49,7 +49,7 @@ class InvitedGroupViewHolder( if (data !is RoomInviteListItem) return with(binding) { - lLoading.setIsVisible(data.isLoading) + setLoading(data.isLoading) ivGroup.loadRoomProfileIcon( data.info.avatarUrl, data.info.title, @@ -64,6 +64,14 @@ class InvitedGroupViewHolder( ) } } + + private fun setLoading(isLoading: Boolean) { + with(binding) { + vLoading.setIsVisible(isLoading) + btnAccept.setIsVisible(!isLoading) + btnDecline.setIsVisible(!isLoading) + } + } } class InvitedCircleViewHolder( @@ -86,7 +94,7 @@ class InvitedCircleViewHolder( if (data !is RoomInviteListItem) return with(binding) { - lLoading.setIsVisible(data.isLoading) + setLoading(data.isLoading) tvShowProfileImage.setIsVisible(data.shouldBlurIcon) ivCircle.loadRoomProfileIcon( data.info.avatarUrl, @@ -101,6 +109,14 @@ class InvitedCircleViewHolder( ) } } + + private fun setLoading(isLoading: Boolean) { + with(binding) { + vLoading.setIsVisible(isLoading) + btnAccept.setIsVisible(!isLoading) + btnDecline.setIsVisible(!isLoading) + } + } } class InvitedGalleryViewHolder( @@ -123,7 +139,7 @@ class InvitedGalleryViewHolder( if (data !is RoomInviteListItem) return with(binding) { - lLoading.setIsVisible(data.isLoading) + setLoading(data.isLoading) tvGalleryTitle.text = data.info.title ivGallery.loadRoomProfileIcon( data.info.avatarUrl, @@ -134,6 +150,14 @@ class InvitedGalleryViewHolder( tvInviterName.text = context.getString(R.string.invited_by_format, data.inviterName) } } + + private fun setLoading(isLoading: Boolean) { + with(binding) { + vLoading.setIsVisible(isLoading) + btnAccept.setIsVisible(!isLoading) + btnDecline.setIsVisible(!isLoading) + } + } } class FollowRequestViewHolder( @@ -153,7 +177,7 @@ class FollowRequestViewHolder( override fun bind(data: InviteListItem) { if (data !is FollowRequestListItem) return - binding.lLoading.setIsVisible(data.isLoading) + setLoading(data.isLoading) bindUser(data.user) binding.tvReasonMessage.apply { setIsVisible(data.reasonMessage != null) @@ -167,6 +191,14 @@ class FollowRequestViewHolder( ivUserImage.loadUserProfileIcon(user.avatarUrl, user.id) } } + + private fun setLoading(isLoading: Boolean) { + with(binding) { + vLoading.setIsVisible(isLoading) + btnAccept.setIsVisible(!isLoading) + btnDecline.setIsVisible(!isLoading) + } + } } class ConnectionInviteViewHolder( @@ -186,7 +218,7 @@ class ConnectionInviteViewHolder( override fun bind(data: InviteListItem) { if (data !is ConnectionInviteListItem) return - binding.lLoading.setIsVisible(data.isLoading) + setLoading(data.isLoading) bindUser(data.user) } @@ -196,6 +228,14 @@ class ConnectionInviteViewHolder( ivUserImage.loadUserProfileIcon(user.avatarUrl, user.id) } } + + private fun setLoading(isLoading: Boolean) { + with(binding) { + vLoading.setIsVisible(isLoading) + btnAccept.setIsVisible(!isLoading) + btnDecline.setIsVisible(!isLoading) + } + } } class InviteHeaderViewHolder( 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 0f99fb3556d6d718f5f8e27f6616b4e687777a6a..79b59543ba5a69488141f18fb8acb1b7bf1b2dba 100644 --- a/core/src/main/res/layout/list_item_connection_invite.xml +++ b/core/src/main/res/layout/list_item_connection_invite.xml @@ -78,27 +78,16 @@ app:layout_constraintStart_toEndOf="@id/btnAccept" app:layout_constraintTop_toTopOf="@id/btnAccept" /> - <FrameLayout - android:id="@+id/lLoading" - 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/vLoading" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center" android:visibility="gone" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@id/ivUserImage" - app:layout_constraintTop_toBottomOf="@+id/tvInvitesToConnect"> - - <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/tvInvitesToConnect" /> </androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file 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 a6894755130e415a09b9dcb11297a362795c2695..f3d478ff9c55891ef8eff1a0605c012f78f30a35 100644 --- a/core/src/main/res/layout/list_item_invited_circle.xml +++ b/core/src/main/res/layout/list_item_invited_circle.xml @@ -97,27 +97,17 @@ app:layout_constraintStart_toEndOf="@id/btnAccept" app:layout_constraintTop_toBottomOf="@+id/tvInvitedBy" /> - <FrameLayout - android:id="@+id/lLoading" - 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/vLoading" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center" android:visibility="gone" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@id/ivCircle" - app:layout_constraintTop_toBottomOf="@+id/tvInvitedBy"> + app:layout_constraintTop_toBottomOf="@+id/tvInvitedBy" /> - <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> </androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file 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 0e2e5683ffd3e76860b2657b6722dc75aac3ec41..63c32784397f4ea9009474402ad55a722269287f 100644 --- a/core/src/main/res/layout/list_item_invited_gallery.xml +++ b/core/src/main/res/layout/list_item_invited_gallery.xml @@ -90,27 +90,16 @@ app:layout_constraintStart_toEndOf="@id/btnAccept" app:layout_constraintTop_toBottomOf="@+id/tvInviterName" /> - <FrameLayout - android:id="@+id/lLoading" - 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/vLoading" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center" android:visibility="gone" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@id/ivGallery" - app:layout_constraintTop_toBottomOf="@+id/tvInviterName"> - - <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/tvInviterName" /> </androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file 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 84e736abaa7f7d13207febb61d2afe5ddf964d5d..2ad031dfa3a02e5b575fc72fdbc17757d285d7ea 100644 --- a/core/src/main/res/layout/list_item_invited_group.xml +++ b/core/src/main/res/layout/list_item_invited_group.xml @@ -101,27 +101,17 @@ app:layout_constraintStart_toEndOf="@id/btnAccept" app:layout_constraintTop_toBottomOf="@+id/tvInviterName" /> - <FrameLayout - android:id="@+id/lLoading" - 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/vLoading" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center" android:visibility="gone" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@id/ivGroup" - app:layout_constraintTop_toBottomOf="@+id/tvInviterName"> + app:layout_constraintTop_toBottomOf="@+id/tvInviterName" /> - <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> </androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file 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 3ff510fc25d81a5903a0840b496d56967499efa1..9c4232bbcaf3e625dba923dc8025e86f4acecb14 100644 --- a/core/src/main/res/layout/list_item_people_request.xml +++ b/core/src/main/res/layout/list_item_people_request.xml @@ -93,27 +93,17 @@ app:layout_constraintStart_toEndOf="@id/btnAccept" app:layout_constraintTop_toTopOf="@id/btnAccept" /> - <FrameLayout - android:id="@+id/lLoading" - 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/vLoading" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center" android:visibility="gone" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@id/ivUserImage" - app:layout_constraintTop_toBottomOf="@+id/tvReasonMessage"> + app:layout_constraintTop_toBottomOf="@+id/tvReasonMessage" /> - <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> </androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file