Skip to content

Commit 6d9fd73

Browse files
authored
Merge branch 'v6' into feature/new_event_parsing
2 parents 06ab234 + cc60a72 commit 6d9fd73

27 files changed

Lines changed: 913 additions & 42 deletions

File tree

.github/workflows/pr-checks.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@ concurrency:
88

99
jobs:
1010
base-android-ci:
11-
uses: GetStream/stream-build-conventions-android/.github/workflows/android-ci.yml@v0.9.0
11+
uses: GetStream/stream-build-conventions-android/.github/workflows/android-ci.yml@v0.10.0
1212
secrets: inherit
1313

1414
detekt:
1515
name: Detekt
1616
runs-on: ubuntu-22.04
1717
steps:
1818
- uses: actions/checkout@v4.2.2
19-
- uses: GetStream/stream-build-conventions-android/.github/actions/setup-gradle@v0.9.0
19+
- uses: GetStream/stream-build-conventions-android/.github/actions/setup-gradle@v0.10.0
2020
- name: Detekt
2121
run: ./gradlew detekt
2222

.github/workflows/pr-cleanup.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,5 @@ permissions:
1212

1313
jobs:
1414
pr-clean-stale:
15-
uses: GetStream/stream-build-conventions-android/.github/workflows/pr-clean-stale.yaml@v0.9.0
15+
uses: GetStream/stream-build-conventions-android/.github/workflows/pr-clean-stale.yaml@v0.10.0
1616
secrets: inherit

.github/workflows/pr-quality.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,5 @@ concurrency:
1515

1616
jobs:
1717
pr-checklist:
18-
uses: GetStream/stream-build-conventions-android/.github/workflows/pr-quality.yml@v0.9.0
18+
uses: GetStream/stream-build-conventions-android/.github/workflows/pr-quality.yml@v0.10.0
1919
secrets: inherit

.github/workflows/publish-new-version.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
permissions:
3131
contents: write
3232
needs: pre_release_check
33-
uses: GetStream/stream-build-conventions-android/.github/workflows/release.yml@v0.9.0
33+
uses: GetStream/stream-build-conventions-android/.github/workflows/release.yml@v0.10.0
3434
with:
3535
bump: ${{ inputs.bump }}
3636
secrets:

.github/workflows/sdk-size-checks.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ concurrency:
99

1010
jobs:
1111
compare-sdk-sizes:
12-
uses: GetStream/stream-build-conventions-android/.github/workflows/sdk-size-checks.yml@v0.9.0
12+
uses: GetStream/stream-build-conventions-android/.github/workflows/sdk-size-checks.yml@v0.10.0
1313
with:
1414
modules: "stream-chat-android-client stream-chat-android-offline stream-chat-android-ui-components stream-chat-android-compose"
1515
metrics-project: "stream-chat-android-metrics"

.github/workflows/sdk-size-updates.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ concurrency:
1313

1414
jobs:
1515
update-sdk-sizes:
16-
uses: GetStream/stream-build-conventions-android/.github/workflows/sdk-size-updates.yml@v0.9.0
16+
uses: GetStream/stream-build-conventions-android/.github/workflows/sdk-size-updates.yml@v0.10.0
1717
with:
1818
modules: "stream-chat-android-client stream-chat-android-offline stream-chat-android-ui-components stream-chat-android-compose"
1919
metrics-project: "stream-chat-android-metrics"

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,4 @@ android.enableR8.fullMode=true
1010
android.suppressUnsupportedCompileSdk=34
1111

1212
# Project version
13-
version=6.37.2
13+
version=6.37.3

gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ room = "2.6.1"
7878
shimmer = "0.5.0"
7979
shimmerCompose = "1.3.1"
8080
shot = "6.1.0"
81-
streamConventions = "0.8.0"
81+
streamConventions = "0.10.0"
8282
streamLog = "1.3.2"
8383
streamPush = "1.3.1"
8484
streamResult = "1.3.2"

stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/viewmodel/messages/MessagesViewModelFactory.kt

