Skip to content

Commit e067c09

Browse files
VelikovPetarclaude
andcommitted
Merge branch 'v6' into feature/grouped-channels-endpoint
Brings PR #6426 (Predefined Filters) into the branch alongside the existing Grouped Channels work. Both implementations coexist as sibling variants of `QueryChannelsIdentifier` (Standard | Predefined | Grouped); registries, repositories, state, and the Compose ChannelListViewModel/Factory absorb both surfaces additively. Key resolution decisions: - `QueryChannelsSpec.cids` stays as a body `var` (pre-v6 baseline) to preserve binary compatibility with the data-class-generated members. `setCids` mutates the var in place. - `QueryChannelsMutableState` keeps the simpler `(identifier, scope, ...)` constructor; initial filter/sort and the spec shape are derived inside the state from the identifier, so `StateRegistry` is just a registry-cache lookup. - `QueryChannelsLogic.fetchChannelsFromCache` adopts v6's identifier-keyed signature returning `CachedQueryChannels`; the Grouped offline path (`loadOfflineGroupedChannels`) goes through the same signature and unwraps `.channels`. - `@JvmOverloads` dropped on the Compose Factory's Predefined and Grouped constructors because their synthesized `(ChatClient, String)` overloads clash — see task #23 for the proper fix. Verification: builds clean across client/state/offline/compose/ui-components, apiCheck passes, all unit tests on touched modules pass, detekt clean except for three intentional TODO-marker comments left for follow-up. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2 parents 0985bb2 + 748080b commit e067c09

66 files changed

Lines changed: 3742 additions & 491 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

stream-chat-android-client-test/src/main/java/io/getstream/chat/android/client/test/Mother.kt

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -696,7 +696,18 @@ public fun randomQueryChannelsSpec(
696696
filter: FilterObject = NeutralFilterObject,
697697
sort: QuerySorter<Channel> = QuerySortByField(),
698698
cids: Set<String> = emptySet(),
699-
): QueryChannelsSpec = QueryChannelsSpec(filter, sort).also { it.cids = cids }
699+
groupKey: String? = null,
700+
predefinedFilterName: String? = null,
701+
predefinedFilterValues: Map<String, Any>? = null,
702+
predefinedSortValues: Map<String, Any>? = null,
703+
): QueryChannelsSpec = QueryChannelsSpec(
704+
filter = filter,
705+
querySort = sort,
706+
groupKey = groupKey,
707+
predefinedFilterName = predefinedFilterName,
708+
predefinedFilterValues = predefinedFilterValues,
709+
predefinedSortValues = predefinedSortValues,
710+
).also { it.cids = cids }
700711

701712
public fun randomNotificationRemovedFromChannelEvent(
702713
cid: String = randomCID(),

stream-chat-android-client/api/stream-chat-android-client.api

Lines changed: 56 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -489,25 +489,45 @@ public class io/getstream/chat/android/client/api/models/QueryChannelRequest : i
489489
}
490490

