Realm-kotlin: makes timelineScope child of sessionScope

This commit is contained in:
ganfra 2022-10-20 11:56:33 +02:00
parent e6f911a64b
commit ca4ed5c822
2 changed files with 6 additions and 1 deletions

View File

@ -61,6 +61,7 @@ internal class DefaultTimeline(
private val settings: TimelineSettings,
private val coroutineDispatchers: MatrixCoroutineDispatchers,
private val clock: Clock,
sessionCoroutineScope: CoroutineScope,
stateEventDataSource: StateEventDataSource,
paginationTask: PaginationTask,
getEventTask: GetContextOfEventTask,
@ -85,7 +86,7 @@ internal class DefaultTimeline(
private val backwardState = AtomicReference(Timeline.PaginationState())
private val timelineDispatcher = BACKGROUND_HANDLER.asCoroutineDispatcher()
private val timelineScope = CoroutineScope(SupervisorJob() + timelineDispatcher)
private val timelineScope = CoroutineScope(sessionCoroutineScope.coroutineContext + SupervisorJob() + timelineDispatcher)
private val sequencer = SemaphoreCoroutineSequencer()
private val postSnapshotSignalFlow = MutableSharedFlow<Unit>(0)

View File

@ -20,6 +20,7 @@ import androidx.lifecycle.LiveData
import dagger.assisted.Assisted
import dagger.assisted.AssistedFactory
import dagger.assisted.AssistedInject
import kotlinx.coroutines.CoroutineScope
import org.matrix.android.sdk.api.MatrixCoroutineDispatchers
import org.matrix.android.sdk.api.session.room.timeline.Timeline
import org.matrix.android.sdk.api.session.room.timeline.TimelineEvent
@ -29,6 +30,7 @@ import org.matrix.android.sdk.api.settings.LightweightSettingsStorage
import org.matrix.android.sdk.api.util.Optional
import org.matrix.android.sdk.internal.database.RealmInstance
import org.matrix.android.sdk.internal.database.mapper.TimelineEventMapper
import org.matrix.android.sdk.internal.di.SessionCoroutineScope
import org.matrix.android.sdk.internal.di.SessionDatabase
import org.matrix.android.sdk.internal.session.room.membership.LoadRoomMembersTask
import org.matrix.android.sdk.internal.session.room.relation.threads.FetchThreadTimelineTask
@ -40,6 +42,7 @@ import org.matrix.android.sdk.internal.util.time.Clock
internal class DefaultTimelineService @AssistedInject constructor(
@Assisted private val roomId: String,
@SessionDatabase private val realmInstance: RealmInstance,
@SessionCoroutineScope private val sessionCoroutineScope: CoroutineScope,
private val timelineInput: TimelineInput,
private val contextOfEventTask: GetContextOfEventTask,
private val eventDecryptor: TimelineEventDecryptor,
@ -68,6 +71,7 @@ internal class DefaultTimelineService @AssistedInject constructor(
initialEventId = eventId,
settings = settings,
realmInstance = realmInstance,
sessionCoroutineScope = sessionCoroutineScope,
coroutineDispatchers = coroutineDispatchers,
paginationTask = paginationTask,
fetchTokenAndPaginateTask = fetchTokenAndPaginateTask,