Lines changed: 28 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@ import io.getstream.chat.android.core.internal.coroutines.DispatcherProvider
3232
import io.getstream.chat.android.models.Message
3333
import io.getstream.chat.android.state.extensions.watchChannelAsState
3434
import io.getstream.chat.android.ui.common.feature.messages.composer.MessageComposerController
35+
import io.getstream.chat.android.ui.common.feature.messages.composer.internal.ComposerStateSaver
36+
import io.getstream.chat.android.ui.common.feature.messages.composer.internal.NoOpComposerStateSaver
37+
import io.getstream.chat.android.ui.common.feature.messages.composer.internal.SavedStateComposerStateSaver
3538
import io.getstream.chat.android.ui.common.feature.messages.composer.mention.DefaultUserLookupHandler
3639
import io.getstream.chat.android.ui.common.feature.messages.composer.mention.UserLookupHandler
3740
import io.getstream.chat.android.ui.common.feature.messages.list.DateSeparatorHandler
@@ -123,21 +126,7 @@ public class MessagesViewModelFactory(
123126
*/
124127
private val factories: Map<Class<*>, () -> ViewModel> = mapOf(
125128
MessageComposerViewModel::class.java to {
126-
MessageComposerViewModel(
127-
MessageComposerController(
128-
chatClient = chatClient,
129-
channelState = channelStateFlow,
130-
mediaRecorder = mediaRecorder,
131-
userLookupHandler = userLookupHandler,
132-
fileToUri = fileToUriConverter,
133-
channelCid = channelId,
134-
config = MessageComposerController.Config(
135-
maxAttachmentCount = maxAttachmentCount,
136-
isLinkPreviewEnabled = isComposerLinkPreviewEnabled,
137-
isDraftMessageEnabled = isComposerDraftMessageEnabled,
138-
),
139-
),
140-
)
129+
createMessageComposerViewModel(NoOpComposerStateSaver)
141130
},
142131
MessageListViewModel::class.java to {
143132
MessageListViewModel(
@@ -190,6 +179,11 @@ public class MessagesViewModelFactory(
190179
* that do not require a [SavedStateHandle].
191180
*/
192181
override fun <T : ViewModel> create(modelClass: Class<T>, extras: CreationExtras): T {
182+
if (modelClass == MessageComposerViewModel::class.java) {
183+
val savedStateHandle = extras.createSavedStateHandle()
184+
@Suppress("UNCHECKED_CAST")
185+
return createMessageComposerViewModel(SavedStateComposerStateSaver(savedStateHandle)) as T
186+
}
193187
if (modelClass == AttachmentsPickerViewModel::class.java) {
194188
val savedStateHandle = extras.createSavedStateHandle()
195189
@Suppress("UNCHECKED_CAST")
@@ -201,4 +195,23 @@ public class MessagesViewModelFactory(
201195
}
202196
return create(modelClass)
203197
}
198+
199+
private fun createMessageComposerViewModel(stateSaver: ComposerStateSaver): MessageComposerViewModel {
200+
return MessageComposerViewModel(
201+
MessageComposerController(
202+
chatClient = chatClient,
203+
channelState = channelStateFlow,
204+
mediaRecorder = mediaRecorder,
205+
userLookupHandler = userLookupHandler,
206+
fileToUri = fileToUriConverter,
207+
channelCid = channelId,
208+
config = MessageComposerController.Config(
209+
maxAttachmentCount = maxAttachmentCount,
210+
isLinkPreviewEnabled = isComposerLinkPreviewEnabled,
211+
isDraftMessageEnabled = isComposerDraftMessageEnabled,
212+
),
213+
stateSaver = stateSaver,
214+
),
215+
)
216+
}
204217
}

stream-chat-android-compose/src/test/kotlin/io/getstream/chat/android/compose/viewmodel/messages/MessageComposerViewModelTest.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ import io.getstream.chat.android.state.plugin.state.global.GlobalState
4141
import io.getstream.chat.android.test.TestCoroutineExtension
4242
import io.getstream.chat.android.test.asCall
4343
import io.getstream.chat.android.ui.common.feature.messages.composer.MessageComposerController
44+
import io.getstream.chat.android.ui.common.feature.messages.composer.internal.NoOpComposerStateSaver
4445
import io.getstream.chat.android.ui.common.feature.messages.composer.mention.DefaultUserLookupHandler
4546
import io.getstream.chat.android.ui.common.feature.messages.composer.mention.Mention
4647
import io.getstream.chat.android.ui.common.feature.messages.composer.mention.MentionType
@@ -475,6 +476,7 @@ internal class MessageComposerViewModelTest {
475476
),
476477
channelState = MutableStateFlow(channelState),
477478
globalState = MutableStateFlow(globalState),
479+
stateSaver = NoOpComposerStateSaver,
478480
),
479481
)
480482
}

0 commit comments

Comments
 (0)