Skip to content

Commit 8b8ade5

Browse files
committed
Update SDK to 4.25.0 and migrate to the new release
1 parent 061768a commit 8b8ade5

File tree

4 files changed

+63
-42
lines changed

4 files changed

+63
-42
lines changed

app/build.gradle

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,16 +47,17 @@ android {
4747
}
4848

4949
dependencies {
50-
def stream_version = "4.24.0"
50+
def stream_version = "4.25.0"
5151
implementation "io.getstream:stream-chat-android-compose:$stream_version-beta"
5252

5353
implementation "androidx.compose.material:material-icons-extended:$compose_version"
54-
55-
implementation "com.google.android.material:material:1.4.0"
5654
implementation "androidx.compose.ui:ui:$compose_version"
5755
implementation "androidx.compose.material:material:$compose_version"
5856
implementation "androidx.compose.ui:ui-tooling-preview:$compose_version"
59-
implementation 'androidx.activity:activity-compose:1.4.0'
57+
implementation "androidx.activity:activity-compose:1.4.0"
58+
59+
implementation "com.google.android.material:material:1.4.0"
60+
6061
testImplementation 'junit:junit:4.+'
6162
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
6263
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import androidx.compose.ui.res.stringResource
77
import io.getstream.chat.android.client.ChatClient
88
import io.getstream.chat.android.client.logger.ChatLogLevel
99
import io.getstream.chat.android.client.models.User
10-
import io.getstream.chat.android.compose.ui.channel.ChannelsScreen
10+
import io.getstream.chat.android.compose.ui.channels.ChannelsScreen
1111
import io.getstream.chat.android.compose.ui.theme.ChatTheme
1212
import io.getstream.chat.android.offline.ChatDomain
1313

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

Lines changed: 27 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import androidx.compose.foundation.layout.Box
1111
import androidx.compose.foundation.layout.fillMaxSize
1212
import androidx.compose.foundation.layout.height
1313
import androidx.compose.foundation.layout.padding
14+
import androidx.compose.foundation.layout.wrapContentSize
1415
import androidx.compose.foundation.shape.RoundedCornerShape
1516
import androidx.compose.material.Scaffold
1617
import androidx.compose.runtime.Composable
@@ -21,11 +22,12 @@ import androidx.compose.ui.Modifier
2122
import androidx.compose.ui.graphics.RectangleShape
2223
import androidx.compose.ui.unit.dp
2324
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.ui.components.messageoptions.defaultMessageOptionsState
27+
import io.getstream.chat.android.compose.ui.components.selectedmessage.SelectedMessageMenu
2428
import io.getstream.chat.android.compose.ui.messages.attachments.AttachmentsPicker
2529
import io.getstream.chat.android.compose.ui.messages.composer.MessageComposer
2630
import io.getstream.chat.android.compose.ui.messages.list.MessageList
27-
import io.getstream.chat.android.compose.ui.messages.overlay.SelectedMessageOverlay
28-
import io.getstream.chat.android.compose.ui.messages.overlay.defaultMessageOptionsState
2931
import io.getstream.chat.android.compose.ui.theme.ChatTheme
3032
import io.getstream.chat.android.compose.ui.theme.StreamShapes
3133
import io.getstream.chat.android.compose.viewmodel.messages.AttachmentsPickerViewModel
@@ -80,7 +82,7 @@ class MessagesActivity3 : AppCompatActivity() {
8082
fun MyCustomUi() {
8183
// 1 - Load the data
8284
val isShowingAttachments = attachmentsPickerViewModel.isShowingAttachments
83-
val selectedMessage = listViewModel.currentMessagesState.selectedMessage
85+
val selectedMessageState = listViewModel.currentMessagesState.selectedMessageState
8486
val user by listViewModel.user.collectAsState()
8587

8688
Box(modifier = Modifier.fillMaxSize()) { // 2 - Define the root
@@ -127,21 +129,28 @@ class MessagesActivity3 : AppCompatActivity() {
127129
}
128130

129131
// 6 - Show the overlay if we've selected a message
130-
if (selectedMessage != null) {
131-
SelectedMessageOverlay(
132-
messageOptions = defaultMessageOptionsState(
133-
selectedMessage,
134-
user,
135-
listViewModel.isInThread
136-
),
137-
message = selectedMessage,
138-
onMessageAction = { action ->
139-
composerViewModel.performMessageAction(action)
140-
listViewModel.performMessageAction(action)
141-
},
142-
onDismiss = { listViewModel.removeOverlay() },
143-
currentUser = user
144-
)
132+
if (selectedMessageState != null) {
133+
val selectedMessage = selectedMessageState.message
134+
if (selectedMessageState is SelectedMessageOptionsState) {
135+
SelectedMessageMenu(
136+
modifier = Modifier
137+
.align(Alignment.Center)
138+
.padding(horizontal = 20.dp)
139+
.wrapContentSize(),
140+
shape = ChatTheme.shapes.attachment,
141+
messageOptions = defaultMessageOptionsState(
142+
selectedMessage,
143+
user,
144+
listViewModel.isInThread
145+
),
146+
message = selectedMessage,
147+
onMessageAction = { action ->
148+
composerViewModel.performMessageAction(action)
149+
listViewModel.performMessageAction(action)
150+
},
151+
onDismiss = { listViewModel.removeOverlay() },
152+
)
153+
}
145154
}
146155
}
147156
}

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

Lines changed: 30 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import androidx.compose.foundation.layout.fillMaxWidth
1414
import androidx.compose.foundation.layout.height
1515
import androidx.compose.foundation.layout.padding
1616
import androidx.compose.foundation.layout.wrapContentHeight
17+
import androidx.compose.foundation.layout.wrapContentSize
1718
import androidx.compose.foundation.layout.wrapContentWidth
1819
import androidx.compose.foundation.shape.RoundedCornerShape
1920
import androidx.compose.material.Icon
@@ -29,13 +30,16 @@ import androidx.compose.ui.Modifier
2930
import androidx.compose.ui.graphics.RectangleShape
3031
import androidx.compose.ui.unit.dp
3132
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
3235
import io.getstream.chat.android.compose.state.messages.composer.MessageComposerState
36+
import io.getstream.chat.android.compose.ui.components.composer.MessageInput
37+
import io.getstream.chat.android.compose.ui.components.messageoptions.defaultMessageOptionsState
38+
import io.getstream.chat.android.compose.ui.components.selectedmessage.SelectedMessageMenu
39+
import io.getstream.chat.android.compose.ui.components.selectedmessage.SelectedReactionsMenu
3340
import io.getstream.chat.android.compose.ui.messages.attachments.AttachmentsPicker
3441
import io.getstream.chat.android.compose.ui.messages.composer.MessageComposer
35-
import io.getstream.chat.android.compose.ui.messages.composer.components.MessageInput
3642
import io.getstream.chat.android.compose.ui.messages.list.MessageList
37-
import io.getstream.chat.android.compose.ui.messages.overlay.SelectedMessageOverlay
38-
import io.getstream.chat.android.compose.ui.messages.overlay.defaultMessageOptionsState
3943
import io.getstream.chat.android.compose.ui.theme.ChatTheme
4044
import io.getstream.chat.android.compose.ui.theme.StreamShapes
4145
import io.getstream.chat.android.compose.viewmodel.messages.AttachmentsPickerViewModel
@@ -90,7 +94,7 @@ class MessagesActivity4 : AppCompatActivity() {
9094
fun MyCustomUi() {
9195
// 1 - Load the data
9296
val isShowingAttachments = attachmentsPickerViewModel.isShowingAttachments
93-
val selectedMessage = listViewModel.currentMessagesState.selectedMessage
97+
val selectedMessageState = listViewModel.currentMessagesState.selectedMessageState
9498
val user by listViewModel.user.collectAsState()
9599

96100
Box(modifier = Modifier.fillMaxSize()) { // 2 - Define the root
@@ -132,21 +136,28 @@ class MessagesActivity4 : AppCompatActivity() {
132136
}
133137

134138
// 6 - Show the overlay if we've selected a message
135-
if (selectedMessage != null) {
136-
SelectedMessageOverlay(
137-
messageOptions = defaultMessageOptionsState(
138-
selectedMessage,
139-
user,
140-
listViewModel.isInThread
141-
),
142-
message = selectedMessage,
143-
onMessageAction = { action ->
144-
composerViewModel.performMessageAction(action)
145-
listViewModel.performMessageAction(action)
146-
},
147-
onDismiss = { listViewModel.removeOverlay() },
148-
currentUser = user
149-
)
139+
if (selectedMessageState != null) {
140+
val selectedMessage = selectedMessageState.message
141+
if (selectedMessageState is SelectedMessageOptionsState) {
142+
SelectedMessageMenu(
143+
modifier = Modifier
144+
.align(Alignment.Center)
145+
.padding(horizontal = 20.dp)
146+
.wrapContentSize(),
147+
shape = ChatTheme.shapes.attachment,
148+
messageOptions = defaultMessageOptionsState(
149+
selectedMessage,
150+
user,
151+
listViewModel.isInThread
152+
),
153+
message = selectedMessage,
154+
onMessageAction = { action ->
155+
composerViewModel.performMessageAction(action)
156+
listViewModel.performMessageAction(action)
157+
},
158+
onDismiss = { listViewModel.removeOverlay() },
159+
)
160+
}
150161
}
151162
}
152163
}

0 commit comments

Comments
 (0)