491491
public final class io/getstream/chat/android/client/api/models/QueryChannelsRequest : io/getstream/chat/android/client/api/models/ChannelRequest {
492+
public fun <init> (Lio/getstream/chat/android/models/FilterObject;I)V
493+
public fun <init> (Lio/getstream/chat/android/models/FilterObject;II)V
494+
public fun <init> (Lio/getstream/chat/android/models/FilterObject;IILio/getstream/chat/android/models/querysort/QuerySorter;)V
495+
public fun <init> (Lio/getstream/chat/android/models/FilterObject;IILio/getstream/chat/android/models/querysort/QuerySorter;Ljava/lang/Integer;)V
492496
public fun <init> (Lio/getstream/chat/android/models/FilterObject;IILio/getstream/chat/android/models/querysort/QuerySorter;Ljava/lang/Integer;Ljava/lang/Integer;)V
493-
public synthetic fun <init> (Lio/getstream/chat/android/models/FilterObject;IILio/getstream/chat/android/models/querysort/QuerySorter;Ljava/lang/Integer;Ljava/lang/Integer;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
497+
public fun <init> (Lio/getstream/chat/android/models/FilterObject;IILio/getstream/chat/android/models/querysort/QuerySorter;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/String;)V
498+
public fun <init> (Lio/getstream/chat/android/models/FilterObject;IILio/getstream/chat/android/models/querysort/QuerySorter;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/String;Ljava/util/Map;)V
499+
public fun <init> (Lio/getstream/chat/android/models/FilterObject;IILio/getstream/chat/android/models/querysort/QuerySorter;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/String;Ljava/util/Map;Ljava/util/Map;)V
500+
public synthetic fun <init> (Lio/getstream/chat/android/models/FilterObject;IILio/getstream/chat/android/models/querysort/QuerySorter;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/String;Ljava/util/Map;Ljava/util/Map;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
501+
public fun <init> (Ljava/lang/String;I)V
502+
public fun <init> (Ljava/lang/String;ILjava/util/Map;)V
503+
public fun <init> (Ljava/lang/String;ILjava/util/Map;Ljava/util/Map;)V
504+
public fun <init> (Ljava/lang/String;ILjava/util/Map;Ljava/util/Map;I)V
505+
public fun <init> (Ljava/lang/String;ILjava/util/Map;Ljava/util/Map;ILjava/lang/Integer;)V
506+
public fun <init> (Ljava/lang/String;ILjava/util/Map;Ljava/util/Map;ILjava/lang/Integer;Ljava/lang/Integer;)V
507+
public synthetic fun <init> (Ljava/lang/String;ILjava/util/Map;Ljava/util/Map;ILjava/lang/Integer;Ljava/lang/Integer;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
494508
public final fun component1 ()Lio/getstream/chat/android/models/FilterObject;
495509
public final fun component2 ()I
496510
public final fun component3 ()I
497511
public final fun component4 ()Lio/getstream/chat/android/models/querysort/QuerySorter;
498512
public final fun component5 ()Ljava/lang/Integer;
499513
public final fun component6 ()Ljava/lang/Integer;
500-
public final fun copy (Lio/getstream/chat/android/models/FilterObject;IILio/getstream/chat/android/models/querysort/QuerySorter;Ljava/lang/Integer;Ljava/lang/Integer;)Lio/getstream/chat/android/client/api/models/QueryChannelsRequest;
501-
public static synthetic fun copy$default (Lio/getstream/chat/android/client/api/models/QueryChannelsRequest;Lio/getstream/chat/android/models/FilterObject;IILio/getstream/chat/android/models/querysort/QuerySorter;Ljava/lang/Integer;Ljava/lang/Integer;ILjava/lang/Object;)Lio/getstream/chat/android/client/api/models/QueryChannelsRequest;
514+
public final fun component7 ()Ljava/lang/String;
515+
public final fun component8 ()Ljava/util/Map;
516+
public final fun component9 ()Ljava/util/Map;
517+
public final fun copy (Lio/getstream/chat/android/models/FilterObject;IILio/getstream/chat/android/models/querysort/QuerySorter;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/String;Ljava/util/Map;Ljava/util/Map;)Lio/getstream/chat/android/client/api/models/QueryChannelsRequest;
518+
public static synthetic fun copy$default (Lio/getstream/chat/android/client/api/models/QueryChannelsRequest;Lio/getstream/chat/android/models/FilterObject;IILio/getstream/chat/android/models/querysort/QuerySorter;Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/String;Ljava/util/Map;Ljava/util/Map;ILjava/lang/Object;)Lio/getstream/chat/android/client/api/models/QueryChannelsRequest;
502519
public fun equals (Ljava/lang/Object;)Z
503520
public final fun getFilter ()Lio/getstream/chat/android/models/FilterObject;
521+
public final fun getFilterValues ()Ljava/util/Map;
504522
public final fun getLimit ()I
505523
public final fun getMemberLimit ()Ljava/lang/Integer;
506524
public final fun getMessageLimit ()Ljava/lang/Integer;
507525
public final fun getOffset ()I
526+
public final fun getPredefinedFilter ()Ljava/lang/String;
508527
public fun getPresence ()Z
509528
public final fun getQuerySort ()Lio/getstream/chat/android/models/querysort/QuerySorter;
510529
public final fun getSort ()Ljava/util/List;
530+
public final fun getSortValues ()Ljava/util/Map;
511531
public fun getState ()Z
512532
public fun getWatch ()Z
513533
public fun hashCode ()I
@@ -2833,6 +2853,21 @@ public final class io/getstream/chat/android/client/internal/state/plugin/QueryC
28332853
public fun toString ()Ljava/lang/String;
28342854
}
28352855

2856+
public final class io/getstream/chat/android/client/internal/state/plugin/QueryChannelsIdentifier$Predefined : io/getstream/chat/android/client/internal/state/plugin/QueryChannelsIdentifier {
2857+
public fun <init> (Ljava/lang/String;Ljava/util/Map;Ljava/util/Map;)V
2858+
public final fun component1 ()Ljava/lang/String;
2859+
public final fun component2 ()Ljava/util/Map;
2860+
public final fun component3 ()Ljava/util/Map;
2861+
public final fun copy (Ljava/lang/String;Ljava/util/Map;Ljava/util/Map;)Lio/getstream/chat/android/client/internal/state/plugin/QueryChannelsIdentifier$Predefined;
2862+
public static synthetic fun copy$default (Lio/getstream/chat/android/client/internal/state/plugin/QueryChannelsIdentifier$Predefined;Ljava/lang/String;Ljava/util/Map;Ljava/util/Map;ILjava/lang/Object;)Lio/getstream/chat/android/client/internal/state/plugin/QueryChannelsIdentifier$Predefined;
2863+
public fun equals (Ljava/lang/Object;)Z
2864+
public final fun getFilterValues ()Ljava/util/Map;
2865+
public final fun getName ()Ljava/lang/String;
2866+
public final fun getSortValues ()Ljava/util/Map;
2867+
public fun hashCode ()I
2868+
public fun toString ()Ljava/lang/String;
2869+
}
2870+
28362871
public final class io/getstream/chat/android/client/internal/state/plugin/QueryChannelsIdentifier$Standard : io/getstream/chat/android/client/internal/state/plugin/QueryChannelsIdentifier {
28372872
public fun <init> (Lio/getstream/chat/android/models/FilterObject;Lio/getstream/chat/android/models/querysort/QuerySorter;)V
28382873
public final fun component1 ()Lio/getstream/chat/android/models/FilterObject;
@@ -3090,8 +3125,12 @@ public abstract interface class io/getstream/chat/android/client/persistance/rep
30903125
public abstract interface class io/getstream/chat/android/client/persistance/repository/QueryChannelsRepository {
30913126
public abstract fun clear (Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
30923127
public abstract fun insertQueryChannels (Lio/getstream/chat/android/client/query/QueryChannelsSpec;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
3093-
public abstract fun selectBy (Lio/getstream/chat/android/models/FilterObject;Lio/getstream/chat/android/models/querysort/QuerySorter;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
3094-
public abstract fun selectBy (Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
3128+
public fun selectBy (Lio/getstream/chat/android/models/FilterObject;Lio/getstream/chat/android/models/querysort/QuerySorter;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
3129+
public fun selectBy (Ljava/lang/String;Ljava/util/Map;Ljava/util/Map;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
3130+
public fun selectBy (Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
3131+
public static synthetic fun selectBy$suspendImpl (Lio/getstream/chat/android/client/persistance/repository/QueryChannelsRepository;Lio/getstream/chat/android/models/FilterObject;Lio/getstream/chat/android/models/querysort/QuerySorter;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
3132+
public static synthetic fun selectBy$suspendImpl (Lio/getstream/chat/android/client/persistance/repository/QueryChannelsRepository;Ljava/lang/String;Ljava/util/Map;Ljava/util/Map;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
3133+
public static synthetic fun selectBy$suspendImpl (Lio/getstream/chat/android/client/persistance/repository/QueryChannelsRepository;Ljava/lang/String;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
30953134
}
30963135

30973136
public abstract interface class io/getstream/chat/android/client/persistance/repository/ReactionRepository {
@@ -3391,6 +3430,8 @@ public abstract interface class io/getstream/chat/android/client/plugin/listener
33913430
public static synthetic fun onQueryChannelsRequest$suspendImpl (Lio/getstream/chat/android/client/plugin/listeners/QueryChannelsListener;Lio/getstream/chat/android/client/api/models/QueryChannelsRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
33923431
public fun onQueryChannelsResult (Lio/getstream/result/Result;Lio/getstream/chat/android/client/api/models/QueryChannelsRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
33933432
public static synthetic fun onQueryChannelsResult$suspendImpl (Lio/getstream/chat/android/client/plugin/listeners/QueryChannelsListener;Lio/getstream/result/Result;Lio/getstream/chat/android/client/api/models/QueryChannelsRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
3433+
public fun onQueryChannelsResultWithPredefinedFilter (Lio/getstream/result/Result;Lio/getstream/chat/android/client/api/models/QueryChannelsRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
3434+
public static synthetic fun onQueryChannelsResultWithPredefinedFilter$suspendImpl (Lio/getstream/chat/android/client/plugin/listeners/QueryChannelsListener;Lio/getstream/result/Result;Lio/getstream/chat/android/client/api/models/QueryChannelsRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
33943435
}
33953436

33963437
public abstract interface class io/getstream/chat/android/client/plugin/listeners/QueryGroupedChannelsListener {
@@ -3508,19 +3549,25 @@ public final class io/getstream/chat/android/client/query/CreateChannelParams {
35083549

35093550
public final class io/getstream/chat/android/client/query/QueryChannelsSpec {
35103551
public fun <init> (Lio/getstream/chat/android/models/FilterObject;Lio/getstream/chat/android/models/querysort/QuerySorter;)V
3511-
public fun <init> (Lio/getstream/chat/android/models/FilterObject;Lio/getstream/chat/android/models/querysort/QuerySorter;Ljava/lang/String;)V
3512-
public synthetic fun <init> (Lio/getstream/chat/android/models/FilterObject;Lio/getstream/chat/android/models/querysort/QuerySorter;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
3552+
public fun <init> (Lio/getstream/chat/android/models/FilterObject;Lio/getstream/chat/android/models/querysort/QuerySorter;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Ljava/util/Map;)V
3553+
public synthetic fun <init> (Lio/getstream/chat/android/models/FilterObject;Lio/getstream/chat/android/models/querysort/QuerySorter;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Ljava/util/Map;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
35133554
public final fun component1 ()Lio/getstream/chat/android/models/FilterObject;
35143555
public final fun component2 ()Lio/getstream/chat/android/models/querysort/QuerySorter;
35153556
public final fun component3 ()Ljava/lang/String;
3557+
public final fun component4 ()Ljava/lang/String;
3558+
public final fun component5 ()Ljava/util/Map;
3559+
public final fun component6 ()Ljava/util/Map;
35163560
public final fun copy (Lio/getstream/chat/android/models/FilterObject;Lio/getstream/chat/android/models/querysort/QuerySorter;)Lio/getstream/chat/android/client/query/QueryChannelsSpec;
3517-
public final fun copy (Lio/getstream/chat/android/models/FilterObject;Lio/getstream/chat/android/models/querysort/QuerySorter;Ljava/lang/String;)Lio/getstream/chat/android/client/query/QueryChannelsSpec;
3561+
public final fun copy (Lio/getstream/chat/android/models/FilterObject;Lio/getstream/chat/android/models/querysort/QuerySorter;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Ljava/util/Map;)Lio/getstream/chat/android/client/query/QueryChannelsSpec;
35183562
public static synthetic fun copy$default (Lio/getstream/chat/android/client/query/QueryChannelsSpec;Lio/getstream/chat/android/models/FilterObject;Lio/getstream/chat/android/models/querysort/QuerySorter;ILjava/lang/Object;)Lio/getstream/chat/android/client/query/QueryChannelsSpec;
3519-
public static synthetic fun copy$default (Lio/getstream/chat/android/client/query/QueryChannelsSpec;Lio/getstream/chat/android/models/FilterObject;Lio/getstream/chat/android/models/querysort/QuerySorter;Ljava/lang/String;ILjava/lang/Object;)Lio/getstream/chat/android/client/query/QueryChannelsSpec;
3563+
public static synthetic fun copy$default (Lio/getstream/chat/android/client/query/QueryChannelsSpec;Lio/getstream/chat/android/models/FilterObject;Lio/getstream/chat/android/models/querysort/QuerySorter;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Ljava/util/Map;ILjava/lang/Object;)Lio/getstream/chat/android/client/query/QueryChannelsSpec;
35203564
public fun equals (Ljava/lang/Object;)Z
35213565
public final fun getCids ()Ljava/util/Set;
35223566
public final fun getFilter ()Lio/getstream/chat/android/models/FilterObject;
35233567
public final fun getGroupKey ()Ljava/lang/String;
3568+
public final fun getPredefinedFilterName ()Ljava/lang/String;
3569+
public final fun getPredefinedFilterValues ()Ljava/util/Map;
3570+
public final fun getPredefinedSortValues ()Ljava/util/Map;
35243571
public final fun getQuerySort ()Lio/getstream/chat/android/models/querysort/QuerySorter;
35253572
public fun hashCode ()I
35263573
public final fun setCids (Ljava/util/Set;)V

stream-chat-android-client/src/main/java/io/getstream/chat/android/client/ChatClient.kt

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ import io.getstream.chat.android.client.api.models.GetThreadOptions
3434
import io.getstream.chat.android.client.api.models.PinnedMessagesPagination
3535
import io.getstream.chat.android.client.api.models.QueryChannelRequest
3636
import io.getstream.chat.android.client.api.models.QueryChannelsRequest
37+
import io.getstream.chat.android.client.api.models.QueryChannelsResult
3738
import io.getstream.chat.android.client.api.models.QueryThreadsRequest
3839
import io.getstream.chat.android.client.api.models.QueryUsersRequest
3940
import io.getstream.chat.android.client.api.models.SendActionRequest
@@ -2991,7 +2992,7 @@ internal constructor(
29912992
*/
29922993
@CheckResult
29932994
@InternalStreamChatApi
2994-
public fun queryChannelsInternal(request: QueryChannelsRequest): Call<List<Channel>> {
2995+
public fun queryChannelsInternal(request: QueryChannelsRequest): Call<QueryChannelsResult> {
29952996
return api.queryChannels(request)
29962997
}
29972998

@@ -3019,7 +3020,7 @@ internal constructor(
30193020
this.watch = false
30203021
this.state = state
30213022
}
3022-
when (val result = api.queryChannels(request).await()) {
3023+
when (val result = api.queryChannels(request).map { it.channels }.await()) {
30233024
is Result.Success -> {
30243025
val channels = result.value
30253026
if (channels.isEmpty()) {
@@ -3130,18 +3131,20 @@ internal constructor(
31303131
@CheckResult
31313132
public fun queryChannels(request: QueryChannelsRequest): Call<List<Channel>> {
31323133
logger.d { "[queryChannels] offset: ${request.offset}, limit: ${request.limit}" }
3133-
return queryChannelsInternal(request = request).doOnStart(userScope) {
3134+
return api.queryChannels(request).doOnStart(userScope) {
31343135
plugins.forEach { listener ->
31353136
logger.v { "[queryChannels] #doOnStart; plugin: ${listener::class.qualifiedName}" }
31363137
listener.onQueryChannelsRequest(request)
31373138
}
31383139
}.doOnResult(userScope) { result ->
31393140
plugins.forEach { listener ->
31403141
logger.v { "[queryChannels] #doOnResult; plugin: ${listener::class.qualifiedName}" }
3141-
listener.onQueryChannelsResult(result, request)
3142+
listener.onQueryChannelsResultWithPredefinedFilter(result, request)
31423143
}
31433144
}.precondition(plugins) {
31443145
onQueryChannelsPrecondition(request)
3146+
}.map {
3147+
it.channels
31453148
}.share(userScope) {
31463149
QueryChannelsIdentifier(request)
31473150
}

stream-chat-android-client/src/main/java/io/getstream/chat/android/client/api/ChatApi.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import io.getstream.chat.android.client.api.models.GetThreadOptions
2121
import io.getstream.chat.android.client.api.models.PinnedMessagesPagination
2222
import io.getstream.chat.android.client.api.models.QueryChannelRequest
2323
import io.getstream.chat.android.client.api.models.QueryChannelsRequest
24+
import io.getstream.chat.android.client.api.models.QueryChannelsResult
2425
import io.getstream.chat.android.client.api.models.QueryThreadsRequest
2526
import io.getstream.chat.android.client.api.models.QueryUsersRequest
2627
import io.getstream.chat.android.client.api.models.SendActionRequest
@@ -288,7 +289,7 @@ internal interface ChatApi {
288289
): Call<List<Message>>
289290

290291
@CheckResult
291-
fun queryChannels(query: QueryChannelsRequest): Call<List<Channel>>
292+
fun queryChannels(query: QueryChannelsRequest): Call<QueryChannelsResult>
292293

293294
/**
294295
* Queries channels grouped into server-defined groups.

stream-chat-android-client/src/main/java/io/getstream/chat/android/client/api/internal/DistinctChatApi.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import io.getstream.chat.android.client.api.ChatApi
2020
import io.getstream.chat.android.client.api.models.PinnedMessagesPagination
2121
import io.getstream.chat.android.client.api.models.QueryChannelRequest
2222
import io.getstream.chat.android.client.api.models.QueryChannelsRequest
23+
import io.getstream.chat.android.client.api.models.QueryChannelsResult
2324
import io.getstream.chat.android.client.api2.optimisation.hash.ChannelQueryKey
2425
import io.getstream.chat.android.client.api2.optimisation.hash.GetNewerRepliesHash
2526
import io.getstream.chat.android.client.api2.optimisation.hash.GetPinnedMessagesHash
@@ -133,7 +134,7 @@ internal class DistinctChatApi(
133134
}
134135
}
135136

136-
override fun queryChannels(query: QueryChannelsRequest): Call<List<Channel>> {
137+
override fun queryChannels(query: QueryChannelsRequest): Call<QueryChannelsResult> {
137138
val uniqueKey = query.hashCode()
138139
StreamLog.d(TAG) { "[queryChannels] query: $query, uniqueKey: $uniqueKey" }
139140
return getOrCreate(uniqueKey) {

stream-chat-android-client/src/main/java/io/getstream/chat/android/client/api/internal/DistinctChatApiEnabler.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import io.getstream.chat.android.client.api.ChatApi
2020
import io.getstream.chat.android.client.api.models.PinnedMessagesPagination
2121
import io.getstream.chat.android.client.api.models.QueryChannelRequest
2222
import io.getstream.chat.android.client.api.models.QueryChannelsRequest
23+
import io.getstream.chat.android.client.api.models.QueryChannelsResult
2324
import io.getstream.chat.android.models.BannedUser
2425
import io.getstream.chat.android.models.BannedUsersSort
2526
import io.getstream.chat.android.models.Channel
@@ -77,7 +78,7 @@ internal class DistinctChatApiEnabler(
7778
return getApi().getPinnedMessages(channelType, channelId, limit, sort, pagination)
7879
}
7980

80-
override fun queryChannels(query: QueryChannelsRequest): Call<List<Channel>> {
81+
override fun queryChannels(query: QueryChannelsRequest): Call<QueryChannelsResult> {
8182
return getApi().queryChannels(query)
8283
}
8384

0 commit comments

Comments
 (0)