Skip to content

Commit d8b0a18

Browse files
authored
Merge pull request #6 from GetStream/sdk/4.25.0
Update SDK version to 4.25.0
2 parents 8cc9507 + 28b1c7b commit d8b0a18

File tree

5 files changed

+97
-48
lines changed

5 files changed

+97
-48
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: 44 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,14 @@ 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.state.messages.SelectedMessageReactionsState
27+
import io.getstream.chat.android.compose.ui.components.messageoptions.defaultMessageOptionsState
28+
import io.getstream.chat.android.compose.ui.components.selectedmessage.SelectedMessageMenu
29+
import io.getstream.chat.android.compose.ui.components.selectedmessage.SelectedReactionsMenu
2430
import io.getstream.chat.android.compose.ui.messages.attachments.AttachmentsPicker
2531
import io.getstream.chat.android.compose.ui.messages.composer.MessageComposer
2632
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
2933
import io.getstream.chat.android.compose.ui.theme.ChatTheme
3034
import io.getstream.chat.android.compose.ui.theme.StreamShapes
3135
import io.getstream.chat.android.compose.viewmodel.messages.AttachmentsPickerViewModel
@@ -80,7 +84,7 @@ class MessagesActivity3 : AppCompatActivity() {
8084
fun MyCustomUi() {
8185
// 1 - Load the data
8286
val isShowingAttachments = attachmentsPickerViewModel.isShowingAttachments
83-
val selectedMessage = listViewModel.currentMessagesState.selectedMessage
87+
val selectedMessageState = listViewModel.currentMessagesState.selectedMessageState
8488
val user by listViewModel.user.collectAsState()
8589

8690
Box(modifier = Modifier.fillMaxSize()) { // 2 - Define the root
@@ -127,21 +131,43 @@ class MessagesActivity3 : AppCompatActivity() {
127131
}
128132

129133
// 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-
)
134+
if (selectedMessageState != null) {
135+
val selectedMessage = selectedMessageState.message
136+
if (selectedMessageState is SelectedMessageOptionsState) {
137+
SelectedMessageMenu(
138+
modifier = Modifier
139+
.align(Alignment.Center)
140+
.padding(horizontal = 20.dp)
141+
.wrapContentSize(),
142+
shape = ChatTheme.shapes.attachment,
143+
messageOptions = defaultMessageOptionsState(
144+
selectedMessage,
145+
user,
146+
listViewModel.isInThread
147+
),
148+
message = selectedMessage,
149+
onMessageAction = { action ->
150+
composerViewModel.performMessageAction(action)
151+
listViewModel.performMessageAction(action)
152+
},
153+
onDismiss = { listViewModel.removeOverlay() },
154+
)
155+
} else if (selectedMessageState is SelectedMessageReactionsState) {
156+
SelectedReactionsMenu(
157+
modifier = Modifier
158+
.align(Alignment.Center)
159+
.padding(horizontal = 20.dp)
160+
.wrapContentSize(),
161+
shape = ChatTheme.shapes.attachment,
162+
message = selectedMessage,
163+
currentUser = user,
164+
onMessageAction = { action ->
165+
composerViewModel.performMessageAction(action)
166+
listViewModel.performMessageAction(action)
167+
},
168+
onDismiss = { listViewModel.removeOverlay() }
169+
)
170+
}
145171
}
146172
}
147173
}

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

Lines changed: 45 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,43 @@ 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+
} else if (selectedMessageState is SelectedMessageReactionsState) {
161+
SelectedReactionsMenu(
162+
modifier = Modifier
163+
.align(Alignment.Center)
164+
.padding(horizontal = 20.dp)
165+
.wrapContentSize(),
166+
shape = ChatTheme.shapes.attachment,
167+
message = selectedMessage,
168+
currentUser = user,
169+
onMessageAction = { action ->
170+
composerViewModel.performMessageAction(action)
171+
listViewModel.performMessageAction(action)
172+
},
173+
onDismiss = { listViewModel.removeOverlay() }
174+
)
175+
}
150176
}
151177
}
152178
}

build.gradle

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,14 @@
1-
// Top-level build file where you can add configuration options common to all sub-projects/modules.
21
buildscript {
32
ext {
4-
compose_version = '1.0.1'
3+
compose_version = '1.0.5'
54
}
65
repositories {
76
google()
87
mavenCentral()
98
}
109
dependencies {
1110
classpath "com.android.tools.build:gradle:7.0.3"
12-
classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.21'
13-
14-
// NOTE: Do not place your application dependencies here; they belong
15-
// in the individual module build.gradle files
11+
classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.31'
1612
}
1713
}
1814

0 commit comments

Comments
 (0)