Pinned messages : remove debounce now it's properly handled by sdk.
This commit is contained in:
parent
406c000ecd
commit
9445111b42
2 changed files with 1 additions and 6 deletions
|
|
@ -25,14 +25,12 @@ import kotlinx.collections.immutable.ImmutableList
|
||||||
import kotlinx.collections.immutable.toImmutableList
|
import kotlinx.collections.immutable.toImmutableList
|
||||||
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
||||||
import kotlinx.coroutines.FlowPreview
|
import kotlinx.coroutines.FlowPreview
|
||||||
import kotlinx.coroutines.flow.debounce
|
|
||||||
import kotlinx.coroutines.flow.flatMapLatest
|
import kotlinx.coroutines.flow.flatMapLatest
|
||||||
import kotlinx.coroutines.flow.flowOf
|
import kotlinx.coroutines.flow.flowOf
|
||||||
import kotlinx.coroutines.flow.launchIn
|
import kotlinx.coroutines.flow.launchIn
|
||||||
import kotlinx.coroutines.flow.map
|
import kotlinx.coroutines.flow.map
|
||||||
import kotlinx.coroutines.flow.onEach
|
import kotlinx.coroutines.flow.onEach
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
import kotlin.time.Duration.Companion.milliseconds
|
|
||||||
|
|
||||||
class PinnedMessagesBannerPresenter @Inject constructor(
|
class PinnedMessagesBannerPresenter @Inject constructor(
|
||||||
private val room: MatrixRoom,
|
private val room: MatrixRoom,
|
||||||
|
|
@ -123,7 +121,6 @@ class PinnedMessagesBannerPresenter @Inject constructor(
|
||||||
is AsyncData.Loading -> flowOf(AsyncData.Loading())
|
is AsyncData.Loading -> flowOf(AsyncData.Loading())
|
||||||
is AsyncData.Success -> {
|
is AsyncData.Success -> {
|
||||||
asyncTimeline.data.timelineItems
|
asyncTimeline.data.timelineItems
|
||||||
.debounce(300.milliseconds)
|
|
||||||
.map { timelineItems ->
|
.map { timelineItems ->
|
||||||
val pinnedItems = timelineItems.mapNotNull { timelineItem ->
|
val pinnedItems = timelineItems.mapNotNull { timelineItem ->
|
||||||
itemFactory.create(timelineItem)
|
itemFactory.create(timelineItem)
|
||||||
|
|
|
||||||
|
|
@ -43,14 +43,12 @@ import kotlinx.collections.immutable.ImmutableList
|
||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
import kotlinx.coroutines.FlowPreview
|
import kotlinx.coroutines.FlowPreview
|
||||||
import kotlinx.coroutines.flow.combine
|
import kotlinx.coroutines.flow.combine
|
||||||
import kotlinx.coroutines.flow.debounce
|
|
||||||
import kotlinx.coroutines.flow.flowOf
|
import kotlinx.coroutines.flow.flowOf
|
||||||
import kotlinx.coroutines.flow.launchIn
|
import kotlinx.coroutines.flow.launchIn
|
||||||
import kotlinx.coroutines.flow.map
|
import kotlinx.coroutines.flow.map
|
||||||
import kotlinx.coroutines.flow.onEach
|
import kotlinx.coroutines.flow.onEach
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
import kotlin.time.Duration.Companion.milliseconds
|
|
||||||
|
|
||||||
class PinnedMessagesListPresenter @AssistedInject constructor(
|
class PinnedMessagesListPresenter @AssistedInject constructor(
|
||||||
@Assisted private val navigator: PinnedMessagesListNavigator,
|
@Assisted private val navigator: PinnedMessagesListNavigator,
|
||||||
|
|
@ -174,7 +172,7 @@ class PinnedMessagesListPresenter @AssistedInject constructor(
|
||||||
is AsyncData.Failure -> flowOf(AsyncData.Failure(asyncTimeline.error))
|
is AsyncData.Failure -> flowOf(AsyncData.Failure(asyncTimeline.error))
|
||||||
is AsyncData.Loading -> flowOf(AsyncData.Loading())
|
is AsyncData.Loading -> flowOf(AsyncData.Loading())
|
||||||
is AsyncData.Success -> {
|
is AsyncData.Success -> {
|
||||||
val timelineItemsFlow = asyncTimeline.data.timelineItems.debounce(300.milliseconds)
|
val timelineItemsFlow = asyncTimeline.data.timelineItems
|
||||||
combine(timelineItemsFlow, room.membersStateFlow) { items, membersState ->
|
combine(timelineItemsFlow, room.membersStateFlow) { items, membersState ->
|
||||||
timelineItemsFactory.replaceWith(
|
timelineItemsFactory.replaceWith(
|
||||||
timelineItems = items,
|
timelineItems = items,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue