Skip to content

Commit fc44ad7

Browse files
committed
Migrate sample codes to v6
1 parent 7d90e97 commit fc44ad7

File tree

8 files changed

+51
-36
lines changed

8 files changed

+51
-36
lines changed

app/build.gradle

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,13 @@ plugins {
44
}
55

66
android {
7-
compileSdk 33
7+
compileSdk 34
8+
namespace "com.example.chattutorial"
89

910
defaultConfig {
1011
applicationId "com.example.chattutorial"
1112
minSdk 21
12-
targetSdk 33
13+
targetSdk 34
1314
versionCode 1
1415
versionName "1.0"
1516

@@ -26,11 +27,11 @@ android {
2627
}
2728
}
2829
compileOptions {
29-
sourceCompatibility JavaVersion.VERSION_1_8
30-
targetCompatibility JavaVersion.VERSION_1_8
30+
sourceCompatibility JavaVersion.VERSION_11
31+
targetCompatibility JavaVersion.VERSION_11
3132
}
3233
kotlinOptions {
33-
jvmTarget = '1.8'
34+
jvmTarget = '11'
3435
}
3536
buildFeatures {
3637
compose true
@@ -46,11 +47,15 @@ android {
4647
}
4748

4849
dependencies {
49-
implementation "io.getstream:stream-chat-android-compose:5.12.0"
50+
implementation "io.getstream:stream-chat-android-compose:6.0.2"
51+
implementation "io.getstream:stream-chat-android-offline:6.0.2"
5052

51-
implementation "androidx.compose.material:material-icons-extended:$compose_version"
52-
implementation "androidx.compose.ui:ui:$compose_version"
53-
implementation "androidx.compose.material:material:$compose_version"
54-
implementation "androidx.compose.ui:ui-tooling-preview:$compose_version"
55-
implementation "androidx.activity:activity-compose:1.5.1"
53+
implementation(platform("androidx.compose:compose-bom:2023.08.00"))
54+
implementation("androidx.activity:activity-compose:1.7.2")
55+
implementation("androidx.compose.ui:ui")
56+
implementation("androidx.compose.ui:ui-tooling")
57+
implementation("androidx.compose.runtime:runtime")
58+
implementation("androidx.compose.foundation:foundation")
59+
implementation("androidx.compose.material:material")
60+
implementation("androidx.compose.material:material-icons-extended")
5661
}

app/src/main/java/com/example/chattutorial/MainActivity.kt

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ import androidx.activity.compose.setContent
66
import androidx.compose.ui.res.stringResource
77
import io.getstream.chat.android.client.ChatClient
88
import io.getstream.chat.android.client.logger.ChatLogLevel
9-
import io.getstream.chat.android.client.models.User
109
import io.getstream.chat.android.compose.ui.channels.ChannelsScreen
1110
import io.getstream.chat.android.compose.ui.theme.ChatTheme
12-
import io.getstream.chat.android.offline.model.message.attachments.UploadAttachmentsNetworkType
13-
import io.getstream.chat.android.offline.plugin.configuration.Config
11+
import io.getstream.chat.android.models.User
1412
import io.getstream.chat.android.offline.plugin.factory.StreamOfflinePluginFactory
13+
import io.getstream.chat.android.state.plugin.config.StatePluginConfig
14+
import io.getstream.chat.android.state.plugin.factory.StreamStatePluginFactory
1515

1616
class MainActivity : ComponentActivity() {
1717

@@ -20,18 +20,19 @@ class MainActivity : ComponentActivity() {
2020

2121
// 1 - Set up the OfflinePlugin for offline storage
2222
val offlinePluginFactory = StreamOfflinePluginFactory(
23-
config = Config(
23+
appContext = applicationContext,
24+
)
25+
val statePluginFactory = StreamStatePluginFactory(
26+
config = StatePluginConfig(
2427
backgroundSyncEnabled = true,
2528
userPresence = true,
26-
persistenceEnabled = true,
27-
uploadAttachmentsNetworkType = UploadAttachmentsNetworkType.NOT_ROAMING,
2829
),
29-
appContext = applicationContext,
30+
appContext = this,
3031
)
3132

3233
// 2 - Set up the client for API calls and with the plugin for offline storage
3334
val client = ChatClient.Builder("uun7ywwamhs9", applicationContext)
34-
.withPlugin(offlinePluginFactory)
35+
.withPlugins(offlinePluginFactory, statePluginFactory)
3536
.logLevel(ChatLogLevel.ALL) // Set to NOTHING in prod
3637
.build()
3738

app/src/main/java/com/example/chattutorial/MessagesActivity.kt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import androidx.activity.ComponentActivity
77
import androidx.activity.compose.setContent
88
import io.getstream.chat.android.compose.ui.messages.MessagesScreen
99
import io.getstream.chat.android.compose.ui.theme.ChatTheme
10+
import io.getstream.chat.android.compose.viewmodel.messages.MessagesViewModelFactory
1011

1112
class MessagesActivity : ComponentActivity() {
1213

@@ -24,8 +25,11 @@ class MessagesActivity : ComponentActivity() {
2425
setContent {
2526
ChatTheme {
2627
MessagesScreen(
27-
channelId = channelId,
28-
messageLimit = 30,
28+
viewModelFactory = MessagesViewModelFactory(
29+
context = this,
30+
channelId = channelId,
31+
messageLimit = 30
32+
),
2933
onBackPressed = { finish() }
3034
)
3135
}

app/src/main/java/com/example/chattutorial/MessagesActivity2.kt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import androidx.compose.ui.unit.dp
1111
import io.getstream.chat.android.compose.ui.messages.MessagesScreen
1212
import io.getstream.chat.android.compose.ui.theme.ChatTheme
1313
import io.getstream.chat.android.compose.ui.theme.StreamShapes
14+
import io.getstream.chat.android.compose.viewmodel.messages.MessagesViewModelFactory
1415

1516
class MessagesActivity2 : ComponentActivity() {
1617

@@ -38,8 +39,11 @@ class MessagesActivity2 : ComponentActivity() {
3839
)
3940
) {
4041
MessagesScreen(
41-
channelId = channelId,
42-
messageLimit = 30,
42+
viewModelFactory = MessagesViewModelFactory(
43+
context = this,
44+
channelId = channelId,
45+
messageLimit = 30
46+
),
4347
onBackPressed = { finish() }
4448
)
4549
}

app/src/main/java/com/example/chattutorial/MessagesActivity3.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,6 @@ import androidx.compose.ui.Alignment
2121
import androidx.compose.ui.Modifier
2222
import androidx.compose.ui.graphics.RectangleShape
2323
import androidx.compose.ui.unit.dp
24-
import io.getstream.chat.android.common.state.MessageMode.MessageThread
25-
import io.getstream.chat.android.compose.state.messages.SelectedMessageOptionsState
26-
import io.getstream.chat.android.compose.state.messages.SelectedMessageReactionsState
2724
import io.getstream.chat.android.compose.ui.components.messageoptions.defaultMessageOptionsState
2825
import io.getstream.chat.android.compose.ui.components.selectedmessage.SelectedMessageMenu
2926
import io.getstream.chat.android.compose.ui.components.selectedmessage.SelectedReactionsMenu
@@ -36,6 +33,9 @@ import io.getstream.chat.android.compose.viewmodel.messages.AttachmentsPickerVie
3633
import io.getstream.chat.android.compose.viewmodel.messages.MessageComposerViewModel
3734
import io.getstream.chat.android.compose.viewmodel.messages.MessageListViewModel
3835
import io.getstream.chat.android.compose.viewmodel.messages.MessagesViewModelFactory
36+
import io.getstream.chat.android.ui.common.state.messages.MessageMode
37+
import io.getstream.chat.android.ui.common.state.messages.list.SelectedMessageOptionsState
38+
import io.getstream.chat.android.ui.common.state.messages.list.SelectedMessageReactionsState
3939

4040
class MessagesActivity3 : ComponentActivity() {
4141

@@ -106,7 +106,7 @@ class MessagesActivity3 : ComponentActivity() {
106106
.fillMaxSize(),
107107
viewModel = listViewModel,
108108
onThreadClick = { message ->
109-
composerViewModel.setMessageMode(MessageThread(message))
109+
composerViewModel.setMessageMode(MessageMode.MessageThread(message))
110110
listViewModel.openMessageThread(message)
111111
}
112112
)

app/src/main/java/com/example/chattutorial/MessagesActivity4.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,6 @@ import androidx.compose.ui.Alignment
2929
import androidx.compose.ui.Modifier
3030
import androidx.compose.ui.graphics.RectangleShape
3131
import androidx.compose.ui.unit.dp
32-
import io.getstream.chat.android.common.state.MessageMode.MessageThread
33-
import io.getstream.chat.android.compose.state.messages.SelectedMessageOptionsState
34-
import io.getstream.chat.android.compose.state.messages.SelectedMessageReactionsState
3532
import io.getstream.chat.android.compose.ui.components.composer.MessageInput
3633
import io.getstream.chat.android.compose.ui.components.messageoptions.defaultMessageOptionsState
3734
import io.getstream.chat.android.compose.ui.components.selectedmessage.SelectedMessageMenu
@@ -45,6 +42,9 @@ import io.getstream.chat.android.compose.viewmodel.messages.AttachmentsPickerVie
4542
import io.getstream.chat.android.compose.viewmodel.messages.MessageComposerViewModel
4643
import io.getstream.chat.android.compose.viewmodel.messages.MessageListViewModel
4744
import io.getstream.chat.android.compose.viewmodel.messages.MessagesViewModelFactory
45+
import io.getstream.chat.android.ui.common.state.messages.MessageMode
46+
import io.getstream.chat.android.ui.common.state.messages.list.SelectedMessageOptionsState
47+
import io.getstream.chat.android.ui.common.state.messages.list.SelectedMessageReactionsState
4848

4949
class MessagesActivity4 : ComponentActivity() {
5050

@@ -110,7 +110,7 @@ class MessagesActivity4 : ComponentActivity() {
110110
.fillMaxSize(),
111111
viewModel = listViewModel,
112112
onThreadClick = { message ->
113-
composerViewModel.setMessageMode(MessageThread(message))
113+
composerViewModel.setMessageMode(MessageMode.MessageThread(message))
114114
listViewModel.openMessageThread(message)
115115
}
116116
)

build.gradle

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
buildscript {
22
ext {
3-
compose_version = '1.3.0'
4-
compose_compiler_version = '1.4.0'
3+
compose_version = '1.5.1'
4+
compose_compiler_version = '1.5.3'
55
}
66
repositories {
77
google()
88
mavenCentral()
99
}
1010
dependencies {
11-
classpath "com.android.tools.build:gradle:7.2.2"
12-
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.0"
11+
classpath "com.android.tools.build:gradle:8.1.1"
12+
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.10"
1313
}
1414
}
1515

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1+
#Fri Sep 15 12:53:53 KST 2023
12
distributionBase=GRADLE_USER_HOME
23
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-all.zip
4+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip
45
zipStoreBase=GRADLE_USER_HOME
56
zipStorePath=wrapper/dists

0 commit comments

Comments
 (0)