diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/OnlineIndicator.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/OnlineIndicator.kt index dee564fcce8..6acd78c7f40 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/OnlineIndicator.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/OnlineIndicator.kt @@ -50,9 +50,11 @@ internal fun OnlineIndicator( ) } -internal enum class OnlineIndicatorDimensions(val indicatorSize: Dp, val borderWidth: Dp, val offset: Dp) { - Small(indicatorSize = 8.dp, borderWidth = 1.dp, offset = 1.dp), - Medium(indicatorSize = 12.dp, borderWidth = 2.dp, offset = 2.dp), - Large(indicatorSize = 14.dp, borderWidth = 2.dp, offset = 2.dp), - ExtraLarge(indicatorSize = 16.dp, borderWidth = 2.dp, offset = 0.dp), +internal data class OnlineIndicatorDimensions(val indicatorSize: Dp, val borderWidth: Dp, val offset: Dp) { + companion object { + val Small = OnlineIndicatorDimensions(indicatorSize = 8.dp, borderWidth = 1.dp, offset = 1.dp) + val Medium = OnlineIndicatorDimensions(indicatorSize = 12.dp, borderWidth = 2.dp, offset = 2.dp) + val Large = OnlineIndicatorDimensions(indicatorSize = 14.dp, borderWidth = 2.dp, offset = 2.dp) + val ExtraLarge = OnlineIndicatorDimensions(indicatorSize = 16.dp, borderWidth = 2.dp, offset = 0.dp) + } } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/UserAvatar.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/UserAvatar.kt index 7e9c745a8d9..9a5e367fdc4 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/UserAvatar.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/UserAvatar.kt @@ -85,6 +85,15 @@ public fun UserAvatar( } internal fun BoxWithConstraintsScope.resolveIndicatorDimensions(): OnlineIndicatorDimensions = when { + maxWidth > AvatarSize.ExtraExtraLarge -> { + val scale = maxWidth / AvatarSize.ExtraExtraLarge + val base = OnlineIndicatorDimensions.ExtraLarge + OnlineIndicatorDimensions( + indicatorSize = base.indicatorSize * scale, + borderWidth = base.borderWidth, + offset = base.offset, + ) + } maxWidth >= AvatarSize.ExtraExtraLarge -> OnlineIndicatorDimensions.ExtraLarge maxWidth >= AvatarSize.ExtraLarge -> OnlineIndicatorDimensions.ExtraLarge maxWidth >= AvatarSize.Large -> OnlineIndicatorDimensions.Large diff --git a/stream-chat-android-ui-common/src/test/kotlin/io/getstream/chat/android/ui/common/feature/channel/info/ChannelInfoViewControllerTest.kt b/stream-chat-android-ui-common/src/test/kotlin/io/getstream/chat/android/ui/common/feature/channel/info/ChannelInfoViewControllerTest.kt index fca9efc33c7..e474237e19b 100644 --- a/stream-chat-android-ui-common/src/test/kotlin/io/getstream/chat/android/ui/common/feature/channel/info/ChannelInfoViewControllerTest.kt +++ b/stream-chat-android-ui-common/src/test/kotlin/io/getstream/chat/android/ui/common/feature/channel/info/ChannelInfoViewControllerTest.kt @@ -774,20 +774,6 @@ internal class ChannelInfoViewControllerTest { awaitItem(), ) } - - assertEquals( - ChannelInfoViewState.Content( - members = emptyMembers(), - options = listOf( - ChannelInfoViewState.Content.Option.RenameChannel(name = "", isReadOnly = true), - ChannelInfoViewState.Content.Option.PinnedMessages, - ChannelInfoViewState.Content.Option.MediaAttachments, - ChannelInfoViewState.Content.Option.FilesAttachments, - - ), - ), - awaitItem(), - ) } } @@ -852,20 +838,6 @@ internal class ChannelInfoViewControllerTest { fixture.givenUnhideChannel() sut.onViewAction(ChannelInfoViewAction.UnhideChannelClick) - - assertEquals( - ChannelInfoViewState.Content( - members = emptyMembers(), - options = listOf( - ChannelInfoViewState.Content.Option.RenameChannel(name = "", isReadOnly = true), - ChannelInfoViewState.Content.Option.PinnedMessages, - ChannelInfoViewState.Content.Option.MediaAttachments, - ChannelInfoViewState.Content.Option.FilesAttachments, - - ), - ), - awaitItem(), - ) } }