Skip to content

Commit a08ccb2

Browse files
authored
Merge pull request #106 from GetStream/stream/6.0.5
Migrate Stream chat sdk to 6.0.5
2 parents 706fee1 + 70010e1 commit a08ccb2

File tree

6 files changed

+22
-15
lines changed

6 files changed

+22
-15
lines changed

core/uistate/src/main/kotlin/io/getstream/whatsappclone/uistate/UiState.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import androidx.compose.runtime.Immutable
2020
import com.skydoves.sealedx.core.Extensive
2121
import com.skydoves.sealedx.core.annotations.ExtensiveModel
2222
import com.skydoves.sealedx.core.annotations.ExtensiveSealed
23-
import io.getstream.chat.android.client.models.Channel
23+
import io.getstream.chat.android.models.Channel
2424
import io.getstream.video.android.core.Call
2525

2626
/**

features/chats/build.gradle.kts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@ dependencies {
3939
implementation(project(":core:network"))
4040
implementation(project(":core:data"))
4141

42-
// Stream Chat Compose
42+
// Stream Chat SDK
43+
api(libs.stream.chat.offline)
4344
api(libs.stream.chat.compose)
4445

4546
implementation(libs.androidx.lifecycle.runtimeCompose)

features/chats/src/main/kotlin/io/getstream/whatsappclone/chats/initializer/StreamChatInitializer.kt

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ import android.content.Context
2020
import androidx.startup.Initializer
2121
import io.getstream.chat.android.client.ChatClient
2222
import io.getstream.chat.android.client.logger.ChatLogLevel
23-
import io.getstream.chat.android.client.models.User
24-
import io.getstream.chat.android.offline.model.message.attachments.UploadAttachmentsNetworkType
25-
import io.getstream.chat.android.offline.plugin.configuration.Config
23+
import io.getstream.chat.android.models.User
2624
import io.getstream.chat.android.offline.plugin.factory.StreamOfflinePluginFactory
25+
import io.getstream.chat.android.state.plugin.config.StatePluginConfig
26+
import io.getstream.chat.android.state.plugin.factory.StreamStatePluginFactory
2727
import io.getstream.log.streamLog
2828
import io.getstream.whatsappclone.chats.BuildConfig
2929

@@ -42,16 +42,17 @@ class StreamChatInitializer : Initializer<Unit> {
4242
*/
4343
val logLevel = if (BuildConfig.DEBUG) ChatLogLevel.ALL else ChatLogLevel.NOTHING
4444
val offlinePluginFactory = StreamOfflinePluginFactory(
45-
config = Config(
45+
appContext = context
46+
)
47+
val statePluginFactory = StreamStatePluginFactory(
48+
config = StatePluginConfig(
4649
backgroundSyncEnabled = true,
47-
userPresence = true,
48-
persistenceEnabled = true,
49-
uploadAttachmentsNetworkType = UploadAttachmentsNetworkType.NOT_ROAMING
50+
userPresence = true
5051
),
5152
appContext = context
5253
)
5354
val chatClient = ChatClient.Builder(BuildConfig.STREAM_API_KEY, context)
54-
.withPlugin(offlinePluginFactory)
55+
.withPlugins(offlinePluginFactory, statePluginFactory)
5556
.logLevel(logLevel)
5657
.build()
5758

features/chats/src/main/kotlin/io/getstream/whatsappclone/chats/messages/WhatsAppMessages.kt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,11 @@ import androidx.compose.foundation.layout.fillMaxSize
2121
import androidx.compose.runtime.Composable
2222
import androidx.compose.runtime.getValue
2323
import androidx.compose.ui.Modifier
24+
import androidx.compose.ui.platform.LocalContext
2425
import androidx.hilt.navigation.compose.hiltViewModel
2526
import androidx.lifecycle.compose.collectAsStateWithLifecycle
2627
import io.getstream.chat.android.compose.ui.messages.MessagesScreen
28+
import io.getstream.chat.android.compose.viewmodel.messages.MessagesViewModelFactory
2729
import io.getstream.whatsappclone.chats.theme.WhatsAppChatTheme
2830

2931
@Composable
@@ -42,7 +44,11 @@ fun WhatsAppMessages(
4244
)
4345

4446
MessagesScreen(
45-
channelId = channelId,
47+
viewModelFactory = MessagesViewModelFactory(
48+
context = LocalContext.current,
49+
channelId = channelId,
50+
messageLimit = 30
51+
),
4652
showHeader = false,
4753
onBackPressed = { whatsAppMessagesViewModel.handleEvents(WhatsAppMessageEvent.NavigateUp) }
4854
)

features/chats/src/main/kotlin/io/getstream/whatsappclone/chats/messages/WhatsAppMessagesViewModel.kt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@ import androidx.lifecycle.ViewModel
2121
import androidx.lifecycle.viewModelScope
2222
import dagger.hilt.android.lifecycle.HiltViewModel
2323
import io.getstream.chat.android.client.ChatClient
24-
import io.getstream.chat.android.client.utils.onError
25-
import io.getstream.chat.android.client.utils.onSuccess
2624
import io.getstream.whatsappclone.navigation.AppComposeNavigator
2725
import io.getstream.whatsappclone.navigation.WhatsAppScreens
2826
import io.getstream.whatsappclone.uistate.WhatsAppMessageUiState
@@ -63,7 +61,7 @@ class WhatsAppMessagesViewModel @Inject constructor(
6361
viewModelScope.launch {
6462
val result = chatClient.channel(channelId).watch().await()
6563
result.onSuccess {
66-
messageMutableUiState.value = WhatsAppMessageUiState.Success(result.data())
64+
messageMutableUiState.value = WhatsAppMessageUiState.Success(result.getOrThrow())
6765
}.onError {
6866
messageMutableUiState.value = WhatsAppMessageUiState.Error
6967
}

gradle/libs.versions.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[versions]
2-
streamChatSDK = "5.17.10"
2+
streamChatSDK = "6.0.5"
33
streamVideoSDK = "0.3.4"
44
streamLog = "1.1.4"
55
sealedx = "1.0.1"
@@ -45,6 +45,7 @@ turbine = "1.0.0"
4545

4646
[libraries]
4747
stream-chat-client = { group = "io.getstream", name = "stream-chat-android-client", version.ref = "streamChatSDK" }
48+
stream-chat-offline = { group = "io.getstream", name = "stream-chat-android-offline", version.ref = "streamChatSDK" }
4849
stream-chat-compose = { group = "io.getstream", name = "stream-chat-android-compose", version.ref = "streamChatSDK" }
4950
stream-video-core = { group = "io.getstream", name = "stream-video-android-core", version.ref = "streamVideoSDK" }
5051
stream-video-compose = { group = "io.getstream", name = "stream-video-android-compose", version.ref = "streamVideoSDK" }

0 commit comments

Comments
 (0)