From 2c01e7fca3f462a413d196e180180c0c504404b5 Mon Sep 17 00:00:00 2001 From: PetarVelikov Date: Wed, 25 Dec 2024 16:47:15 +0100 Subject: [PATCH 1/8] [AND-201] Migrate stream-chat-android-compose material to material3. --- stream-chat-android-compose/build.gradle | 1 - .../content/AudioRecordAttachmentContent.kt | 19 +++--- .../content/FileAttachmentContent.kt | 8 +-- .../content/FileAttachmentPreviewContent.kt | 4 +- .../attachments/content/FileUploadContent.kt | 4 +- .../content/LinkAttachmentContent.kt | 2 +- .../content/MediaAttachmentContent.kt | 6 +- .../content/UnsupportedAttachmentContent.kt | 4 +- .../preview/MediaGalleryPreviewActivity.kt | 40 +++++++------ .../preview/MediaPreviewActivity.kt | 19 +++--- .../compose/ui/channels/ChannelsScreen.kt | 5 +- .../ui/channels/header/ChannelListHeader.kt | 15 ++--- .../ui/channels/info/SelectedChannelMenu.kt | 2 +- .../compose/ui/channels/list/ChannelItem.kt | 9 ++- .../compose/ui/channels/list/ChannelList.kt | 2 +- .../compose/ui/channels/list/Channels.kt | 3 - .../ui/channels/list/SearchResultItem.kt | 4 +- .../compose/ui/components/BackButton.kt | 4 +- .../compose/ui/components/CancelIcon.kt | 2 +- .../compose/ui/components/EmptyContent.kt | 4 +- .../compose/ui/components/LoadingIndicator.kt | 2 +- .../ui/components/NetworkLoadingIndicator.kt | 4 +- .../compose/ui/components/SearchInput.kt | 6 +- .../compose/ui/components/SimpleDialog.kt | 10 ++-- .../compose/ui/components/SimpleMenu.kt | 5 +- .../compose/ui/components/Timestamp.kt | 2 +- .../compose/ui/components/TranslatedLabel.kt | 2 +- .../attachments/files/FilesPicker.kt | 15 ++--- .../attachments/images/ImagesPicker.kt | 6 +- .../ui/components/audio/WaveformSlider.kt | 1 - .../ui/components/avatar/GroupAvatar.kt | 2 +- .../ui/components/avatar/ImageAvatar.kt | 2 +- .../ui/components/avatar/InitialsAvatar.kt | 4 +- .../components/channels/ChannelMembersItem.kt | 2 +- .../ui/components/channels/ChannelOptions.kt | 2 +- .../components/channels/ChannelOptionsItem.kt | 6 +- .../channels/MessageReadStatusIcon.kt | 4 +- .../channels/UnreadCountIndicator.kt | 2 +- .../composer/ComposerLinkPreview.kt | 8 +-- .../components/composer/CoolDownIndicator.kt | 2 +- .../composer/MessageInputOptions.kt | 9 +-- .../messageoptions/MessageOptionItem.kt | 4 +- .../messageoptions/MessageOptions.kt | 2 +- .../messages/GiphyMessageContent.kt | 4 +- .../ui/components/messages/MessageBubble.kt | 3 +- .../ui/components/messages/MessageContent.kt | 2 +- .../ui/components/messages/MessageFooter.kt | 2 +- .../components/messages/MessageHeaderLabel.kt | 4 +- .../ui/components/messages/MessageText.kt | 2 +- .../messages/MessageThreadFooter.kt | 2 +- .../messages/MessagesScrollingOption.kt | 10 ++-- .../messages/OwnedMessageVisibilityContent.kt | 4 +- .../components/messages/PollMessageContent.kt | 44 +++++++++----- .../components/messages/QuotedMessageText.kt | 2 +- .../ui/components/messages/UploadingFooter.kt | 2 +- .../ModeratedMessageDialog.kt | 2 +- .../ModeratedMessageDialogOptions.kt | 2 +- .../ModeratedMessageOptionItem.kt | 6 +- .../compose/ui/components/poll/PollAnswers.kt | 12 +++- .../ui/components/poll/PollDialogHeader.kt | 2 +- .../components/poll/PollMoreOptionsDialog.kt | 6 +- .../ui/components/poll/PollOptionInput.kt | 2 +- .../components/poll/PollViewResultDialog.kt | 6 +- .../ExtendedReactionsOptions.kt | 2 +- .../reactionoptions/ReactionOptions.kt | 4 +- .../components/suggestions/SuggestionList.kt | 7 ++- .../commands/CommandSuggestionItem.kt | 4 +- .../commands/CommandSuggestionList.kt | 4 +- .../mentions/MentionSuggestionItem.kt | 6 +- .../userreactions/UserReactionItem.kt | 2 +- .../components/userreactions/UserReactions.kt | 2 +- .../compose/ui/messages/MessagesScreen.kt | 4 +- .../messages/attachments/AttachmentsPicker.kt | 14 ++--- .../AttachmentsPickerFilesTabFactory.kt | 11 ++-- .../AttachmentsPickerImagesTabFactory.kt | 7 ++- ...AttachmentsPickerMediaCaptureTabFactory.kt | 2 +- .../AttachmentsPickerPollTabFactory.kt | 2 +- .../AttachmentsPickerSystemTabFactory.kt | 11 ++-- .../factory/MissingPermissionContent.kt | 6 +- .../factory/NoStorageAccessContent.kt | 6 +- .../PermissionPermanentlyDeniedSnackBar.kt | 16 ++--- .../poll/PollCreationDiscardDialog.kt | 2 +- .../attachments/poll/PollCreationHeader.kt | 8 +-- .../attachments/poll/PollOptionList.kt | 4 +- .../attachments/poll/PollQuestionInput.kt | 2 +- .../ui/messages/composer/MessageComposer.kt | 21 ++++--- .../DefaultMessageComposerRecordingContent.kt | 19 +++--- .../ui/messages/header/MessageListHeader.kt | 6 +- .../ui/messages/list/MessageContainer.kt | 5 +- .../compose/ui/messages/list/MessageItem.kt | 4 +- .../compose/ui/messages/list/MessageList.kt | 2 +- .../compose/ui/messages/list/Messages.kt | 3 - .../preview/internal/MessagePreviewItem.kt | 4 +- .../android/compose/ui/theme/ChatTheme.kt | 8 +-- .../ui/theme/StreamRippleConfiguration.kt | 60 +++++++++++++++++-- .../android/compose/ui/threads/ThreadItem.kt | 8 +-- .../compose/ui/threads/UnreadThreadsBanner.kt | 8 +-- .../ui/util/MessagePreviewIconFactory.kt | 2 +- .../channels/ChannelListViewModel.kt | 3 +- 99 files changed, 357 insertions(+), 300 deletions(-) diff --git a/stream-chat-android-compose/build.gradle b/stream-chat-android-compose/build.gradle index dba1d5813cb..468ec654022 100644 --- a/stream-chat-android-compose/build.gradle +++ b/stream-chat-android-compose/build.gradle @@ -80,7 +80,6 @@ dependencies { implementation Dependencies.composeAndroidLifecycle implementation Dependencies.composeFoundation implementation Dependencies.composeConstraintLayout - implementation Dependencies.composeMaterial implementation Dependencies.composeMaterial3 implementation Dependencies.composeActivity diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/AudioRecordAttachmentContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/AudioRecordAttachmentContent.kt index be44d8c1fe0..5c9f2986872 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/AudioRecordAttachmentContent.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/AudioRecordAttachmentContent.kt @@ -26,12 +26,12 @@ import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.width import androidx.compose.foundation.shape.CircleShape -import androidx.compose.material.Card -import androidx.compose.material.ExperimentalMaterialApi -import androidx.compose.material.IconButton -import androidx.compose.material.Surface -import androidx.compose.material.Text +import androidx.compose.material3.Card +import androidx.compose.material3.CardDefaults import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.Surface +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue @@ -41,6 +41,7 @@ import androidx.compose.runtime.rememberUpdatedState import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.Color import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.core.net.toUri @@ -312,8 +313,9 @@ internal fun PlaybackToggleButton( onClick: () -> Unit = {}, ) { Card( - elevation = 1.dp, + elevation = CardDefaults.cardElevation(defaultElevation = 1.dp), shape = CircleShape, + colors = CardDefaults.cardColors(containerColor = Color.White), ) { IconButton( onClick = onClick, @@ -335,7 +337,6 @@ internal fun PlaybackToggleButton( * Represents the speed button. */ @Composable -@OptIn(ExperimentalMaterialApi::class) private fun SpeedButton( speed: Float, style: TextContainerStyle, @@ -343,11 +344,11 @@ private fun SpeedButton( ) { Card( onClick = onClick, - elevation = 1.dp, + elevation = CardDefaults.cardElevation(defaultElevation = 1.dp), shape = CircleShape, modifier = Modifier .size(style.size), - backgroundColor = style.backgroundColor, + colors = CardDefaults.cardColors(containerColor = style.backgroundColor), ) { Box( modifier = Modifier.fillMaxSize(), diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/FileAttachmentContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/FileAttachmentContent.kt index e4458bb445a..8d36eb5f99b 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/FileAttachmentContent.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/FileAttachmentContent.kt @@ -28,10 +28,10 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size -import androidx.compose.material.Icon -import androidx.compose.material.Surface -import androidx.compose.material.Text -import androidx.compose.material.ripple +import androidx.compose.material3.Icon +import androidx.compose.material3.Surface +import androidx.compose.material3.Text +import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Alignment diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/FileAttachmentPreviewContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/FileAttachmentPreviewContent.kt index 853efe93c1f..33a8f07379d 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/FileAttachmentPreviewContent.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/FileAttachmentPreviewContent.kt @@ -26,8 +26,8 @@ import androidx.compose.foundation.layout.width import androidx.compose.foundation.lazy.LazyRow import androidx.compose.foundation.lazy.items import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.Surface -import androidx.compose.material.Text +import androidx.compose.material3.Surface +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/FileUploadContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/FileUploadContent.kt index 202fd130e32..13f094a1a72 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/FileUploadContent.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/FileUploadContent.kt @@ -27,8 +27,8 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size -import androidx.compose.material.Surface -import androidx.compose.material.Text +import androidx.compose.material3.Surface +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Alignment diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/LinkAttachmentContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/LinkAttachmentContent.kt index 1596cbdb5f1..b951e14fa25 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/LinkAttachmentContent.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/LinkAttachmentContent.kt @@ -33,7 +33,7 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.widthIn import androidx.compose.foundation.layout.wrapContentSize import androidx.compose.foundation.layout.wrapContentWidth -import androidx.compose.material.Text +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Alignment diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/MediaAttachmentContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/MediaAttachmentContent.kt index d9d786c2085..3c29f5c76fa 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/MediaAttachmentContent.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/MediaAttachmentContent.kt @@ -36,9 +36,9 @@ import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.heightIn import androidx.compose.foundation.layout.width import androidx.compose.foundation.layout.wrapContentSize -import androidx.compose.material.Icon -import androidx.compose.material.Text -import androidx.compose.material.ripple +import androidx.compose.material3.Icon +import androidx.compose.material3.Text +import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.collectAsState import androidx.compose.runtime.derivedStateOf diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/UnsupportedAttachmentContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/UnsupportedAttachmentContent.kt index e1e1032eb42..f7075670111 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/UnsupportedAttachmentContent.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/content/UnsupportedAttachmentContent.kt @@ -22,8 +22,8 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size -import androidx.compose.material.Surface -import androidx.compose.material.Text +import androidx.compose.material3.Surface +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewActivity.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewActivity.kt index be96226915b..6218eca55c4 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewActivity.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaGalleryPreviewActivity.kt @@ -35,7 +35,6 @@ import androidx.activity.enableEdgeToEdge import androidx.activity.viewModels import androidx.appcompat.app.AppCompatActivity import androidx.compose.animation.AnimatedVisibility -import androidx.compose.animation.ExperimentalAnimationApi import androidx.compose.animation.core.animateFloatAsState import androidx.compose.animation.fadeIn import androidx.compose.animation.fadeOut @@ -72,14 +71,16 @@ import androidx.compose.foundation.lazy.grid.LazyVerticalGrid import androidx.compose.foundation.lazy.grid.itemsIndexed import androidx.compose.foundation.shape.CircleShape import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.CircularProgressIndicator -import androidx.compose.material.Icon -import androidx.compose.material.IconButton -import androidx.compose.material.Scaffold -import androidx.compose.material.Surface -import androidx.compose.material.Text -import androidx.compose.material.rememberScaffoldState -import androidx.compose.material.ripple +import androidx.compose.material3.CircularProgressIndicator +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.Scaffold +import androidx.compose.material3.SnackbarDuration +import androidx.compose.material3.SnackbarHost +import androidx.compose.material3.SnackbarHostState +import androidx.compose.material3.Surface +import androidx.compose.material3.Text +import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.MutableState @@ -310,7 +311,6 @@ public class MediaGalleryPreviewActivity : AppCompatActivity() { * the user clicked on. */ @Suppress("MagicNumber", "LongMethod") - @OptIn(ExperimentalAnimationApi::class) @Composable private fun MediaGalleryPreviewContentWrapper( message: Message, @@ -325,9 +325,9 @@ public class MediaGalleryPreviewActivity : AppCompatActivity() { val startingPosition = if (initialAttachmentPosition !in filteredAttachments.indices) 0 else initialAttachmentPosition - val scaffoldState = rememberScaffoldState() val pagerState = rememberPagerState(initialPage = startingPosition) val coroutineScope = rememberCoroutineScope() + val snackbarHostState = remember { SnackbarHostState() } Box( modifier = Modifier @@ -337,7 +337,6 @@ public class MediaGalleryPreviewActivity : AppCompatActivity() { ) { Scaffold( modifier = Modifier.fillMaxSize(), - scaffoldState = scaffoldState, topBar = { MediaGalleryPreviewTopBar(message) }, content = { contentPadding -> if (message.id.isNotEmpty()) { @@ -349,12 +348,19 @@ public class MediaGalleryPreviewActivity : AppCompatActivity() { ) { MediaPreviewContent(pagerState, filteredAttachments) { coroutineScope.launch { - scaffoldState.snackbarHostState.showSnackbar( + snackbarHostState.showSnackbar( message = getString(R.string.stream_ui_message_list_video_display_error), + duration = SnackbarDuration.Short, ) } } } + SnackbarHost( + hostState = snackbarHostState, + modifier = Modifier + .align(Alignment.BottomCenter) + .padding(bottom = contentPadding.calculateBottomPadding()), + ) } val promptedAttachment = mediaGalleryPreviewViewModel.promptedAttachment @@ -436,7 +442,7 @@ public class MediaGalleryPreviewActivity : AppCompatActivity() { modifier = Modifier .fillMaxWidth() .height(56.dp), - elevation = 4.dp, + shadowElevation = 4.dp, color = ChatTheme.colors.barsBackground, ) { Row( @@ -578,7 +584,7 @@ public class MediaGalleryPreviewActivity : AppCompatActivity() { .wrapContentHeight() .align(Alignment.TopEnd), shape = RoundedCornerShape(16.dp), - elevation = 4.dp, + shadowElevation = 4.dp, color = ChatTheme.colors.barsBackground, ) { Column(modifier = Modifier.fillMaxWidth()) { @@ -1153,7 +1159,7 @@ public class MediaGalleryPreviewActivity : AppCompatActivity() { modifier = Modifier .fillMaxWidth() .height(56.dp), - elevation = 4.dp, + shadowElevation = 4.dp, color = ChatTheme.colors.barsBackground, ) { Box( @@ -1500,7 +1506,7 @@ public class MediaGalleryPreviewActivity : AppCompatActivity() { onClick = {}, ), shape = RoundedCornerShape(topStart = 16.dp, topEnd = 16.dp), - elevation = 4.dp, + shadowElevation = 4.dp, color = ChatTheme.colors.barsBackground, ) { Column(modifier = Modifier.fillMaxWidth()) { diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaPreviewActivity.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaPreviewActivity.kt index 57cd0346515..76810c7574c 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaPreviewActivity.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/attachments/preview/MediaPreviewActivity.kt @@ -39,11 +39,13 @@ import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.systemBars import androidx.compose.foundation.layout.windowInsetsPadding -import androidx.compose.material.Icon -import androidx.compose.material.IconButton -import androidx.compose.material.Scaffold -import androidx.compose.material.Text -import androidx.compose.material.TopAppBar +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.Scaffold +import androidx.compose.material3.Text +import androidx.compose.material3.TopAppBar +import androidx.compose.material3.TopAppBarDefaults import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Modifier @@ -53,7 +55,6 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalLayoutDirection import androidx.compose.ui.res.painterResource import androidx.compose.ui.text.style.TextAlign -import androidx.compose.ui.unit.dp import androidx.compose.ui.viewinterop.AndroidView import androidx.core.view.isVisible import io.getstream.chat.android.client.ChatClient @@ -120,7 +121,7 @@ public class MediaPreviewActivity : AppCompatActivity() { Scaffold( modifier = modifier, - backgroundColor = Color.Black, + containerColor = Color.Black, topBar = { MediaPreviewToolbar(title, onBackPressed) }, content = { MediaPreviewContent(url, onBackPressed, onPlaybackError) }, ) @@ -140,14 +141,14 @@ public class MediaPreviewActivity : AppCompatActivity() { * @param title The name of the file for playback. * @param onBackPressed Handler for back press action. */ + @OptIn(ExperimentalMaterial3Api::class) @Composable private fun MediaPreviewToolbar( title: String, onBackPressed: () -> Unit = {}, ) { TopAppBar( - backgroundColor = Color.Black, - elevation = 0.dp, + colors = TopAppBarDefaults.topAppBarColors(containerColor = Color.Black), navigationIcon = { IconButton( modifier = Modifier.mirrorRtl(LocalLayoutDirection.current), diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/ChannelsScreen.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/ChannelsScreen.kt index 53cb39cdb81..1ab94bb26b0 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/ChannelsScreen.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/ChannelsScreen.kt @@ -14,8 +14,6 @@ * limitations under the License. */ -@file:OptIn(ExperimentalComposeUiApi::class) - package io.getstream.chat.android.compose.ui.channels import androidx.activity.compose.BackHandler @@ -33,7 +31,7 @@ import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding -import androidx.compose.material.Scaffold +import androidx.compose.material3.Scaffold import androidx.compose.runtime.Composable import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue @@ -42,7 +40,6 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment -import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.Modifier import androidx.compose.ui.platform.testTag import androidx.compose.ui.res.stringResource diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/header/ChannelListHeader.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/header/ChannelListHeader.kt index 4d21dafbf00..1489307d5c3 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/header/ChannelListHeader.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/header/ChannelListHeader.kt @@ -16,7 +16,6 @@ package io.getstream.chat.android.compose.ui.channels.header -import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.RowScope import androidx.compose.foundation.layout.Spacer @@ -25,12 +24,10 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.wrapContentSize import androidx.compose.foundation.layout.wrapContentWidth -import androidx.compose.material.ExperimentalMaterialApi -import androidx.compose.material.Icon -import androidx.compose.material.Surface -import androidx.compose.material.Text +import androidx.compose.material3.Icon +import androidx.compose.material3.Surface +import androidx.compose.material3.Text import androidx.compose.runtime.Composable -import androidx.compose.runtime.remember import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color @@ -102,7 +99,7 @@ public fun ChannelListHeader( Surface( modifier = modifier .fillMaxWidth(), - elevation = elevation, + shadowElevation = elevation, color = color, shape = shape, ) { @@ -192,7 +189,6 @@ internal fun RowScope.DefaultChannelListHeaderCenterContent( * * @param onHeaderActionClick Handler for when the user taps on the action. */ -@OptIn(ExperimentalMaterialApi::class) @Composable internal fun DefaultChannelListHeaderTrailingContent( onHeaderActionClick: () -> Unit, @@ -200,10 +196,9 @@ internal fun DefaultChannelListHeaderTrailingContent( Surface( modifier = Modifier.size(40.dp), onClick = onHeaderActionClick, - interactionSource = remember { MutableInteractionSource() }, color = ChatTheme.colors.primaryAccent, shape = ChatTheme.shapes.avatar, - elevation = 4.dp, + shadowElevation = 4.dp, ) { Icon( modifier = Modifier diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/info/SelectedChannelMenu.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/info/SelectedChannelMenu.kt index 2c900a72897..0ef56b5a580 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/info/SelectedChannelMenu.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/info/SelectedChannelMenu.kt @@ -23,7 +23,7 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.Text +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/list/ChannelItem.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/list/ChannelItem.kt index 84cd9eaa5bb..1b34995a93a 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/list/ChannelItem.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/list/ChannelItem.kt @@ -28,9 +28,9 @@ import androidx.compose.foundation.layout.heightIn import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.wrapContentHeight -import androidx.compose.material.Icon -import androidx.compose.material.Text -import androidx.compose.material.ripple +import androidx.compose.material3.Icon +import androidx.compose.material3.Text +import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Alignment @@ -161,8 +161,7 @@ internal fun DefaultChannelItemLeadingContent( * Represents the center portion of [ChannelItem], that shows the channel display name * and the last message text preview. * - * @param channel The channel to show the info for. - * @param isMuted If the channel is muted for the current user. + * @param channelItemState The channel to show the info for. * @param currentUser The currently logged in user, used for data handling. */ @Composable diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/list/ChannelList.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/list/ChannelList.kt index 479ba94ac8a..98f06d5196e 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/list/ChannelList.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/list/ChannelList.kt @@ -72,7 +72,7 @@ import io.getstream.chat.android.previewdata.PreviewUserData * @param helperContent Composable that represents the helper content. Empty by default, but can be used to implement * scroll to top button. * @param loadingMoreContent: Composable that represents the loading more content, when we're loading the next page. - * @param itemContent Composable that allows the user to completely customize the item UI. + * @param channelContent Composable that allows the user to completely customize the item UI. * It shows [ChannelItem] if left unchanged, with the actions provided by [onChannelClick] and * [onChannelLongClick]. * @param divider Composable that allows the user to define an item divider. diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/list/Channels.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/list/Channels.kt index 82d6e5e168f..baf10c767d6 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/list/Channels.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/list/Channels.kt @@ -14,8 +14,6 @@ * limitations under the License. */ -@file:OptIn(ExperimentalComposeUiApi::class) - package io.getstream.chat.android.compose.ui.channels.list import androidx.compose.foundation.layout.Box @@ -29,7 +27,6 @@ import androidx.compose.foundation.lazy.LazyListState import androidx.compose.foundation.lazy.items import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment -import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.Modifier import androidx.compose.ui.platform.testTag import androidx.compose.ui.unit.dp diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/list/SearchResultItem.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/list/SearchResultItem.kt index 3a909cb6278..d4259584f79 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/list/SearchResultItem.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/channels/list/SearchResultItem.kt @@ -27,8 +27,8 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.wrapContentHeight -import androidx.compose.material.Text -import androidx.compose.material.ripple +import androidx.compose.material3.Text +import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Alignment diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/BackButton.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/BackButton.kt index d3f390cbf50..c4a427343f1 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/BackButton.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/BackButton.kt @@ -16,8 +16,8 @@ package io.getstream.chat.android.compose.ui.components -import androidx.compose.material.Icon -import androidx.compose.material.IconButton +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.painter.Painter diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/CancelIcon.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/CancelIcon.kt index 2bf8db13669..69488eb4926 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/CancelIcon.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/CancelIcon.kt @@ -19,7 +19,7 @@ package io.getstream.chat.android.compose.ui.components import androidx.compose.foundation.background import androidx.compose.foundation.clickable import androidx.compose.foundation.interaction.MutableInteractionSource -import androidx.compose.material.Icon +import androidx.compose.material3.Icon import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Modifier diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/EmptyContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/EmptyContent.kt index 504d75d9d59..77fa767bf51 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/EmptyContent.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/EmptyContent.kt @@ -21,8 +21,8 @@ import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.size -import androidx.compose.material.Icon -import androidx.compose.material.Text +import androidx.compose.material3.Icon +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/LoadingIndicator.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/LoadingIndicator.kt index 7acd93560fd..da4f5b15f5d 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/LoadingIndicator.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/LoadingIndicator.kt @@ -17,7 +17,7 @@ package io.getstream.chat.android.compose.ui.components import androidx.compose.foundation.layout.Box -import androidx.compose.material.CircularProgressIndicator +import androidx.compose.material3.CircularProgressIndicator import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/NetworkLoadingIndicator.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/NetworkLoadingIndicator.kt index b3c78694560..e358c9161f6 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/NetworkLoadingIndicator.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/NetworkLoadingIndicator.kt @@ -20,8 +20,8 @@ import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size -import androidx.compose.material.CircularProgressIndicator -import androidx.compose.material.Text +import androidx.compose.material3.CircularProgressIndicator +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/SearchInput.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/SearchInput.kt index 352e2e218d7..9d13c90d873 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/SearchInput.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/SearchInput.kt @@ -24,9 +24,9 @@ import androidx.compose.foundation.layout.RowScope import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size -import androidx.compose.material.Icon -import androidx.compose.material.IconButton -import androidx.compose.material.Text +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/SimpleDialog.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/SimpleDialog.kt index ae1dbf78050..5d1cc8a0c7b 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/SimpleDialog.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/SimpleDialog.kt @@ -16,10 +16,10 @@ package io.getstream.chat.android.compose.ui.components -import androidx.compose.material.AlertDialog -import androidx.compose.material.ButtonDefaults -import androidx.compose.material.Text -import androidx.compose.material.TextButton +import androidx.compose.material3.AlertDialog +import androidx.compose.material3.ButtonDefaults +import androidx.compose.material3.Text +import androidx.compose.material3.TextButton import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource @@ -82,6 +82,6 @@ public fun SimpleDialog( } else { null }, - backgroundColor = ChatTheme.colors.barsBackground, + containerColor = ChatTheme.colors.barsBackground, ) } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/SimpleMenu.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/SimpleMenu.kt index 742b4e8eb05..4878d797c5d 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/SimpleMenu.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/SimpleMenu.kt @@ -24,7 +24,8 @@ import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.ColumnScope import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.material.Card +import androidx.compose.material3.Card +import androidx.compose.material3.CardDefaults import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Modifier @@ -69,7 +70,7 @@ public fun SimpleMenu( interactionSource = remember { MutableInteractionSource() }, ), shape = shape, - backgroundColor = ChatTheme.colors.barsBackground, + colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.barsBackground), ) { Column { headerContent() diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/Timestamp.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/Timestamp.kt index 5040852c355..cc675faed13 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/Timestamp.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/Timestamp.kt @@ -16,7 +16,7 @@ package io.getstream.chat.android.compose.ui.components -import androidx.compose.material.Text +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalInspectionMode diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/TranslatedLabel.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/TranslatedLabel.kt index af9c196008e..81985815d9e 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/TranslatedLabel.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/TranslatedLabel.kt @@ -16,7 +16,7 @@ package io.getstream.chat.android.compose.ui.components -import androidx.compose.material.Text +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/attachments/files/FilesPicker.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/attachments/files/FilesPicker.kt index a05b636b73a..234d7a1f5ff 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/attachments/files/FilesPicker.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/attachments/files/FilesPicker.kt @@ -30,12 +30,12 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items -import androidx.compose.material.Checkbox -import androidx.compose.material.CheckboxDefaults -import androidx.compose.material.Icon -import androidx.compose.material.IconButton -import androidx.compose.material.Text -import androidx.compose.material.ripple +import androidx.compose.material3.Checkbox +import androidx.compose.material3.CheckboxDefaults +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.Text +import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Alignment @@ -136,7 +136,8 @@ internal fun DefaultFilesPickerItem( checkedColor = ChatTheme.colors.primaryAccent, uncheckedColor = ChatTheme.colors.disabled, checkmarkColor = Color.White, - disabledColor = ChatTheme.colors.disabled, + disabledCheckedColor = ChatTheme.colors.disabled, + disabledUncheckedColor = ChatTheme.colors.disabled, disabledIndeterminateColor = ChatTheme.colors.disabled, ), ) diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/attachments/images/ImagesPicker.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/attachments/images/ImagesPicker.kt index fccefa24b57..7b098b4df6b 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/attachments/images/ImagesPicker.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/attachments/images/ImagesPicker.kt @@ -38,9 +38,9 @@ import androidx.compose.foundation.lazy.grid.LazyVerticalGrid import androidx.compose.foundation.lazy.grid.items import androidx.compose.foundation.shape.CircleShape import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.Icon -import androidx.compose.material.Text -import androidx.compose.material.ripple +import androidx.compose.material3.Icon +import androidx.compose.material3.Text +import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Alignment diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/audio/WaveformSlider.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/audio/WaveformSlider.kt index 9d732e1f773..1a36c391184 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/audio/WaveformSlider.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/audio/WaveformSlider.kt @@ -62,7 +62,6 @@ import kotlin.random.Random * @param adjustBarWidthToLimit Whether to adjust the bar width to fit the visible bar limit. * @param progress The current progress of the waveform. * @param isThumbVisible Whether to display the thumb. - * @param isTouchable Whether the waveform is touchable. * @param onDragStart Callback when the user starts dragging the thumb. * @param onDragStop Callback when the user stops dragging the thumb. */ diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/GroupAvatar.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/GroupAvatar.kt index 03054540ec3..d9e4d173237 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/GroupAvatar.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/GroupAvatar.kt @@ -23,7 +23,7 @@ import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.size -import androidx.compose.material.ripple +import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Modifier diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/ImageAvatar.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/ImageAvatar.kt index 5aeac51b5d4..1fd6f703cb4 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/ImageAvatar.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/ImageAvatar.kt @@ -19,7 +19,7 @@ package io.getstream.chat.android.compose.ui.components.avatar import androidx.compose.foundation.Image import androidx.compose.foundation.clickable import androidx.compose.foundation.interaction.MutableInteractionSource -import androidx.compose.material.ripple +import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Modifier diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/InitialsAvatar.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/InitialsAvatar.kt index c4d4c315586..cdc7fc49a73 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/InitialsAvatar.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/avatar/InitialsAvatar.kt @@ -21,8 +21,8 @@ import androidx.compose.foundation.clickable import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.offset -import androidx.compose.material.Text -import androidx.compose.material.ripple +import androidx.compose.material3.Text +import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Alignment diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/ChannelMembersItem.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/ChannelMembersItem.kt index 0072a73d847..b3341786acb 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/ChannelMembersItem.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/ChannelMembersItem.kt @@ -19,7 +19,7 @@ package io.getstream.chat.android.compose.ui.components.channels import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.size -import androidx.compose.material.Text +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/ChannelOptions.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/ChannelOptions.kt index 2626e41898a..fcf0edba762 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/ChannelOptions.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/ChannelOptions.kt @@ -25,7 +25,7 @@ import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items -import androidx.compose.material.Icon +import androidx.compose.material3.Icon import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.res.painterResource diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/ChannelOptionsItem.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/ChannelOptionsItem.kt index e378e15f325..ba931822ce2 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/ChannelOptionsItem.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/ChannelOptionsItem.kt @@ -24,9 +24,9 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size -import androidx.compose.material.Icon -import androidx.compose.material.Text -import androidx.compose.material.ripple +import androidx.compose.material3.Icon +import androidx.compose.material3.Text +import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Alignment diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/MessageReadStatusIcon.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/MessageReadStatusIcon.kt index a12b81222da..d166624a19c 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/MessageReadStatusIcon.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/MessageReadStatusIcon.kt @@ -18,8 +18,8 @@ package io.getstream.chat.android.compose.ui.components.channels import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.padding -import androidx.compose.material.Icon -import androidx.compose.material.Text +import androidx.compose.material3.Icon +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/UnreadCountIndicator.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/UnreadCountIndicator.kt index 46edbf3c43a..abd2118de62 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/UnreadCountIndicator.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/channels/UnreadCountIndicator.kt @@ -21,7 +21,7 @@ import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.defaultMinSize import androidx.compose.foundation.layout.padding import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.Text +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/ComposerLinkPreview.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/ComposerLinkPreview.kt index 731966bf867..495cd27256d 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/ComposerLinkPreview.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/ComposerLinkPreview.kt @@ -32,9 +32,9 @@ import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.width -import androidx.compose.material.Icon -import androidx.compose.material.IconButton -import androidx.compose.material.Text +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf @@ -210,7 +210,7 @@ private fun ComposerLinkCancelIcon( * Handles clicks on link attachment content. * * @param context Context needed to start the Activity. - * @param url The url of the link attachment being clicked. + * @param preview The preview of the link attachment being clicked. */ private fun onLinkPreviewClick(context: Context, preview: LinkPreview) { val previewUrl = preview.attachment.titleLink ?: preview.attachment.ogUrl diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/CoolDownIndicator.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/CoolDownIndicator.kt index 1e39425197e..01a61b7d496 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/CoolDownIndicator.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/CoolDownIndicator.kt @@ -21,7 +21,7 @@ import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.Text +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/MessageInputOptions.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/MessageInputOptions.kt index 21ac4eafb12..e2018e1e0a3 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/MessageInputOptions.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/composer/MessageInputOptions.kt @@ -21,9 +21,9 @@ import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.padding -import androidx.compose.material.Icon -import androidx.compose.material.Text -import androidx.compose.material.ripple +import androidx.compose.material3.Icon +import androidx.compose.material3.Text +import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Alignment @@ -39,7 +39,8 @@ import io.getstream.chat.android.ui.common.state.messages.Reply /** * Shows the options "header" for the message input component. This is based on the currently active - * message action - [io.getstream.chat.android.common.state.Reply] or [io.getstream.chat.android.common.state.Edit]. + * message action - [io.getstream.chat.android.ui.common.state.messages.Reply] or + * [io.getstream.chat.android.ui.common.state.messages.Edit]. * * @param modifier Modifier for styling. * @param activeAction Currently active [MessageAction]. diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messageoptions/MessageOptionItem.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messageoptions/MessageOptionItem.kt index 8dede356739..65acefb44f4 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messageoptions/MessageOptionItem.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messageoptions/MessageOptionItem.kt @@ -20,8 +20,8 @@ import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding -import androidx.compose.material.Icon -import androidx.compose.material.Text +import androidx.compose.material3.Icon +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messageoptions/MessageOptions.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messageoptions/MessageOptions.kt index 597e3370518..ef5fff6fdd5 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messageoptions/MessageOptions.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messageoptions/MessageOptions.kt @@ -22,7 +22,7 @@ import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.ColumnScope import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height -import androidx.compose.material.ripple +import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.key import androidx.compose.runtime.remember diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/GiphyMessageContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/GiphyMessageContent.kt index 5e533111fe3..5984a818cb8 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/GiphyMessageContent.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/GiphyMessageContent.kt @@ -30,8 +30,8 @@ import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width -import androidx.compose.material.Text -import androidx.compose.material.ripple +import androidx.compose.material3.Text +import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Alignment diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageBubble.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageBubble.kt index b207a06a5c0..04a33dbbd34 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageBubble.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageBubble.kt @@ -20,14 +20,13 @@ import androidx.compose.foundation.BorderStroke import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.padding -import androidx.compose.material.Surface +import androidx.compose.material3.Surface import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Shape import androidx.compose.ui.unit.dp import io.getstream.chat.android.compose.ui.theme.ChatTheme -import io.getstream.chat.android.compose.ui.util.padding /** * Wraps the content of a message in a bubble. diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageContent.kt index d45f594a0d7..b4e9b27ca05 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageContent.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageContent.kt @@ -18,7 +18,7 @@ package io.getstream.chat.android.compose.ui.components.messages import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.padding -import androidx.compose.material.Text +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageFooter.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageFooter.kt index b7a2edbabec..eed6944125d 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageFooter.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageFooter.kt @@ -20,7 +20,7 @@ import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.padding -import androidx.compose.material.Text +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageHeaderLabel.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageHeaderLabel.kt index db12a8dad0a..f2c868c27da 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageHeaderLabel.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageHeaderLabel.kt @@ -20,8 +20,8 @@ import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size -import androidx.compose.material.Icon -import androidx.compose.material.Text +import androidx.compose.material3.Icon +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageText.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageText.kt index eabff3858c1..0b16b731dfa 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageText.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageText.kt @@ -21,7 +21,7 @@ import android.net.Uri import androidx.compose.foundation.gestures.detectTapGestures import androidx.compose.foundation.layout.padding import androidx.compose.foundation.text.BasicText -import androidx.compose.material.Text +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageThreadFooter.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageThreadFooter.kt index 5a5632e45c2..560db932732 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageThreadFooter.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessageThreadFooter.kt @@ -18,7 +18,7 @@ package io.getstream.chat.android.compose.ui.components.messages import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.padding -import androidx.compose.material.Text +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.platform.testTag diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessagesScrollingOption.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessagesScrollingOption.kt index 72d31e1f771..b0e8a2c4c91 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessagesScrollingOption.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/MessagesScrollingOption.kt @@ -22,10 +22,9 @@ import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.wrapContentSize import androidx.compose.foundation.shape.CircleShape import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.ExperimentalMaterialApi -import androidx.compose.material.Icon -import androidx.compose.material.Surface -import androidx.compose.material.Text +import androidx.compose.material3.Icon +import androidx.compose.material3.Surface +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier @@ -43,7 +42,6 @@ import io.getstream.chat.android.compose.ui.theme.ChatTheme * @param unreadCount The count of unread messages. * @param onClick The handler that's triggered when the user taps on the action. */ -@OptIn(ExperimentalMaterialApi::class) @Composable internal fun MessagesScrollingOption( unreadCount: Int, @@ -62,7 +60,7 @@ internal fun MessagesScrollingOption( .size(48.dp) .testTag("Stream_ScrollToBottomButton"), shape = CircleShape, - elevation = 4.dp, + shadowElevation = 4.dp, color = ChatTheme.colors.barsBackground, ) { Icon( diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/OwnedMessageVisibilityContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/OwnedMessageVisibilityContent.kt index 80b9f014a0d..5e46e645fbf 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/OwnedMessageVisibilityContent.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/OwnedMessageVisibilityContent.kt @@ -19,8 +19,8 @@ package io.getstream.chat.android.compose.ui.components.messages import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size -import androidx.compose.material.Icon -import androidx.compose.material.Text +import androidx.compose.material3.Icon +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/PollMessageContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/PollMessageContent.kt index f785b3a42e6..6d19230ca81 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/PollMessageContent.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/PollMessageContent.kt @@ -31,11 +31,12 @@ import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items import androidx.compose.foundation.shape.CircleShape import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.AlertDialog -import androidx.compose.material.Icon -import androidx.compose.material.LinearProgressIndicator -import androidx.compose.material.Text -import androidx.compose.material.TextButton +import androidx.compose.material3.AlertDialog +import androidx.compose.material3.ButtonDefaults +import androidx.compose.material3.Icon +import androidx.compose.material3.LinearProgressIndicator +import androidx.compose.material3.Text +import androidx.compose.material3.TextButton import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.mutableStateOf @@ -46,6 +47,7 @@ import androidx.compose.ui.draw.clip import androidx.compose.ui.focus.FocusRequester import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.StrokeCap import androidx.compose.ui.platform.LocalConfiguration import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource @@ -318,7 +320,12 @@ private fun NewOptionDialog( val newOption = remember { mutableStateOf("") } val focusRequester = remember { FocusRequester() } AlertDialog( - title = { Text(text = stringResource(R.string.stream_compose_suggest_an_option)) }, + title = { + Text( + text = stringResource(R.string.stream_compose_suggest_an_option), + color = ChatTheme.colors.textHighEmphasis, + ) + }, text = { InputField( value = newOption.value, @@ -340,6 +347,10 @@ private fun NewOptionDialog( confirmButton = { TextButton( enabled = newOption.value.isNotBlank(), + colors = ButtonDefaults.textButtonColors( + contentColor = ChatTheme.colors.primaryAccent, + disabledContentColor = ChatTheme.colors.primaryAccent.copy(alpha = 0.5f), + ), onClick = { onNewOption.invoke(newOption.value) onDismiss.invoke() @@ -350,11 +361,13 @@ private fun NewOptionDialog( }, dismissButton = { TextButton( + colors = ButtonDefaults.textButtonColors(contentColor = ChatTheme.colors.primaryAccent), onClick = { onDismiss.invoke() }, ) { Text(stringResource(R.string.stream_compose_dismiss)) } }, + containerColor = ChatTheme.colors.barsBackground, ) } @@ -425,12 +438,6 @@ private fun PollOptionItem( } } - val progress = if (voteCount == 0 || totalVoteCount == 0) { - 0f - } else { - voteCount / totalVoteCount.toFloat() - } - LinearProgressIndicator( modifier = Modifier .fillMaxWidth() @@ -443,13 +450,22 @@ private fun PollOptionItem( ) .clip(RoundedCornerShape(4.dp)) .height(4.dp), - progress = progress, + progress = { + if (voteCount == 0 || totalVoteCount == 0) { + 0f + } else { + voteCount / totalVoteCount.toFloat() + } + }, color = if (isVotedByMine) { ChatTheme.colors.infoAccent } else { ChatTheme.colors.primaryAccent }, - backgroundColor = ChatTheme.colors.inputBackground, + trackColor = ChatTheme.colors.inputBackground, + gapSize = 0.dp, + strokeCap = StrokeCap.Square, + drawStopIndicator = { /* Don't draw the stop indicator */ }, ) } } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/QuotedMessageText.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/QuotedMessageText.kt index b5523e1b70c..dcdbe60f9e8 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/QuotedMessageText.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/QuotedMessageText.kt @@ -17,7 +17,7 @@ package io.getstream.chat.android.compose.ui.components.messages import androidx.compose.foundation.layout.padding -import androidx.compose.material.Text +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clipToBounds diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/UploadingFooter.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/UploadingFooter.kt index 4ade8a8cc58..c37fb3417cb 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/UploadingFooter.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/messages/UploadingFooter.kt @@ -17,7 +17,7 @@ package io.getstream.chat.android.compose.ui.components.messages import androidx.compose.foundation.layout.Column -import androidx.compose.material.Text +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/moderatedmessage/ModeratedMessageDialog.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/moderatedmessage/ModeratedMessageDialog.kt index a1e1c08e12c..84d057c3495 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/moderatedmessage/ModeratedMessageDialog.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/moderatedmessage/ModeratedMessageDialog.kt @@ -22,7 +22,7 @@ import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding -import androidx.compose.material.Text +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/moderatedmessage/ModeratedMessageDialogOptions.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/moderatedmessage/ModeratedMessageDialogOptions.kt index 85d2ff5dd7b..831f9080148 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/moderatedmessage/ModeratedMessageDialogOptions.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/moderatedmessage/ModeratedMessageDialogOptions.kt @@ -22,7 +22,7 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items -import androidx.compose.material.ripple +import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Modifier diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/moderatedmessage/ModeratedMessageOptionItem.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/moderatedmessage/ModeratedMessageOptionItem.kt index 6af8d708d34..88843196c2b 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/moderatedmessage/ModeratedMessageOptionItem.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/moderatedmessage/ModeratedMessageOptionItem.kt @@ -17,8 +17,8 @@ package io.getstream.chat.android.compose.ui.components.moderatedmessage import androidx.compose.foundation.layout.Box -import androidx.compose.material.Divider -import androidx.compose.material.Text +import androidx.compose.material3.HorizontalDivider +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier @@ -38,7 +38,7 @@ public fun ModeratedMessageOptionItem( option: ModeratedMessageOption, modifier: Modifier = Modifier, ) { - Divider(color = ChatTheme.colors.borders) + HorizontalDivider(color = ChatTheme.colors.borders) Box( modifier = modifier, contentAlignment = Alignment.Center, diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollAnswers.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollAnswers.kt index 8ee0fcfa62d..9477a768043 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollAnswers.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollAnswers.kt @@ -38,8 +38,9 @@ import androidx.compose.foundation.layout.size import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.AlertDialog -import androidx.compose.material.Text +import androidx.compose.material3.AlertDialog +import androidx.compose.material3.ButtonDefaults +import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect @@ -257,6 +258,7 @@ internal fun AddAnswerDialog( false -> R.string.stream_compose_edit_answer }, ), + color = ChatTheme.colors.textHighEmphasis, ) }, text = { @@ -280,6 +282,10 @@ internal fun AddAnswerDialog( confirmButton = { TextButton( enabled = newOption.value.isNotBlank(), + colors = ButtonDefaults.textButtonColors( + contentColor = ChatTheme.colors.primaryAccent, + disabledContentColor = ChatTheme.colors.primaryAccent.copy(alpha = 0.5f), + ), onClick = { onNewAnswer.invoke(newOption.value) onDismiss.invoke() @@ -290,10 +296,12 @@ internal fun AddAnswerDialog( }, dismissButton = { TextButton( + colors = ButtonDefaults.textButtonColors(contentColor = ChatTheme.colors.primaryAccent), onClick = { onDismiss.invoke() }, ) { Text(stringResource(R.string.stream_compose_dismiss)) } }, + containerColor = ChatTheme.colors.barsBackground, ) } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollDialogHeader.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollDialogHeader.kt index ae1e17bf786..2a63190ffeb 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollDialogHeader.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollDialogHeader.kt @@ -21,7 +21,7 @@ import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding -import androidx.compose.material.Text +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollMoreOptionsDialog.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollMoreOptionsDialog.kt index ae451a78bc3..19dc2efae0c 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollMoreOptionsDialog.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollMoreOptionsDialog.kt @@ -14,13 +14,10 @@ * limitations under the License. */ -@file:OptIn(ExperimentalAnimationApi::class) - package io.getstream.chat.android.compose.ui.components.poll import androidx.activity.compose.BackHandler import androidx.compose.animation.AnimatedVisibility -import androidx.compose.animation.ExperimentalAnimationApi import androidx.compose.animation.core.MutableTransitionState import androidx.compose.animation.core.tween import androidx.compose.animation.fadeIn @@ -40,7 +37,7 @@ import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.LazyListScope import androidx.compose.foundation.lazy.itemsIndexed import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.Text +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Alignment @@ -60,7 +57,6 @@ import io.getstream.chat.android.compose.viewmodel.messages.MessageListViewModel import io.getstream.chat.android.models.Option import io.getstream.chat.android.models.Poll import io.getstream.chat.android.models.Vote -import io.getstream.chat.android.previewdata.PreviewPollData import io.getstream.chat.android.ui.common.state.messages.poll.SelectedPoll /** diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollOptionInput.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollOptionInput.kt index 02d1210e2c9..9d237e29880 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollOptionInput.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollOptionInput.kt @@ -28,7 +28,7 @@ import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.text.BasicTextField import androidx.compose.foundation.text.KeyboardOptions -import androidx.compose.material.Text +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollViewResultDialog.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollViewResultDialog.kt index 1500aec1e62..c9141a94e9e 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollViewResultDialog.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollViewResultDialog.kt @@ -14,13 +14,10 @@ * limitations under the License. */ -@file:OptIn(ExperimentalAnimationApi::class) - package io.getstream.chat.android.compose.ui.components.poll import androidx.activity.compose.BackHandler import androidx.compose.animation.AnimatedVisibility -import androidx.compose.animation.ExperimentalAnimationApi import androidx.compose.animation.core.MutableTransitionState import androidx.compose.animation.core.tween import androidx.compose.animation.fadeIn @@ -41,8 +38,8 @@ import androidx.compose.foundation.layout.size import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.LazyListScope import androidx.compose.foundation.lazy.itemsIndexed -import androidx.compose.material.Text import androidx.compose.material3.Icon +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Alignment @@ -62,7 +59,6 @@ import io.getstream.chat.android.models.Option import io.getstream.chat.android.models.Poll import io.getstream.chat.android.models.Vote import io.getstream.chat.android.models.VotingVisibility -import io.getstream.chat.android.previewdata.PreviewPollData import io.getstream.chat.android.ui.common.state.messages.poll.SelectedPoll /** diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/reactionoptions/ExtendedReactionsOptions.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/reactionoptions/ExtendedReactionsOptions.kt index 034452ba190..dc1503522a2 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/reactionoptions/ExtendedReactionsOptions.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/reactionoptions/ExtendedReactionsOptions.kt @@ -24,7 +24,7 @@ import androidx.compose.foundation.lazy.grid.GridCells import androidx.compose.foundation.lazy.grid.LazyGridScope import androidx.compose.foundation.lazy.grid.LazyVerticalGrid import androidx.compose.foundation.lazy.grid.items -import androidx.compose.material.ripple +import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.key import androidx.compose.runtime.remember diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/reactionoptions/ReactionOptions.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/reactionoptions/ReactionOptions.kt index 0937edf4603..986e70f7981 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/reactionoptions/ReactionOptions.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/reactionoptions/ReactionOptions.kt @@ -23,8 +23,8 @@ import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.RowScope import androidx.compose.foundation.layout.size -import androidx.compose.material.Icon -import androidx.compose.material.ripple +import androidx.compose.material3.Icon +import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.key import androidx.compose.runtime.remember diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/SuggestionList.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/SuggestionList.kt index 62faaa7d1f1..2c08a0e886e 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/SuggestionList.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/SuggestionList.kt @@ -19,7 +19,8 @@ package io.getstream.chat.android.compose.ui.components.suggestions import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.padding -import androidx.compose.material.Card +import androidx.compose.material3.Card +import androidx.compose.material3.CardDefaults import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Shape @@ -47,9 +48,9 @@ public fun SuggestionList( Popup(popupPositionProvider = AboveAnchorPopupPositionProvider()) { Card( modifier = modifier, - elevation = ChatTheme.dimens.suggestionListElevation, + elevation = CardDefaults.cardElevation(defaultElevation = ChatTheme.dimens.suggestionListElevation), shape = shape, - backgroundColor = ChatTheme.colors.barsBackground, + colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.barsBackground), ) { Column(Modifier.padding(contentPadding)) { headerContent() diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/commands/CommandSuggestionItem.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/commands/CommandSuggestionItem.kt index 6d3ffd03130..c675698ef55 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/commands/CommandSuggestionItem.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/commands/CommandSuggestionItem.kt @@ -27,8 +27,8 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width import androidx.compose.foundation.layout.wrapContentHeight -import androidx.compose.material.Text -import androidx.compose.material.ripple +import androidx.compose.material3.Text +import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Alignment diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/commands/CommandSuggestionList.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/commands/CommandSuggestionList.kt index 5aecc143016..183bcbbae10 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/commands/CommandSuggestionList.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/commands/CommandSuggestionList.kt @@ -24,8 +24,8 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items -import androidx.compose.material.Icon -import androidx.compose.material.Text +import androidx.compose.material3.Icon +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/mentions/MentionSuggestionItem.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/mentions/MentionSuggestionItem.kt index 9a874993239..a257f70f39e 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/mentions/MentionSuggestionItem.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/suggestions/mentions/MentionSuggestionItem.kt @@ -25,9 +25,9 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.wrapContentHeight -import androidx.compose.material.Icon -import androidx.compose.material.Text -import androidx.compose.material.ripple +import androidx.compose.material3.Icon +import androidx.compose.material3.Text +import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Alignment diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/userreactions/UserReactionItem.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/userreactions/UserReactionItem.kt index 3b0bcba0bc6..7b5b7ebac2e 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/userreactions/UserReactionItem.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/userreactions/UserReactionItem.kt @@ -26,7 +26,7 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.Text +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/userreactions/UserReactions.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/userreactions/UserReactions.kt index d4fe9431b60..371b7a621b8 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/userreactions/UserReactions.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/userreactions/UserReactions.kt @@ -25,7 +25,7 @@ import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.width import androidx.compose.foundation.lazy.grid.GridCells import androidx.compose.foundation.lazy.grid.LazyVerticalGrid -import androidx.compose.material.Text +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/MessagesScreen.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/MessagesScreen.kt index a0f0a0f958e..26af7d0b125 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/MessagesScreen.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/MessagesScreen.kt @@ -39,8 +39,8 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.safeDrawingPadding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.MaterialTheme -import androidx.compose.material.Scaffold +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Scaffold import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.collectAsState diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentsPicker.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentsPicker.kt index f5b8c6b7560..db83150ac2f 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentsPicker.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentsPicker.kt @@ -29,10 +29,11 @@ import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.safeDrawingPadding import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.Card -import androidx.compose.material.Icon -import androidx.compose.material.IconButton -import androidx.compose.material.Surface +import androidx.compose.material3.Card +import androidx.compose.material3.CardDefaults +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.Surface import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableIntStateOf @@ -64,7 +65,6 @@ import io.getstream.chat.android.models.Channel * tabs based on the [tabFactories] parameter. Out of the box we provide factories for images, * files and media capture tabs. * - * @param channel The channel where the attachments picker is being used. * @param attachmentsPickerViewModel ViewModel that loads the images or files and persists which * items have been selected. * @param onAttachmentPickerAction A lambda that will be invoked when an action is happened. @@ -109,13 +109,13 @@ public fun AttachmentsPicker( onClick = {}, interactionSource = remember { MutableInteractionSource() }, ), - elevation = 4.dp, + elevation = CardDefaults.cardElevation(defaultElevation = 4.dp), shape = if (selectedAttachmentsPickerMode?.isFullContent == true) { RoundedCornerShape(0.dp) } else { shape }, - backgroundColor = ChatTheme.attachmentPickerTheme.backgroundSecondary, + colors = CardDefaults.cardColors(containerColor = ChatTheme.attachmentPickerTheme.backgroundSecondary), ) { Column { if (selectedAttachmentsPickerMode == null || selectedAttachmentsPickerMode?.isFullContent == false) { diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/factory/AttachmentsPickerFilesTabFactory.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/factory/AttachmentsPickerFilesTabFactory.kt index d9899b5063e..a941e0bf9fe 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/factory/AttachmentsPickerFilesTabFactory.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/factory/AttachmentsPickerFilesTabFactory.kt @@ -25,10 +25,11 @@ import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding -import androidx.compose.material.Icon -import androidx.compose.material.IconButton -import androidx.compose.material.SnackbarHostState -import androidx.compose.material.Text +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.SnackbarDuration +import androidx.compose.material3.SnackbarHostState +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue @@ -161,7 +162,7 @@ public class AttachmentsPickerFilesTabFactory : AttachmentsPickerTabFactory { val snackbarAction = stringResource(id = R.string.stream_ui_message_composer_permissions_setting_button) LaunchedEffect(showPermanentlyDeniedSnackBar) { if (showPermanentlyDeniedSnackBar) { - snackBarHostState.showSnackbar(snackbarMessage, snackbarAction) + snackBarHostState.showSnackbar(snackbarMessage, snackbarAction, duration = SnackbarDuration.Short) showPermanentlyDeniedSnackBar = false } } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/factory/AttachmentsPickerImagesTabFactory.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/factory/AttachmentsPickerImagesTabFactory.kt index 57697c8ab0e..4adc4b77b06 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/factory/AttachmentsPickerImagesTabFactory.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/factory/AttachmentsPickerImagesTabFactory.kt @@ -19,8 +19,9 @@ package io.getstream.chat.android.compose.ui.messages.attachments.factory import androidx.activity.compose.rememberLauncherForActivityResult import androidx.activity.result.contract.ActivityResultContracts import androidx.compose.foundation.layout.padding -import androidx.compose.material.Icon -import androidx.compose.material.SnackbarHostState +import androidx.compose.material3.Icon +import androidx.compose.material3.SnackbarDuration +import androidx.compose.material3.SnackbarHostState import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue @@ -138,7 +139,7 @@ public class AttachmentsPickerImagesTabFactory : AttachmentsPickerTabFactory { val snackbarAction = stringResource(id = R.string.stream_ui_message_composer_permissions_setting_button) LaunchedEffect(showPermanentlyDeniedSnackBar) { if (showPermanentlyDeniedSnackBar) { - snackBarHostState.showSnackbar(snackbarMessage, snackbarAction) + snackBarHostState.showSnackbar(snackbarMessage, snackbarAction, duration = SnackbarDuration.Short) showPermanentlyDeniedSnackBar = false } } diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/factory/AttachmentsPickerMediaCaptureTabFactory.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/factory/AttachmentsPickerMediaCaptureTabFactory.kt index 0c1d122a6ae..d91af48ba17 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/factory/AttachmentsPickerMediaCaptureTabFactory.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/factory/AttachmentsPickerMediaCaptureTabFactory.kt @@ -20,7 +20,7 @@ import android.Manifest import androidx.activity.compose.rememberLauncherForActivityResult import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.material.Icon +import androidx.compose.material3.Icon import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.ui.Modifier diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/factory/AttachmentsPickerPollTabFactory.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/factory/AttachmentsPickerPollTabFactory.kt index babe8fd12b0..d13f6969f5f 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/factory/AttachmentsPickerPollTabFactory.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/factory/AttachmentsPickerPollTabFactory.kt @@ -26,7 +26,7 @@ import androidx.compose.foundation.layout.height import androidx.compose.foundation.lazy.rememberLazyListState import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll -import androidx.compose.material.Icon +import androidx.compose.material3.Icon import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/factory/AttachmentsPickerSystemTabFactory.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/factory/AttachmentsPickerSystemTabFactory.kt index 7cd642c622f..2ccf759a8c0 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/factory/AttachmentsPickerSystemTabFactory.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/factory/AttachmentsPickerSystemTabFactory.kt @@ -40,9 +40,10 @@ import androidx.compose.foundation.layout.wrapContentSize import androidx.compose.foundation.lazy.LazyRow import androidx.compose.foundation.shape.CircleShape import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.Card -import androidx.compose.material.Icon -import androidx.compose.material.Text +import androidx.compose.material3.Card +import androidx.compose.material3.CardDefaults +import androidx.compose.material3.Icon +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue @@ -421,8 +422,8 @@ private fun RoundedIconButton( ) { Card( shape = CircleShape, - elevation = 4.dp, - backgroundColor = ChatTheme.colors.barsBackground, + elevation = CardDefaults.cardElevation(defaultElevation = 4.dp), + colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.barsBackground), modifier = Modifier .clip(CircleShape) .size(72.dp) diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/factory/MissingPermissionContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/factory/MissingPermissionContent.kt index 88429a123d6..38927fff798 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/factory/MissingPermissionContent.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/factory/MissingPermissionContent.kt @@ -21,9 +21,9 @@ import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size -import androidx.compose.material.ButtonDefaults -import androidx.compose.material.Text -import androidx.compose.material.TextButton +import androidx.compose.material3.ButtonDefaults +import androidx.compose.material3.Text +import androidx.compose.material3.TextButton import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/factory/NoStorageAccessContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/factory/NoStorageAccessContent.kt index fe89815630f..50b709d4c16 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/factory/NoStorageAccessContent.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/factory/NoStorageAccessContent.kt @@ -20,9 +20,9 @@ import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size -import androidx.compose.material.ButtonDefaults -import androidx.compose.material.Text -import androidx.compose.material.TextButton +import androidx.compose.material3.ButtonDefaults +import androidx.compose.material3.Text +import androidx.compose.material3.TextButton import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/factory/PermissionPermanentlyDeniedSnackBar.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/factory/PermissionPermanentlyDeniedSnackBar.kt index 79adf8283de..1cd0b2838bc 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/factory/PermissionPermanentlyDeniedSnackBar.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/factory/PermissionPermanentlyDeniedSnackBar.kt @@ -19,12 +19,12 @@ package io.getstream.chat.android.compose.ui.messages.attachments.factory import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight -import androidx.compose.material.ButtonDefaults -import androidx.compose.material.Snackbar -import androidx.compose.material.SnackbarHost -import androidx.compose.material.SnackbarHostState -import androidx.compose.material.Text -import androidx.compose.material.TextButton +import androidx.compose.material3.ButtonDefaults +import androidx.compose.material3.Snackbar +import androidx.compose.material3.SnackbarHost +import androidx.compose.material3.SnackbarHostState +import androidx.compose.material3.Text +import androidx.compose.material3.TextButton import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier @@ -54,12 +54,12 @@ internal fun PermissionPermanentlyDeniedSnackBar( Snackbar( content = { Text( - text = data.message, + text = data.visuals.message, overflow = TextOverflow.Ellipsis, maxLines = 1, ) }, - action = data.actionLabel?.let { + action = data.visuals.actionLabel?.let { { TextButton( colors = ButtonDefaults.textButtonColors(contentColor = ChatTheme.colors.primaryAccent), diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollCreationDiscardDialog.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollCreationDiscardDialog.kt index b4e6a458d50..2ddd2936fe4 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollCreationDiscardDialog.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollCreationDiscardDialog.kt @@ -26,7 +26,7 @@ import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.Text +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollCreationHeader.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollCreationHeader.kt index 26e27706b12..b711cf0bf9d 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollCreationHeader.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollCreationHeader.kt @@ -26,9 +26,9 @@ import androidx.compose.foundation.layout.RowScope import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding -import androidx.compose.material.Icon -import androidx.compose.material.Surface -import androidx.compose.material.Text +import androidx.compose.material3.Icon +import androidx.compose.material3.Surface +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier @@ -78,7 +78,7 @@ public fun PollCreationHeader( ) { Surface( modifier = modifier.fillMaxWidth(), - elevation = elevation, + shadowElevation = elevation, color = color, shape = shape, ) { diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollOptionList.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollOptionList.kt index b9ac967c79f..0b11da6cd0c 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollOptionList.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollOptionList.kt @@ -36,8 +36,8 @@ import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.LazyListState import androidx.compose.foundation.lazy.itemsIndexed import androidx.compose.foundation.lazy.rememberLazyListState -import androidx.compose.material.IconButton -import androidx.compose.material.Text +import androidx.compose.material3.IconButton +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollQuestionInput.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollQuestionInput.kt index 8e52571485f..8c06ba8bd6e 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollQuestionInput.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollQuestionInput.kt @@ -21,7 +21,7 @@ import androidx.compose.foundation.background import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding -import androidx.compose.material.Text +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/MessageComposer.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/MessageComposer.kt index 3abb364ad8e..884f69bd396 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/MessageComposer.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/MessageComposer.kt @@ -30,15 +30,15 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.safeDrawingPadding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width -import androidx.compose.material.Checkbox -import androidx.compose.material.CheckboxDefaults -import androidx.compose.material.Icon -import androidx.compose.material.IconButton -import androidx.compose.material.SnackbarDuration -import androidx.compose.material.SnackbarHost -import androidx.compose.material.SnackbarHostState -import androidx.compose.material.Surface -import androidx.compose.material.Text +import androidx.compose.material3.Checkbox +import androidx.compose.material3.CheckboxDefaults +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.SnackbarDuration +import androidx.compose.material3.SnackbarHost +import androidx.compose.material3.SnackbarHostState +import androidx.compose.material3.Surface +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.collectAsState @@ -71,7 +71,6 @@ import io.getstream.chat.android.compose.ui.messages.composer.internal.DefaultMe import io.getstream.chat.android.compose.ui.theme.ChatTheme import io.getstream.chat.android.compose.ui.util.AboveAnchorPopupPositionProvider import io.getstream.chat.android.compose.ui.util.mirrorRtl -import io.getstream.chat.android.compose.ui.util.size import io.getstream.chat.android.compose.viewmodel.messages.MessageComposerViewModel import io.getstream.chat.android.models.Attachment import io.getstream.chat.android.models.ChannelCapabilities @@ -334,7 +333,7 @@ public fun MessageComposer( Surface( modifier = modifier, - elevation = 4.dp, + shadowElevation = 4.dp, color = ChatTheme.colors.barsBackground, ) { Column(Modifier.padding(vertical = 4.dp)) { diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/DefaultMessageComposerRecordingContent.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/DefaultMessageComposerRecordingContent.kt index 36304e375e4..8611910252b 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/DefaultMessageComposerRecordingContent.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/internal/DefaultMessageComposerRecordingContent.kt @@ -35,12 +35,13 @@ import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width import androidx.compose.foundation.layout.wrapContentHeight -import androidx.compose.material.Card -import androidx.compose.material.IconButton -import androidx.compose.material.TextButton -import androidx.compose.material.ripple +import androidx.compose.material3.Card +import androidx.compose.material3.CardDefaults import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton import androidx.compose.material3.Text +import androidx.compose.material3.TextButton +import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue @@ -260,9 +261,9 @@ internal fun DefaultHoldToRecordPopup( .fillMaxWidth() .wrapContentHeight() .padding(theme.containerPadding), - elevation = theme.containerElevation, + elevation = CardDefaults.cardElevation(defaultElevation = theme.containerElevation), shape = theme.containerShape, - backgroundColor = theme.containerColor, + colors = CardDefaults.cardColors(containerColor = theme.containerColor), ) { Box( modifier = Modifier @@ -303,9 +304,9 @@ internal fun DefaultAudioRecordPermissionRationale( .fillMaxWidth() .wrapContentHeight() .padding(theme.containerPadding), - elevation = theme.containerElevation, + elevation = CardDefaults.cardElevation(defaultElevation = theme.containerElevation), shape = theme.containerShape, - backgroundColor = theme.containerColor, + colors = CardDefaults.cardColors(containerColor = theme.containerColor), ) { Row( modifier = Modifier @@ -641,7 +642,7 @@ private fun RecordingFloatingIcon( .size(style.size) .padding(style.padding), shape = style.backgroundShape, - backgroundColor = style.backgroundColor, + colors = CardDefaults.cardColors(containerColor = style.backgroundColor), ) { Box( contentAlignment = Alignment.Center, diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/header/MessageListHeader.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/header/MessageListHeader.kt index 4e51d8613d3..764ddeaa7b8 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/header/MessageListHeader.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/header/MessageListHeader.kt @@ -28,8 +28,8 @@ import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.wrapContentHeight -import androidx.compose.material.Surface -import androidx.compose.material.Text +import androidx.compose.material3.Surface +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Alignment @@ -120,7 +120,7 @@ public fun MessageListHeader( ) { Surface( modifier = modifier.fillMaxWidth(), - elevation = elevation, + shadowElevation = elevation, color = color, shape = shape, ) { diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageContainer.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageContainer.kt index 04d8f0725eb..b30290df982 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageContainer.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageContainer.kt @@ -22,8 +22,8 @@ import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.Surface -import androidx.compose.material.Text +import androidx.compose.material3.Surface +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier @@ -300,7 +300,6 @@ internal fun DefaultMessageModeratedContent(moderatedMessageItemState: Moderated * @param onThreadClick Handler when the user clicks on the message thread. * @param onCastVote Handler for casting a vote on an option. * @param onRemoveVote Handler for removing a vote on an option. - * @param onMoreOption Handler for seeing more options. * @param onClosePoll Handler for closing a poll. * @param onGiphyActionClick Handler when the user selects a Giphy action. * @param onQuotedMessageClick Handler for quoted message click action. diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageItem.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageItem.kt index 529977b0ec7..9457b933fb4 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageItem.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageItem.kt @@ -36,8 +36,8 @@ import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width import androidx.compose.foundation.layout.widthIn import androidx.compose.foundation.layout.wrapContentHeight -import androidx.compose.material.Icon -import androidx.compose.material.ripple +import androidx.compose.material3.Icon +import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.remember diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageList.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageList.kt index 4c81cbcaa85..02cd52e9443 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageList.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/MessageList.kt @@ -20,7 +20,7 @@ import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.BoxScope import androidx.compose.foundation.layout.PaddingValues -import androidx.compose.material.Text +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/Messages.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/Messages.kt index 99e4b91dfa5..90996efcddc 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/Messages.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/list/Messages.kt @@ -14,8 +14,6 @@ * limitations under the License. */ -@file:OptIn(ExperimentalComposeUiApi::class) - package io.getstream.chat.android.compose.ui.messages.list import android.annotation.SuppressLint @@ -35,7 +33,6 @@ import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.derivedStateOf import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Alignment -import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.Modifier import androidx.compose.ui.layout.onSizeChanged import androidx.compose.ui.platform.LocalDensity diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/preview/internal/MessagePreviewItem.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/preview/internal/MessagePreviewItem.kt index 92f1ad917e2..5d3af352785 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/preview/internal/MessagePreviewItem.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/preview/internal/MessagePreviewItem.kt @@ -27,8 +27,8 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.wrapContentHeight -import androidx.compose.material.Text -import androidx.compose.material.ripple +import androidx.compose.material3.Text +import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Alignment diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/ChatTheme.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/ChatTheme.kt index 764fb076fd6..93fad516a2d 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/ChatTheme.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/ChatTheme.kt @@ -14,16 +14,16 @@ * limitations under the License. */ -@file:OptIn(ExperimentalComposeUiApi::class, ExperimentalMaterialApi::class) +@file:OptIn(ExperimentalComposeUiApi::class, ExperimentalMaterial3Api::class) package io.getstream.chat.android.compose.ui.theme import androidx.annotation.RequiresPermission import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.foundation.layout.Box -import androidx.compose.material.ExperimentalMaterialApi -import androidx.compose.material.LocalContentColor -import androidx.compose.material.LocalRippleConfiguration +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.LocalContentColor +import androidx.compose.material3.LocalRippleConfiguration import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.LaunchedEffect diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamRippleConfiguration.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamRippleConfiguration.kt index 336512bca7d..eebc3743cb7 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamRippleConfiguration.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamRippleConfiguration.kt @@ -16,12 +16,12 @@ package io.getstream.chat.android.compose.ui.theme -import androidx.compose.material.ExperimentalMaterialApi -import androidx.compose.material.RippleConfiguration -import androidx.compose.material.RippleDefaults import androidx.compose.material.ripple.RippleAlpha +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.RippleConfiguration import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.luminance /** * Configuration for customizing the ripple effect on the composable components. @@ -36,6 +36,30 @@ public class StreamRippleConfiguration( public companion object { + private const val LUMINANCE_THRESHOLD = 0.5 + + // Note: Values taken from material:RippleDefaults to keep it backwards compatible + private val LightThemeHighContrastRippleAlpha = RippleAlpha( + pressedAlpha = 0.24f, + focusedAlpha = 0.24f, + draggedAlpha = 0.16f, + hoveredAlpha = 0.08f, + ) + // Note: Values taken from material:RippleDefaults to keep it backwards compatible + private val LightThemeLowContrastRippleAlpha = RippleAlpha( + pressedAlpha = 0.12f, + focusedAlpha = 0.12f, + draggedAlpha = 0.08f, + hoveredAlpha = 0.04f, + ) + // Note: Values taken from material:RippleDefaults to keep it backwards compatible + private val DarkThemeRippleAlpha = RippleAlpha( + pressedAlpha = 0.10f, + focusedAlpha = 0.12f, + draggedAlpha = 0.08f, + hoveredAlpha = 0.04f, + ) + /** * Creates the default [StreamRippleConfiguration]. * @@ -45,9 +69,33 @@ public class StreamRippleConfiguration( @Composable public fun defaultRippleConfiguration(contentColor: Color, lightTheme: Boolean): StreamRippleConfiguration = StreamRippleConfiguration( - color = RippleDefaults.rippleColor(contentColor, lightTheme), - rippleAlpha = RippleDefaults.rippleAlpha(contentColor, lightTheme), + color = rippleColor(contentColor, lightTheme), + rippleAlpha = rippleAlpha(contentColor, lightTheme), ) + + private fun rippleColor(contentColor: Color, lightTheme: Boolean): Color { + val contentLuminance = contentColor.luminance() + return if (!lightTheme && contentLuminance < LUMINANCE_THRESHOLD) { + Color.White + } else { + contentColor + } + } + + private fun rippleAlpha(contentColor: Color, lightTheme: Boolean): RippleAlpha { + return when { + lightTheme -> { + if (contentColor.luminance() > LUMINANCE_THRESHOLD) { + LightThemeHighContrastRippleAlpha + } else { + LightThemeLowContrastRippleAlpha + } + } + else -> { + DarkThemeRippleAlpha + } + } + } } } @@ -55,6 +103,6 @@ public class StreamRippleConfiguration( * Maps a [StreamRippleConfiguration] to the android [RippleConfiguration]. * Used to hide the internal implementation of the ripple configuration, and not expose it outside of [ChatTheme]. */ -@OptIn(ExperimentalMaterialApi::class) +@OptIn(ExperimentalMaterial3Api::class) internal fun StreamRippleConfiguration.toRippleConfiguration(): RippleConfiguration = RippleConfiguration(color = color, rippleAlpha = rippleAlpha) diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/threads/ThreadItem.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/threads/ThreadItem.kt index 896ac257fd1..0279f1fd5f1 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/threads/ThreadItem.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/threads/ThreadItem.kt @@ -28,10 +28,10 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width -import androidx.compose.material.Icon -import androidx.compose.material.Surface -import androidx.compose.material.Text -import androidx.compose.material.ripple +import androidx.compose.material3.Icon +import androidx.compose.material3.Surface +import androidx.compose.material3.Text +import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Alignment diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/threads/UnreadThreadsBanner.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/threads/UnreadThreadsBanner.kt index af6d0b2b8fc..db26ef1bf9f 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/threads/UnreadThreadsBanner.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/threads/UnreadThreadsBanner.kt @@ -25,10 +25,10 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.heightIn import androidx.compose.foundation.layout.padding import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.Icon -import androidx.compose.material.IconButton -import androidx.compose.material.Surface -import androidx.compose.material.Text +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.Surface +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessagePreviewIconFactory.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessagePreviewIconFactory.kt index e38be0bf1ba..3ec0e8a0545 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessagePreviewIconFactory.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/util/MessagePreviewIconFactory.kt @@ -17,7 +17,7 @@ package io.getstream.chat.android.compose.ui.util import androidx.compose.foundation.text.InlineTextContent -import androidx.compose.material.Icon +import androidx.compose.material3.Icon import androidx.compose.ui.res.painterResource import androidx.compose.ui.text.Placeholder import androidx.compose.ui.text.PlaceholderVerticalAlign diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/viewmodel/channels/ChannelListViewModel.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/viewmodel/channels/ChannelListViewModel.kt index 0b7008155d9..8a78f34f814 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/viewmodel/channels/ChannelListViewModel.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/viewmodel/channels/ChannelListViewModel.kt @@ -62,7 +62,6 @@ import kotlinx.coroutines.job import kotlinx.coroutines.launch import kotlinx.coroutines.plus import kotlin.coroutines.cancellation.CancellationException -import kotlin.coroutines.coroutineContext /** * A state store that represents all the information required to query, filter, show and react to @@ -686,7 +685,7 @@ public class ChannelListViewModel( } /** - * Creates a list of [ChannelItemState] that represents channel items we show in the list of channels. + * Creates a list of [ItemState.ChannelItemState] that represents channel items we show in the list of channels. * * @param channels The channels to show. * @param channelMutes The list of channels muted for the current user. From a906047278e9b03627030f7c2261983f55119b3e Mon Sep 17 00:00:00 2001 From: PetarVelikov Date: Thu, 26 Dec 2024 09:15:42 +0100 Subject: [PATCH 2/8] [AND-201] Migrate stream-chat-android-compose-sample material to material3. --- .../build.gradle | 2 +- .../compose/sample/ui/ChannelsActivity.kt | 4 +-- .../compose/sample/ui/MessagesActivity.kt | 8 ++--- .../sample/ui/channel/ChannelInfoActivity.kt | 4 +-- .../sample/ui/channel/ChannelInfoHeader.kt | 6 ++-- .../ui/channel/ChannelInfoMemberItem.kt | 2 +- .../ui/channel/ChannelInfoOptionItem.kt | 4 +-- .../ui/channel/GroupChannelInfoActivity.kt | 4 +-- .../sample/ui/component/AppBottomBar.kt | 4 +-- .../sample/ui/component/MembersList.kt | 2 +- .../sample/ui/login/CustomLoginActivity.kt | 36 ++++++++++--------- .../sample/ui/login/UserLoginActivity.kt | 6 ++-- .../ui/pinned/PinnedMessagesActivity.kt | 13 +++---- .../ui/theme/StreamRippleConfiguration.kt | 2 ++ 14 files changed, 52 insertions(+), 45 deletions(-) diff --git a/stream-chat-android-compose-sample/build.gradle b/stream-chat-android-compose-sample/build.gradle index 0d42b60eb9b..ae0267a701c 100644 --- a/stream-chat-android-compose-sample/build.gradle +++ b/stream-chat-android-compose-sample/build.gradle @@ -130,7 +130,7 @@ dependencies { implementation Dependencies.composeUi implementation Dependencies.composeUiTooling implementation Dependencies.composeFoundation - implementation Dependencies.composeMaterial + implementation Dependencies.composeMaterial3 implementation Dependencies.composeMaterialIcons implementation Dependencies.composeActivity diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/ChannelsActivity.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/ChannelsActivity.kt index d01f93a2519..844edd7aa3c 100644 --- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/ChannelsActivity.kt +++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/ChannelsActivity.kt @@ -32,8 +32,8 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.width import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.Scaffold -import androidx.compose.material.Text +import androidx.compose.material3.Scaffold +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/MessagesActivity.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/MessagesActivity.kt index 30f5a76fa32..4b190416996 100644 --- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/MessagesActivity.kt +++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/MessagesActivity.kt @@ -41,10 +41,10 @@ import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentSize import androidx.compose.foundation.layout.wrapContentWidth import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.Icon -import androidx.compose.material.Scaffold -import androidx.compose.material.Text -import androidx.compose.material.ripple +import androidx.compose.material3.Icon +import androidx.compose.material3.Scaffold +import androidx.compose.material3.Text +import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/channel/ChannelInfoActivity.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/channel/ChannelInfoActivity.kt index cb7b38d009f..a4154433472 100644 --- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/channel/ChannelInfoActivity.kt +++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/channel/ChannelInfoActivity.kt @@ -27,8 +27,8 @@ import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.LazyColumn -import androidx.compose.material.Scaffold -import androidx.compose.material.Surface +import androidx.compose.material3.Scaffold +import androidx.compose.material3.Surface import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.collectAsState diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/channel/ChannelInfoHeader.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/channel/ChannelInfoHeader.kt index 8e23d467407..36be7894299 100644 --- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/channel/ChannelInfoHeader.kt +++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/channel/ChannelInfoHeader.kt @@ -25,9 +25,9 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size -import androidx.compose.material.Icon -import androidx.compose.material.IconButton -import androidx.compose.material.Text +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/channel/ChannelInfoMemberItem.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/channel/ChannelInfoMemberItem.kt index fc57da5020c..ced61726a60 100644 --- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/channel/ChannelInfoMemberItem.kt +++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/channel/ChannelInfoMemberItem.kt @@ -25,7 +25,7 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width -import androidx.compose.material.Text +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/channel/ChannelInfoOptionItem.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/channel/ChannelInfoOptionItem.kt index 553cb866099..c85e9346aee 100644 --- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/channel/ChannelInfoOptionItem.kt +++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/channel/ChannelInfoOptionItem.kt @@ -26,10 +26,10 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width -import androidx.compose.material.Icon -import androidx.compose.material.Text import androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.filled.KeyboardArrowRight +import androidx.compose.material3.Icon +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/channel/GroupChannelInfoActivity.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/channel/GroupChannelInfoActivity.kt index 43d6a1c8257..fb341fba949 100644 --- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/channel/GroupChannelInfoActivity.kt +++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/channel/GroupChannelInfoActivity.kt @@ -29,8 +29,8 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.width import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items -import androidx.compose.material.Scaffold -import androidx.compose.material.Surface +import androidx.compose.material3.Scaffold +import androidx.compose.material3.Surface import androidx.compose.runtime.Composable import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/AppBottomBar.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/AppBottomBar.kt index df41cda5718..a45ec90b9b9 100644 --- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/AppBottomBar.kt +++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/AppBottomBar.kt @@ -28,8 +28,8 @@ import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding -import androidx.compose.material.Icon -import androidx.compose.material.Text +import androidx.compose.material3.Icon +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/MembersList.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/MembersList.kt index ef8967c9e88..277b5672628 100644 --- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/MembersList.kt +++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/component/MembersList.kt @@ -23,7 +23,7 @@ import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.width import androidx.compose.foundation.lazy.LazyRow import androidx.compose.foundation.lazy.itemsIndexed -import androidx.compose.material.Text +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.ui.Alignment diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/login/CustomLoginActivity.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/login/CustomLoginActivity.kt index d6d20b1c0fb..532c68250b9 100644 --- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/login/CustomLoginActivity.kt +++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/login/CustomLoginActivity.kt @@ -30,15 +30,17 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.Button -import androidx.compose.material.ButtonDefaults -import androidx.compose.material.Icon -import androidx.compose.material.IconButton -import androidx.compose.material.Scaffold -import androidx.compose.material.Text -import androidx.compose.material.TextField -import androidx.compose.material.TextFieldDefaults -import androidx.compose.material.TopAppBar +import androidx.compose.material3.Button +import androidx.compose.material3.ButtonDefaults +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.Scaffold +import androidx.compose.material3.Text +import androidx.compose.material3.TextField +import androidx.compose.material3.TextFieldDefaults +import androidx.compose.material3.TopAppBar +import androidx.compose.material3.TopAppBarDefaults import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf @@ -169,6 +171,7 @@ class CustomLoginActivity : AppCompatActivity() { ) } + @OptIn(ExperimentalMaterial3Api::class) @Composable private fun CustomLoginToolbar(onClick: () -> Unit) { TopAppBar( @@ -186,8 +189,7 @@ class CustomLoginActivity : AppCompatActivity() { ) } }, - backgroundColor = Color.White, - elevation = 0.dp, + colors = TopAppBarDefaults.topAppBarColors(containerColor = Color.White), ) } @@ -206,9 +208,11 @@ class CustomLoginActivity : AppCompatActivity() { onValueChange = { onValueChange(it) }, singleLine = true, label = { Text(hint) }, - colors = TextFieldDefaults.textFieldColors( - textColor = ChatTheme.colors.textHighEmphasis, - backgroundColor = ChatTheme.colors.inputBackground, + colors = TextFieldDefaults.colors( + focusedTextColor = ChatTheme.colors.textHighEmphasis, + unfocusedTextColor = ChatTheme.colors.textHighEmphasis, + focusedContainerColor = ChatTheme.colors.inputBackground, + unfocusedContainerColor = ChatTheme.colors.inputBackground, cursorColor = ChatTheme.colors.primaryAccent, focusedIndicatorColor = ChatTheme.colors.primaryAccent, focusedLabelColor = ChatTheme.colors.primaryAccent, @@ -229,8 +233,8 @@ class CustomLoginActivity : AppCompatActivity() { enabled = enabled, shape = RoundedCornerShape(8.dp), colors = ButtonDefaults.buttonColors( - backgroundColor = ChatTheme.colors.primaryAccent, - disabledBackgroundColor = ChatTheme.colors.disabled, + containerColor = ChatTheme.colors.primaryAccent, + disabledContainerColor = ChatTheme.colors.disabled, ), onClick = onClick, ) { diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/login/UserLoginActivity.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/login/UserLoginActivity.kt index 213be159cf9..83ec45373e4 100644 --- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/login/UserLoginActivity.kt +++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/login/UserLoginActivity.kt @@ -38,9 +38,9 @@ import androidx.compose.foundation.layout.wrapContentSize import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items import androidx.compose.foundation.shape.CircleShape -import androidx.compose.material.Icon -import androidx.compose.material.Text -import androidx.compose.material.ripple +import androidx.compose.material3.Icon +import androidx.compose.material3.Text +import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Alignment diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/pinned/PinnedMessagesActivity.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/pinned/PinnedMessagesActivity.kt index d16392da03b..1b88e3a28e3 100644 --- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/pinned/PinnedMessagesActivity.kt +++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/pinned/PinnedMessagesActivity.kt @@ -32,11 +32,11 @@ import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width -import androidx.compose.material.Icon -import androidx.compose.material.IconButton -import androidx.compose.material.Scaffold -import androidx.compose.material.Surface -import androidx.compose.material.Text +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.Scaffold +import androidx.compose.material3.Surface +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier @@ -126,11 +126,12 @@ class PinnedMessagesActivity : BaseConnectedActivity() { .fillMaxWidth() .height(60.dp) .background(ChatTheme.colors.barsBackground), - elevation = 2.dp, + shadowElevation = 2.dp, ) { Row( modifier = Modifier .fillMaxWidth() + .background(ChatTheme.colors.barsBackground) .padding(8.dp), verticalAlignment = Alignment.CenterVertically, horizontalArrangement = Arrangement.SpaceBetween, diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamRippleConfiguration.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamRippleConfiguration.kt index eebc3743cb7..599864a69a3 100644 --- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamRippleConfiguration.kt +++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/theme/StreamRippleConfiguration.kt @@ -45,6 +45,7 @@ public class StreamRippleConfiguration( draggedAlpha = 0.16f, hoveredAlpha = 0.08f, ) + // Note: Values taken from material:RippleDefaults to keep it backwards compatible private val LightThemeLowContrastRippleAlpha = RippleAlpha( pressedAlpha = 0.12f, @@ -52,6 +53,7 @@ public class StreamRippleConfiguration( draggedAlpha = 0.08f, hoveredAlpha = 0.04f, ) + // Note: Values taken from material:RippleDefaults to keep it backwards compatible private val DarkThemeRippleAlpha = RippleAlpha( pressedAlpha = 0.10f, From 4cfbe344542fa423e33781d4f7b662d18ffeb109 Mon Sep 17 00:00:00 2001 From: PetarVelikov Date: Thu, 26 Dec 2024 10:04:12 +0100 Subject: [PATCH 3/8] [AND-201] Migrate stream-chat-android-ui-uitests material to material3. --- stream-chat-android-ui-uitests/build.gradle | 2 +- .../chat/android/uitests/app/login/LoginActivity.kt | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/stream-chat-android-ui-uitests/build.gradle b/stream-chat-android-ui-uitests/build.gradle index 7f636cb0d24..9cde0317067 100644 --- a/stream-chat-android-ui-uitests/build.gradle +++ b/stream-chat-android-ui-uitests/build.gradle @@ -70,7 +70,7 @@ dependencies { implementation Dependencies.composeUi implementation Dependencies.composeUiTooling implementation Dependencies.composeFoundation - implementation Dependencies.composeMaterial + implementation Dependencies.composeMaterial3 implementation Dependencies.composeActivity implementation Dependencies.composeViewModel implementation Dependencies.composeAccompanistPermissions diff --git a/stream-chat-android-ui-uitests/src/main/java/io/getstream/chat/android/uitests/app/login/LoginActivity.kt b/stream-chat-android-ui-uitests/src/main/java/io/getstream/chat/android/uitests/app/login/LoginActivity.kt index 2638a9bceaa..24b564dad99 100644 --- a/stream-chat-android-ui-uitests/src/main/java/io/getstream/chat/android/uitests/app/login/LoginActivity.kt +++ b/stream-chat-android-ui-uitests/src/main/java/io/getstream/chat/android/uitests/app/login/LoginActivity.kt @@ -36,10 +36,10 @@ import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items -import androidx.compose.material.ButtonDefaults -import androidx.compose.material.OutlinedButton -import androidx.compose.material.Text -import androidx.compose.material.ripple +import androidx.compose.material3.ButtonDefaults +import androidx.compose.material3.OutlinedButton +import androidx.compose.material3.Text +import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf @@ -128,7 +128,7 @@ class LoginActivity : AppCompatActivity() { horizontalArrangement = Arrangement.Center, verticalAlignment = Alignment.CenterVertically, ) { - SdkType.values().forEach { type -> + SdkType.entries.forEach { type -> Row( modifier = Modifier.padding(all = 8.dp), ) { @@ -138,7 +138,7 @@ class LoginActivity : AppCompatActivity() { modifier = Modifier.semantics { contentDescription = type.value }, colors = ButtonDefaults.outlinedButtonColors( contentColor = if (isSdkSelected) Color.White else Color.Blue, - backgroundColor = if (isSdkSelected) Color.Blue else Color.White, + containerColor = if (isSdkSelected) Color.Blue else Color.White, ), onClick = { onSdkTypeClick(type) From 30a7ffacc96075b16827fb95d3bf1a7165da55d9 Mon Sep 17 00:00:00 2001 From: PetarVelikov Date: Thu, 26 Dec 2024 10:11:06 +0100 Subject: [PATCH 4/8] [AND-201] Migrate stream-chat-android-ui-guides material to material3. --- stream-chat-android-ui-guides/build.gradle | 2 +- .../android/guides/catalog/CatalogActivity.kt | 15 ++++++++------- .../compose/customattachments/MessagesActivity.kt | 6 +++--- .../factory/DateAttachmentFactory.kt | 4 ++-- .../factory/QuotedDateAttachmentFactory.kt | 4 ++-- .../ui/CustomPlayButton.kt | 2 +- .../chat/android/guides/login/LoginActivity.kt | 6 +++--- 7 files changed, 20 insertions(+), 19 deletions(-) diff --git a/stream-chat-android-ui-guides/build.gradle b/stream-chat-android-ui-guides/build.gradle index 3bfa88f9b46..0b0f049583d 100644 --- a/stream-chat-android-ui-guides/build.gradle +++ b/stream-chat-android-ui-guides/build.gradle @@ -61,7 +61,7 @@ dependencies { implementation Dependencies.composeUi implementation Dependencies.composeUiTooling implementation Dependencies.composeFoundation - implementation Dependencies.composeMaterial + implementation Dependencies.composeMaterial3 implementation Dependencies.composeActivity implementation Dependencies.composeViewModel diff --git a/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/CatalogActivity.kt b/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/CatalogActivity.kt index 3d3a94cfd9a..bd4bff9b947 100644 --- a/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/CatalogActivity.kt +++ b/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/CatalogActivity.kt @@ -30,11 +30,12 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll -import androidx.compose.material.Card -import androidx.compose.material.Icon -import androidx.compose.material.IconButton -import androidx.compose.material.Text -import androidx.compose.material.ripple +import androidx.compose.material3.Card +import androidx.compose.material3.CardDefaults +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.Text +import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Alignment @@ -186,8 +187,8 @@ class CatalogActivity : AppCompatActivity() { indication = ripple(), interactionSource = remember { MutableInteractionSource() }, ), - elevation = 4.dp, - backgroundColor = ChatTheme.colors.inputBackground, + elevation = CardDefaults.cardElevation(defaultElevation = 4.dp), + colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.inputBackground), ) { Column( modifier = Modifier.padding(16.dp), diff --git a/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/compose/customattachments/MessagesActivity.kt b/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/compose/customattachments/MessagesActivity.kt index b5676ae8a9d..5e1849e0e9a 100644 --- a/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/compose/customattachments/MessagesActivity.kt +++ b/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/compose/customattachments/MessagesActivity.kt @@ -30,9 +30,9 @@ import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.wrapContentHeight -import androidx.compose.material.Icon -import androidx.compose.material.IconButton -import androidx.compose.material.Scaffold +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.Scaffold import androidx.compose.runtime.Composable import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue diff --git a/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/compose/customattachments/factory/DateAttachmentFactory.kt b/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/compose/customattachments/factory/DateAttachmentFactory.kt index ce9135191c2..138789a7e46 100644 --- a/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/compose/customattachments/factory/DateAttachmentFactory.kt +++ b/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/compose/customattachments/factory/DateAttachmentFactory.kt @@ -26,8 +26,8 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.Icon -import androidx.compose.material.Text +import androidx.compose.material3.Icon +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier diff --git a/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/compose/customattachments/factory/QuotedDateAttachmentFactory.kt b/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/compose/customattachments/factory/QuotedDateAttachmentFactory.kt index 212404170e1..a06d74fc1a4 100644 --- a/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/compose/customattachments/factory/QuotedDateAttachmentFactory.kt +++ b/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/compose/customattachments/factory/QuotedDateAttachmentFactory.kt @@ -20,8 +20,8 @@ import androidx.compose.foundation.background import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size -import androidx.compose.material.Icon -import androidx.compose.material.Text +import androidx.compose.material3.Icon +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier diff --git a/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/compose/customizingimageandvideoattachments/ui/CustomPlayButton.kt b/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/compose/customizingimageandvideoattachments/ui/CustomPlayButton.kt index 978eaaf94f9..cbc34593b87 100644 --- a/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/compose/customizingimageandvideoattachments/ui/CustomPlayButton.kt +++ b/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/catalog/compose/customizingimageandvideoattachments/ui/CustomPlayButton.kt @@ -19,7 +19,7 @@ package io.getstream.chat.android.guides.catalog.compose.customizingimageandvide import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding -import androidx.compose.material.Icon +import androidx.compose.material3.Icon import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier diff --git a/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/login/LoginActivity.kt b/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/login/LoginActivity.kt index ee9374e50c8..bbfa2b3dd3d 100644 --- a/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/login/LoginActivity.kt +++ b/stream-chat-android-ui-guides/src/main/java/io/getstream/chat/android/guides/login/LoginActivity.kt @@ -36,9 +36,9 @@ import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentSize import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items -import androidx.compose.material.Icon -import androidx.compose.material.Text -import androidx.compose.material.ripple +import androidx.compose.material3.Icon +import androidx.compose.material3.Text +import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Alignment From 5b031a33cd19751ede691eaf43c3cabc893a8348 Mon Sep 17 00:00:00 2001 From: PetarVelikov Date: Thu, 26 Dec 2024 10:18:37 +0100 Subject: [PATCH 5/8] [AND-201] Migrate stream-chat-android-docs material to material3. --- stream-chat-android-docs/build.gradle | 2 +- .../docs/kotlin/compose/channels/ChannelItem.kt | 2 +- .../docs/kotlin/compose/channels/ChannelList.kt | 2 +- .../kotlin/compose/channels/ChannelListHeader.kt | 2 +- .../compose/guides/AddingCustomAttachments.kt | 8 ++++---- .../guides/CustomizingImageAndVideoPreviews.kt | 6 +++--- .../kotlin/compose/messages/AttachmentsPicker.kt | 4 ++-- .../kotlin/compose/messages/MessageComposer.kt | 8 ++++---- .../docs/kotlin/compose/messages/MessageList.kt | 2 +- .../kotlin/compose/messages/MessageListHeader.kt | 4 ++-- .../kotlin/compose/messages/ReactionsPicker.kt | 2 +- .../compose/messages/SelectedMessageMenu.kt | 2 +- .../compose/messages/SelectedReactionsMenu.kt | 2 +- .../docs/kotlin/compose/utility/SearchInput.kt | 2 +- .../cookbook/ui/CustomChannelListScreen.kt | 6 +++--- .../ui/CustomComposerAndAttachmentsPicker.kt | 15 ++++++++------- .../cookbook/ui/CustomMessageListHeader.kt | 6 +++--- .../cookbook/ui/CustomMessageListScreen.kt | 2 +- .../chat/docs/kotlin/cookbook/ui/theme/Color.kt | 1 - .../chat/docs/kotlin/cookbook/ui/theme/Theme.kt | 16 +++++++--------- .../chat/docs/kotlin/cookbook/ui/theme/Type.kt | 4 ++-- 21 files changed, 48 insertions(+), 50 deletions(-) diff --git a/stream-chat-android-docs/build.gradle b/stream-chat-android-docs/build.gradle index 832c3ede91e..a7cfe436e71 100644 --- a/stream-chat-android-docs/build.gradle +++ b/stream-chat-android-docs/build.gradle @@ -85,7 +85,7 @@ dependencies { implementation Dependencies.composeUi implementation Dependencies.composeUiTooling implementation Dependencies.composeFoundation - implementation Dependencies.composeMaterial + implementation Dependencies.composeMaterial3 implementation Dependencies.composeMaterialIcons implementation Dependencies.composeActivity implementation Dependencies.composeViewModel diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/channels/ChannelItem.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/channels/ChannelItem.kt index 009679f86ff..e85c5d412fc 100644 --- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/channels/ChannelItem.kt +++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/channels/ChannelItem.kt @@ -8,7 +8,7 @@ import androidx.activity.viewModels import androidx.appcompat.app.AppCompatActivity import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.width -import androidx.compose.material.Text +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/channels/ChannelList.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/channels/ChannelList.kt index cc74700bd2f..6c0b758c03a 100644 --- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/channels/ChannelList.kt +++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/channels/ChannelList.kt @@ -15,7 +15,7 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width import androidx.compose.foundation.lazy.rememberLazyListState -import androidx.compose.material.Text +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/channels/ChannelListHeader.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/channels/ChannelListHeader.kt index 69807657614..ca4dac7495c 100644 --- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/channels/ChannelListHeader.kt +++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/channels/ChannelListHeader.kt @@ -7,7 +7,7 @@ import androidx.activity.compose.setContent import androidx.appcompat.app.AppCompatActivity import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.material.Icon +import androidx.compose.material3.Icon import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Add import androidx.compose.runtime.collectAsState diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/guides/AddingCustomAttachments.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/guides/AddingCustomAttachments.kt index 5bda4faf7f9..60dcd3b0f7e 100644 --- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/guides/AddingCustomAttachments.kt +++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/guides/AddingCustomAttachments.kt @@ -18,10 +18,10 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.Icon -import androidx.compose.material.IconButton -import androidx.compose.material.Scaffold -import androidx.compose.material.Text +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.Scaffold +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/guides/CustomizingImageAndVideoPreviews.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/guides/CustomizingImageAndVideoPreviews.kt index 318b74e353f..777fe16d53b 100644 --- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/guides/CustomizingImageAndVideoPreviews.kt +++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/guides/CustomizingImageAndVideoPreviews.kt @@ -12,7 +12,7 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.widthIn import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.Icon +import androidx.compose.material3.Icon import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier @@ -56,7 +56,7 @@ private object CustomizingImageAndVideoPreviewsSnippet { .widthIn(10.dp) .padding(2.dp) .background( - color = Color(red = 256, blue = 256, green = 256, alpha = 220), + color = Color(red = 255, blue = 255, green = 255, alpha = 220), shape = RoundedCornerShape(8.dp) ) .fillMaxWidth(0.3f) @@ -72,7 +72,7 @@ private object CustomizingImageAndVideoPreviewsSnippet { modifier = Modifier .padding(2.dp) .background( - color = Color(red = 256, blue = 256, green = 256, alpha = 220), + color = Color(red = 255, blue = 255, green = 255, alpha = 220), shape = RoundedCornerShape(8.dp) ) .fillMaxWidth(0.35f) diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/AttachmentsPicker.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/AttachmentsPicker.kt index 67558eb18ae..fd6bd7257b3 100644 --- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/AttachmentsPicker.kt +++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/AttachmentsPicker.kt @@ -9,8 +9,8 @@ import androidx.appcompat.app.AppCompatActivity import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.height -import androidx.compose.material.Icon -import androidx.compose.material.Text +import androidx.compose.material3.Icon +import androidx.compose.material3.Text import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.List import androidx.compose.runtime.Composable diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/MessageComposer.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/MessageComposer.kt index 8085cd5a414..eec17a93883 100644 --- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/MessageComposer.kt +++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/MessageComposer.kt @@ -17,12 +17,12 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentWidth -import androidx.compose.material.Icon -import androidx.compose.material.Scaffold -import androidx.compose.material.Text +import androidx.compose.material3.Icon +import androidx.compose.material3.Scaffold +import androidx.compose.material3.Text import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Email -import androidx.compose.material.ripple +import androidx.compose.material3.ripple import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Alignment diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/MessageList.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/MessageList.kt index 7ea1633bc02..fd33ab8b0bc 100644 --- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/MessageList.kt +++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/MessageList.kt @@ -14,7 +14,7 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.widthIn import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.Text +import androidx.compose.material3.Text import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.unit.dp diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/MessageListHeader.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/MessageListHeader.kt index 4694c1231fe..1fb7732c846 100644 --- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/MessageListHeader.kt +++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/MessageListHeader.kt @@ -11,8 +11,8 @@ import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.wrapContentHeight -import androidx.compose.material.Icon -import androidx.compose.material.IconButton +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton import androidx.compose.runtime.Composable import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/ReactionsPicker.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/ReactionsPicker.kt index 362df40db21..ece94da7be9 100644 --- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/ReactionsPicker.kt +++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/ReactionsPicker.kt @@ -13,7 +13,7 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.layout.wrapContentSize import androidx.compose.foundation.lazy.grid.GridCells -import androidx.compose.material.Text +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/SelectedMessageMenu.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/SelectedMessageMenu.kt index 019cbdde2f0..512315f49e5 100644 --- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/SelectedMessageMenu.kt +++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/SelectedMessageMenu.kt @@ -11,7 +11,7 @@ import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentSize -import androidx.compose.material.Text +import androidx.compose.material3.Text import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue import androidx.compose.ui.Alignment diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/SelectedReactionsMenu.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/SelectedReactionsMenu.kt index 32b20c9fec1..c3f6aa6645f 100644 --- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/SelectedReactionsMenu.kt +++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/messages/SelectedReactionsMenu.kt @@ -11,7 +11,7 @@ import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentSize -import androidx.compose.material.Text +import androidx.compose.material3.Text import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue import androidx.compose.ui.Alignment diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/utility/SearchInput.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/utility/SearchInput.kt index 52b8b4f8554..8bd117297c9 100644 --- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/utility/SearchInput.kt +++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/compose/utility/SearchInput.kt @@ -7,7 +7,7 @@ import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.width -import androidx.compose.material.Text +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/CustomChannelListScreen.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/CustomChannelListScreen.kt index 5bfd9f0e6e6..bd3c21636be 100644 --- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/CustomChannelListScreen.kt +++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/CustomChannelListScreen.kt @@ -16,8 +16,8 @@ import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.itemsIndexed import androidx.compose.foundation.lazy.rememberLazyListState import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.Divider -import androidx.compose.material.Text +import androidx.compose.material3.HorizontalDivider +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.ui.Alignment @@ -74,7 +74,7 @@ private fun CustomChannelList(channels: List, onChannelClick: (String) CustomChannelListItem(channel = item, onChannelClick = onChannelClick) if (index < channels.lastIndex) { Spacer(modifier = Modifier.height(7.dp)) - Divider(color = Color(0xFFEEEEEE), thickness = 1.dp) + HorizontalDivider(color = Color(0xFFEEEEEE), thickness = 1.dp) } } } diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/CustomComposerAndAttachmentsPicker.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/CustomComposerAndAttachmentsPicker.kt index a3fdab3647c..d9e657d0bdb 100644 --- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/CustomComposerAndAttachmentsPicker.kt +++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/CustomComposerAndAttachmentsPicker.kt @@ -17,14 +17,15 @@ import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.foundation.shape.CircleShape -import androidx.compose.material.Card -import androidx.compose.material.Icon -import androidx.compose.material.IconButton -import androidx.compose.material.Scaffold -import androidx.compose.material.Text +import androidx.compose.material3.Card +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.Scaffold +import androidx.compose.material3.Text import androidx.compose.material.icons.Icons import androidx.compose.material.icons.outlined.AddCircle import androidx.compose.material.icons.outlined.Send +import androidx.compose.material3.CardDefaults import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf @@ -227,9 +228,9 @@ private fun CustomAttachmentsPicker( onClick = {}, interactionSource = remember { MutableInteractionSource() }, ), - elevation = 4.dp, + elevation = CardDefaults.cardElevation(defaultElevation = 4.dp), shape = ChatTheme.shapes.bottomSheet, - backgroundColor = ChatTheme.colors.inputBackground, + colors = CardDefaults.cardColors(containerColor = ChatTheme.colors.inputBackground), ) { Box(modifier = Modifier.padding(vertical = 24.dp)) { if (shouldShowMenu) { diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/CustomMessageListHeader.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/CustomMessageListHeader.kt index 446af02a909..75089f88c37 100644 --- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/CustomMessageListHeader.kt +++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/CustomMessageListHeader.kt @@ -9,9 +9,9 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.offset import androidx.compose.foundation.layout.size -import androidx.compose.material.Icon -import androidx.compose.material.IconButton -import androidx.compose.material.Text +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.ui.Modifier diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/CustomMessageListScreen.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/CustomMessageListScreen.kt index 1f3ec06f2f7..bc5b811e259 100644 --- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/CustomMessageListScreen.kt +++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/CustomMessageListScreen.kt @@ -15,7 +15,7 @@ import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.itemsIndexed import androidx.compose.foundation.lazy.rememberLazyListState import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.Text +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/theme/Color.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/theme/Color.kt index 45e0ddac612..8c05ee6a906 100644 --- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/theme/Color.kt +++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/theme/Color.kt @@ -4,5 +4,4 @@ import androidx.compose.ui.graphics.Color val Purple200 = Color(0xFFBB86FC) val Purple500 = Color(0xFF6200EE) -val Purple700 = Color(0xFF3700B3) val Teal200 = Color(0xFF03DAC5) diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/theme/Theme.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/theme/Theme.kt index 620e3826f23..067b4607db5 100644 --- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/theme/Theme.kt +++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/theme/Theme.kt @@ -1,20 +1,18 @@ package io.getstream.chat.docs.kotlin.cookbook.ui.theme import androidx.compose.foundation.isSystemInDarkTheme -import androidx.compose.material.MaterialTheme -import androidx.compose.material.darkColors -import androidx.compose.material.lightColors +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.darkColorScheme +import androidx.compose.material3.lightColorScheme import androidx.compose.runtime.Composable -private val DarkColorPalette = darkColors( +private val DarkColorPalette = darkColorScheme( primary = Purple200, - primaryVariant = Purple700, secondary = Teal200 ) -private val LightColorPalette = lightColors( +private val LightColorPalette = lightColorScheme( primary = Purple500, - primaryVariant = Purple700, secondary = Teal200, /* Other default colors to override @@ -32,14 +30,14 @@ fun CookbookTheme( darkTheme: Boolean = isSystemInDarkTheme(), content: @Composable () -> Unit, ) { - val colors = if (darkTheme) { + val colorScheme = if (darkTheme) { DarkColorPalette } else { LightColorPalette } MaterialTheme( - colors = colors, + colorScheme = colorScheme, typography = Typography, content = content ) diff --git a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/theme/Type.kt b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/theme/Type.kt index db252499473..ac7cb633bb9 100644 --- a/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/theme/Type.kt +++ b/stream-chat-android-docs/src/main/kotlin/io/getstream/chat/docs/kotlin/cookbook/ui/theme/Type.kt @@ -1,6 +1,6 @@ package io.getstream.chat.docs.kotlin.cookbook.ui.theme -import androidx.compose.material.Typography +import androidx.compose.material3.Typography import androidx.compose.ui.text.TextStyle import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.text.font.FontWeight @@ -8,7 +8,7 @@ import androidx.compose.ui.unit.sp // Set of Material typography styles to start with val Typography = Typography( - body1 = TextStyle( + bodyLarge = TextStyle( fontFamily = FontFamily.Default, fontWeight = FontWeight.Normal, fontSize = 16.sp From 54a79b1b9f8f9df58b0e803e03a1d5ebfb9c6c56 Mon Sep 17 00:00:00 2001 From: PetarVelikov Date: Thu, 26 Dec 2024 10:19:22 +0100 Subject: [PATCH 6/8] [AND-201] Remove material dependency. --- .../src/main/kotlin/io/getstream/chat/android/Dependencies.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/buildSrc/src/main/kotlin/io/getstream/chat/android/Dependencies.kt b/buildSrc/src/main/kotlin/io/getstream/chat/android/Dependencies.kt index 011b32d6f93..da03c7176f4 100644 --- a/buildSrc/src/main/kotlin/io/getstream/chat/android/Dependencies.kt +++ b/buildSrc/src/main/kotlin/io/getstream/chat/android/Dependencies.kt @@ -133,7 +133,6 @@ object Dependencies { const val composeUiTestManifest = "androidx.compose.ui:ui-test-manifest:${Versions.ANDROIDX_COMPOSE}" const val composeUiTooling = "androidx.compose.ui:ui-tooling:${Versions.ANDROIDX_COMPOSE}" const val composeFoundation = "androidx.compose.foundation:foundation:${Versions.ANDROIDX_COMPOSE}" - const val composeMaterial = "androidx.compose.material:material:${Versions.ANDROIDX_COMPOSE}" const val composeMaterial3 = "androidx.compose.material3:material3:${Versions.ANDROIDX_COMPOSE_MATERIAL3}" const val composeMaterialIcons = "androidx.compose.material:material-icons-core:${Versions.ANDROIDX_COMPOSE}" const val composeAccompanistPermissions = From 548dc02301f295f32a107f0447cbe3ec68e26608 Mon Sep 17 00:00:00 2001 From: PetarVelikov Date: Thu, 26 Dec 2024 10:41:41 +0100 Subject: [PATCH 7/8] [AND-201] Update CHANGELOG.md. --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b48c4993d10..fe46f16e4fb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -80,6 +80,7 @@ - Add "Unblock user" message menu option shown for messages from blocked users. [#5533](https://github.com/GetStream/stream-chat-android/pull/5533) ### ⚠️ Changed +- Replace usage of `material` with `material3` components. [#5537](https://github.com/GetStream/stream-chat-android/pull/5537) ### ❌ Removed From 438bbeb335878c96afe66abf0ce16fd2309c7a86 Mon Sep 17 00:00:00 2001 From: PetarVelikov Date: Thu, 2 Jan 2025 09:39:31 +0100 Subject: [PATCH 8/8] [AND-201] Remove material dependency. --- gradle/libs.versions.toml | 1 - stream-chat-android-compose-sample/build.gradle.kts | 2 +- stream-chat-android-compose/build.gradle.kts | 1 - stream-chat-android-docs/build.gradle.kts | 2 +- stream-chat-android-ui-components-sample/build.gradle.kts | 2 +- stream-chat-android-ui-guides/build.gradle.kts | 2 +- stream-chat-android-ui-uitests/build.gradle.kts | 2 +- 7 files changed, 5 insertions(+), 7 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index faf738e7ddd..d1011d3ed33 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -98,7 +98,6 @@ androidx-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "a androidx-benchmark-macro-junit4 = { module = "androidx.benchmark:benchmark-macro-junit4", version.ref = "macroBenchmark"} androidx-compose-constraintlayout-compose = { module = "androidx.constraintlayout:constraintlayout-compose", version.ref = "androidxComposeConstraintLayout"} androidx-compose-foundation = { module = "androidx.compose.foundation:foundation", version.ref = "androidxCompose"} -androidx-compose-material = { module = "androidx.compose.material:material", version.ref = "androidxCompose"} androidx-compose-material3 = { module = "androidx.compose.material3:material3", version.ref = "androidxComposeMaterial3"} androidx-compose-material-icons-core = { module = "androidx.compose.material:material-icons-core", version.ref = "androidxCompose"} androidx-compose-runtime = { module = "androidx.compose.runtime:runtime", version.ref = "androidxCompose"} diff --git a/stream-chat-android-compose-sample/build.gradle.kts b/stream-chat-android-compose-sample/build.gradle.kts index eafbedbd78b..bbe5a7b2c8f 100644 --- a/stream-chat-android-compose-sample/build.gradle.kts +++ b/stream-chat-android-compose-sample/build.gradle.kts @@ -144,7 +144,7 @@ dependencies { implementation(libs.androidx.compose.ui) implementation(libs.androidx.compose.ui.tooling) implementation(libs.androidx.compose.foundation) - implementation(libs.androidx.compose.material) + implementation(libs.androidx.compose.material3) implementation(libs.androidx.compose.material.icons.core) implementation(libs.androidx.activity.compose) diff --git a/stream-chat-android-compose/build.gradle.kts b/stream-chat-android-compose/build.gradle.kts index a2d380d0779..d4189c8292a 100644 --- a/stream-chat-android-compose/build.gradle.kts +++ b/stream-chat-android-compose/build.gradle.kts @@ -84,7 +84,6 @@ dependencies { implementation(libs.androidx.lifecycle.runtime.compose) implementation(libs.androidx.compose.foundation) implementation(libs.androidx.compose.constraintlayout.compose) - implementation(libs.androidx.compose.material) implementation(libs.androidx.compose.material3) implementation(libs.androidx.activity.compose) diff --git a/stream-chat-android-docs/build.gradle.kts b/stream-chat-android-docs/build.gradle.kts index 302f814fbf7..efa5d195083 100644 --- a/stream-chat-android-docs/build.gradle.kts +++ b/stream-chat-android-docs/build.gradle.kts @@ -90,7 +90,7 @@ dependencies { implementation(libs.androidx.compose.ui.tooling) implementation(libs.androidx.compose.foundation) - implementation(libs.androidx.compose.material) + implementation(libs.androidx.compose.material3) implementation(libs.androidx.compose.material.icons.core) implementation(libs.androidx.activity.compose) implementation(libs.androidx.lifecycle.viewmodel.compose) diff --git a/stream-chat-android-ui-components-sample/build.gradle.kts b/stream-chat-android-ui-components-sample/build.gradle.kts index aec1d358605..4827e7d1b7a 100644 --- a/stream-chat-android-ui-components-sample/build.gradle.kts +++ b/stream-chat-android-ui-components-sample/build.gradle.kts @@ -159,7 +159,7 @@ dependencies { implementation(libs.androidx.preference) implementation(libs.androidx.constraintlayout) implementation(libs.androidx.fragment.ktx) - implementation(libs.androidx.compose.material) + implementation(libs.androidx.compose.material3) implementation(libs.stream.push.firebase) implementation(libs.stream.push.huawei) implementation(libs.stream.push.xiaomi) diff --git a/stream-chat-android-ui-guides/build.gradle.kts b/stream-chat-android-ui-guides/build.gradle.kts index 3821e30dc90..fa6c9ebb531 100644 --- a/stream-chat-android-ui-guides/build.gradle.kts +++ b/stream-chat-android-ui-guides/build.gradle.kts @@ -63,7 +63,7 @@ dependencies { implementation(libs.androidx.compose.ui) implementation(libs.androidx.compose.ui.tooling) implementation(libs.androidx.compose.foundation) - implementation(libs.androidx.compose.material) + implementation(libs.androidx.compose.material3) implementation(libs.androidx.activity.compose) implementation(libs.androidx.lifecycle.viewmodel.compose) diff --git a/stream-chat-android-ui-uitests/build.gradle.kts b/stream-chat-android-ui-uitests/build.gradle.kts index 59ba87e89ea..54a88d23fee 100644 --- a/stream-chat-android-ui-uitests/build.gradle.kts +++ b/stream-chat-android-ui-uitests/build.gradle.kts @@ -72,7 +72,7 @@ dependencies { implementation(libs.androidx.compose.ui) implementation(libs.androidx.compose.ui.tooling) implementation(libs.androidx.compose.foundation) - implementation(libs.androidx.compose.material) + implementation(libs.androidx.compose.material3) implementation(libs.androidx.activity.compose) implementation(libs.androidx.lifecycle.viewmodel.compose) implementation(libs.google.accompanist.permissions)