Package Restructure

Chat SDK V6 brings some package changes that need to be addressed in order to successfully complete the transition from v5 to v6.

Android Manifest

The following change is required to be made in the AndroidManifest.xml file in case you’ve used the Stream’s classes directly in your manifest:

Was: io.getstream.chat.android.ui.gallery.AttachmentDocumentActivity
Now: io.getstream.chat.android.ui.feature.gallery.AttachmentDocumentActivity

Message Actions

Message actions have been moved from to stream-chat-android-compose to stream-chat-android-ui-common module.

Was: io.getstream.chat.android.common.state.MessageAction
Now: io.getstream.chat.android.ui.common.state.messages.MessageAction

// MessageAction descendants
Was: io.getstream.chat.android.common.state.*
Now: io.getstream.chat.android.ui.common.state.messages.*

Moderation Message Options

Message Options have been moved to slightly different packages as well.

Was: io.getstream.chat.android.common.model.ModeratedMessageOption
Now: io.getstream.chat.android.ui.common.state.messages.list.ModeratedMessageOption

// ModeratedMessageOption descendants
Was: io.getstream.chat.android.common.model.*
Now: io.getstream.chat.android.ui.common.state.messages.list.*

Giphy Actions

Giphy actions have been moved from to stream-chat-android-compose and stream-chat-android-ui-components to stream-chat-android-ui-common module.

Was: 
 - com.getstream.sdk.chat.enums.GiphyAction (stream-chat-android-ui-components)
 - io.getstream.chat.android.compose.state.messages.list.GiphyAction (stream-chat-android-compose)
Now: io.getstream.chat.android.ui.common.state.messages.list.GiphyAction (stream-chat-android-ui-common)

// GiphyAction descendants
Was: io.getstream.chat.android.compose.state.messages.list.* (stream-chat-android-compose)
Now: io.getstream.chat.android.ui.common.state.messages.list.* (stream-chat-android-ui-common)

Channel List Changes

Channel actions have been moved from to stream-chat-android-compose to stream-chat-android-ui-common module. Please update your imports accordingly.

Was: io.getstream.chat.android.compose.state.channels.list.ChannelAction (stream-chat-android-compose)
Now: io.getstream.chat.android.ui.common.state.channels.actions.ChannelAction (stream-chat-android-ui-common)

// ChannelAction descendants
Was: io.getstream.chat.android.compose.state.channels.list.* (stream-chat-android-compose)
Now: io.getstream.chat.android.ui.common.state.channels.actions.* (stream-chat-android-ui-common)

Message List Changes

Due to a package restructure, there have been changes that affect the message list classes. To ensure proper integration and functionality, we kindly request you to update your imports accordingly.

Was: io.getstream.chat.android.common.message.list.MessageListController
Now: io.getstream.chat.android.ui.common.feature.messages.list.MessageListController

Was: io.getstream.chat.android.common.message.list.MessagePositionHandler
Now: io.getstream.chat.android.ui.common.feature.messages.list.MessagePositionHandler

Was: io.getstream.chat.android.common.message.list.DateSeparatorHandler
Now: io.getstream.chat.android.ui.common.feature.messages.list.DateSeparatorHandler

Was: io.getstream.chat.android.common.MessageOptionsUserReactionAlignment
Now: io.getstream.chat.android.ui.common.state.messages.list.MessageOptionsUserReactionAlignment

Was: io.getstream.chat.android.common.state.message.list.MessageFocused
Now: io.getstream.chat.android.ui.common.state.messages.list.MessageFocused

Was: io.getstream.chat.android.common.state.MessageFooterVisibility
Now: io.getstream.chat.android.ui.common.state.messages.list.MessageFooterVisibility

Was: io.getstream.chat.android.common.state.DeletedMessageVisibility
Now: io.getstream.chat.android.ui.common.state.messages.list.DeletedMessageVisibility

In addition, MessageListItemState and its’ descendants have been moved from to stream-chat-android-compose to stream-chat-android-ui-common module.

Was: io.getstream.chat.android.common.model.messsage.list.MessageListItemState (stream-chat-android-compose)
Now: io.getstream.chat.android.ui.common.state.messages.list.MessageListItemState (stream-chat-android-ui-common)

// MessageListItemState descendants
Was: io.getstream.chat.android.common.model.messsage.list.* (stream-chat-android-compose)
Now: io.getstream.chat.android.ui.common.state.messages.list.* (stream-chat-android-ui-common)

// Related classes
Was: io.getstream.chat.android.compose.state.messages.list.MessageItemGroupPosition (stream-chat-android-compose)
Now: io.getstream.chat.android.ui.common.state.messages.list.MessagePosition (stream-chat-android-ui-common)

Message Composer Changes

If you have been using Stream’s Message Composer related functionality, please update your imports accordingly as described below.

Was: io.getstream.chat.android.common.composer.MessageComposerController
Now: io.getstream.chat.android.ui.common.feature.messages.composer.MessageComposerController

Was: io.getstream.chat.android.common.composer.MessageComposerState
Now: io.getstream.chat.android.ui.common.state.messages.composer.MessageComposerState

Was: io.getstream.chat.android.common.state.ValidationError
Now: io.getstream.chat.android.ui.common.state.messages.composer.ValidationError

Was: com.getstream.sdk.chat.model.AttachmentMetaData
Now: io.getstream.chat.android.ui.common.state.messages.composer.AttachmentMetaData

Was: io.getstream.chat.android.common.state.MessageMode
Now: io.getstream.chat.android.ui.common.state.messages.MessageMode

Extracted to a separate library

Please pay attention that the SnackbarNotificationPermissionHandler has been extracted to a separate library, and now it should be imported as io.getstream:stream-android-push-permissions-snackbar:1.0.1.

Was: io.getstream.chat.android.common.notifications.permissions.SnackbarNotificationPermissionHandler
Now: io.getstream.android.push.permissions.snackbar.SnackbarNotificationPermissionHandler (io.getstream:stream-android-push-permissions-snackbar:1.0.1)

Other Changes

Other affected classes are listed below:

Was: io.getstream.chat.android.common.notifications.StreamCoilUserIconBuilder
Now: io.getstream.chat.android.ui.common.notifications.StreamCoilUserIconBuilder

Was: com.getstream.sdk.chat.utils.MediaStringUtil
Now: io.getstream.chat.android.ui.common.utils.MediaStringUtil

Was: com.getstream.sdk.chat.utils.extensions.isDirectMessaging
Now: io.getstream.chat.android.ui.common.utils.extensions.isDirectMessaging

Was: io.getstream.chat.android.client.models.initials (stream-chat-android-client)
Now: io.getstream.chat.android.ui.common.utils.extensions.initials (stream-chat-android-ui-common)

Was: io.getstream.chat.android.ui.utils.GiphyInfo
Now: io.getstream.chat.android.ui.common.utils.GiphyInfo

Was: io.getstream.chat.android.ui.utils.GiphyInfoType
Now: io.getstream.chat.android.ui.common.utils.GiphyInfoType

Was: io.getstream.chat.android.ui.utils.GiphySizingMode
Now: io.getstream.chat.android.ui.common.utils.GiphySizingMode
© Getstream.io, Inc. All Rights Reserved.