From c7d3e1926f71c79f127a0fecb0fe39229343bded Mon Sep 17 00:00:00 2001 From: Maxime NATUREL <46314705+mnaturel@users.noreply.github.com> Date: Thu, 26 Jan 2023 10:33:42 +0100 Subject: [PATCH] Renaming API field and adding more doc to make things clearer --- .../api/session/room/poll/LoadedPollsStatus.kt | 15 ++++++++++++++- .../api/session/room/poll/PollHistoryService.kt | 3 +++ .../session/room/poll/GetLoadedPollsStatusTask.kt | 2 +- .../session/room/poll/LoadMorePollsTask.kt | 2 +- .../roomprofile/polls/RoomPollsViewModel.kt | 4 ++-- .../roomprofile/polls/RoomPollsViewModelTest.kt | 8 ++++---- .../polls/list/data/RoomPollDataSourceTest.kt | 2 +- .../polls/list/data/RoomPollRepositoryTest.kt | 2 +- .../domain/GetLoadedPollsStatusUseCaseTest.kt | 2 +- .../polls/list/domain/LoadMorePollsUseCaseTest.kt | 2 +- .../polls/list/domain/SyncPollsUseCaseTest.kt | 6 +++--- 11 files changed, 32 insertions(+), 16 deletions(-) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/poll/LoadedPollsStatus.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/poll/LoadedPollsStatus.kt index 003e03178b..02a7667ebf 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/poll/LoadedPollsStatus.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/poll/LoadedPollsStatus.kt @@ -20,7 +20,20 @@ package org.matrix.android.sdk.api.session.room.poll * Represent the status of the loaded polls for a room. */ data class LoadedPollsStatus( + /** + * Indicate whether more polls can be loaded from timeline. + * A false value would mean the start of the timeline has been reached. + */ val canLoadMore: Boolean, - val nbSyncedDays: Int, + + /** + * Number of days of timeline events currently synced (fetched and stored in local). + */ + val daysSynced: Int, + + /** + * Indicate whether a sync of timeline events has been completely done in backward. It would + * mean timeline events have been synced for at least a number of days defined by [PollHistoryService.loadingPeriodInDays]. + */ val hasCompletedASyncBackward: Boolean, ) diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/poll/PollHistoryService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/poll/PollHistoryService.kt index b62f5a1969..62706af86a 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/poll/PollHistoryService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/room/poll/PollHistoryService.kt @@ -24,6 +24,9 @@ import org.matrix.android.sdk.api.session.room.timeline.TimelineEvent */ interface PollHistoryService { + /** + * The number of days covered when requesting to load more polls. + */ val loadingPeriodInDays: Int /** diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/poll/GetLoadedPollsStatusTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/poll/GetLoadedPollsStatusTask.kt index f273d2248a..5bdb52d04c 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/poll/GetLoadedPollsStatusTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/poll/GetLoadedPollsStatusTask.kt @@ -43,7 +43,7 @@ internal class DefaultGetLoadedPollsStatusTask @Inject constructor( .copy() LoadedPollsStatus( canLoadMore = status.isEndOfPollsBackward.not(), - nbSyncedDays = status.getNbSyncedDays(params.currentTimestampMs), + daysSynced = status.getNbSyncedDays(params.currentTimestampMs), hasCompletedASyncBackward = status.hasCompletedASyncBackward, ) } diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/poll/LoadMorePollsTask.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/poll/LoadMorePollsTask.kt index 248d1e5ee3..50dbeb763e 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/poll/LoadMorePollsTask.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/poll/LoadMorePollsTask.kt @@ -53,7 +53,7 @@ internal class DefaultLoadMorePollsTask @Inject constructor( return LoadedPollsStatus( canLoadMore = currentPollHistoryStatus.isEndOfPollsBackward.not(), - nbSyncedDays = currentPollHistoryStatus.getNbSyncedDays(params.currentTimestampMs), + daysSynced = currentPollHistoryStatus.getNbSyncedDays(params.currentTimestampMs), hasCompletedASyncBackward = currentPollHistoryStatus.hasCompletedASyncBackward, ) } diff --git a/vector/src/main/java/im/vector/app/features/roomprofile/polls/RoomPollsViewModel.kt b/vector/src/main/java/im/vector/app/features/roomprofile/polls/RoomPollsViewModel.kt index 488660f7d3..2beda47816 100644 --- a/vector/src/main/java/im/vector/app/features/roomprofile/polls/RoomPollsViewModel.kt +++ b/vector/src/main/java/im/vector/app/features/roomprofile/polls/RoomPollsViewModel.kt @@ -68,7 +68,7 @@ class RoomPollsViewModel @AssistedInject constructor( setState { copy( canLoadMore = loadedPollsStatus.canLoadMore, - nbSyncedDays = loadedPollsStatus.nbSyncedDays, + nbSyncedDays = loadedPollsStatus.daysSynced, ) } } @@ -100,7 +100,7 @@ class RoomPollsViewModel @AssistedInject constructor( setState { copy( canLoadMore = status.canLoadMore, - nbSyncedDays = status.nbSyncedDays, + nbSyncedDays = status.daysSynced, ) } } diff --git a/vector/src/test/java/im/vector/app/features/roomprofile/polls/RoomPollsViewModelTest.kt b/vector/src/test/java/im/vector/app/features/roomprofile/polls/RoomPollsViewModelTest.kt index 084df03e64..20471637e6 100644 --- a/vector/src/test/java/im/vector/app/features/roomprofile/polls/RoomPollsViewModelTest.kt +++ b/vector/src/test/java/im/vector/app/features/roomprofile/polls/RoomPollsViewModelTest.kt @@ -75,7 +75,7 @@ class RoomPollsViewModelTest { val expectedViewState = initialState.copy( polls = listOf(aPollSummary), canLoadMore = loadedPollsStatus.canLoadMore, - nbSyncedDays = loadedPollsStatus.nbSyncedDays, + nbSyncedDays = loadedPollsStatus.daysSynced, ) // When @@ -135,7 +135,7 @@ class RoomPollsViewModelTest { val stateAfterInit = initialState.copy( polls = emptyList(), canLoadMore = loadedPollsStatus.canLoadMore, - nbSyncedDays = loadedPollsStatus.nbSyncedDays, + nbSyncedDays = loadedPollsStatus.daysSynced, ) // When @@ -147,7 +147,7 @@ class RoomPollsViewModelTest { .assertStatesChanges( stateAfterInit, { copy(isLoadingMore = true) }, - { copy(canLoadMore = newLoadedPollsStatus.canLoadMore, nbSyncedDays = newLoadedPollsStatus.nbSyncedDays) }, + { copy(canLoadMore = newLoadedPollsStatus.canLoadMore, nbSyncedDays = newLoadedPollsStatus.daysSynced) }, { copy(isLoadingMore = false) }, ) .finish() @@ -181,7 +181,7 @@ class RoomPollsViewModelTest { private fun givenALoadedPollsStatus(canLoadMore: Boolean = true, nbSyncedDays: Int = 10) = LoadedPollsStatus( canLoadMore = canLoadMore, - nbSyncedDays = nbSyncedDays, + daysSynced = nbSyncedDays, hasCompletedASyncBackward = false, ) } diff --git a/vector/src/test/java/im/vector/app/features/roomprofile/polls/list/data/RoomPollDataSourceTest.kt b/vector/src/test/java/im/vector/app/features/roomprofile/polls/list/data/RoomPollDataSourceTest.kt index 11006b10e8..89fde7b9df 100644 --- a/vector/src/test/java/im/vector/app/features/roomprofile/polls/list/data/RoomPollDataSourceTest.kt +++ b/vector/src/test/java/im/vector/app/features/roomprofile/polls/list/data/RoomPollDataSourceTest.kt @@ -124,7 +124,7 @@ internal class RoomPollDataSourceTest { private fun givenALoadedPollsStatus() = LoadedPollsStatus( canLoadMore = true, - nbSyncedDays = 10, + daysSynced = 10, hasCompletedASyncBackward = true, ) } diff --git a/vector/src/test/java/im/vector/app/features/roomprofile/polls/list/data/RoomPollRepositoryTest.kt b/vector/src/test/java/im/vector/app/features/roomprofile/polls/list/data/RoomPollRepositoryTest.kt index e57b52a812..f27335b844 100644 --- a/vector/src/test/java/im/vector/app/features/roomprofile/polls/list/data/RoomPollRepositoryTest.kt +++ b/vector/src/test/java/im/vector/app/features/roomprofile/polls/list/data/RoomPollRepositoryTest.kt @@ -72,7 +72,7 @@ class RoomPollRepositoryTest { // Given val expectedStatus = LoadedPollsStatus( canLoadMore = true, - nbSyncedDays = 10, + daysSynced = 10, hasCompletedASyncBackward = false, ) coEvery { fakeRoomPollDataSource.getLoadedPollsStatus(A_ROOM_ID) } returns expectedStatus diff --git a/vector/src/test/java/im/vector/app/features/roomprofile/polls/list/domain/GetLoadedPollsStatusUseCaseTest.kt b/vector/src/test/java/im/vector/app/features/roomprofile/polls/list/domain/GetLoadedPollsStatusUseCaseTest.kt index eeaf7803a6..2b3d731b3b 100644 --- a/vector/src/test/java/im/vector/app/features/roomprofile/polls/list/domain/GetLoadedPollsStatusUseCaseTest.kt +++ b/vector/src/test/java/im/vector/app/features/roomprofile/polls/list/domain/GetLoadedPollsStatusUseCaseTest.kt @@ -39,7 +39,7 @@ class GetLoadedPollsStatusUseCaseTest { val aRoomId = "roomId" val expectedStatus = LoadedPollsStatus( canLoadMore = true, - nbSyncedDays = 10, + daysSynced = 10, hasCompletedASyncBackward = true, ) coEvery { fakeRoomPollRepository.getLoadedPollsStatus(aRoomId) } returns expectedStatus diff --git a/vector/src/test/java/im/vector/app/features/roomprofile/polls/list/domain/LoadMorePollsUseCaseTest.kt b/vector/src/test/java/im/vector/app/features/roomprofile/polls/list/domain/LoadMorePollsUseCaseTest.kt index d2f63c2a37..c1ae0a3a3f 100644 --- a/vector/src/test/java/im/vector/app/features/roomprofile/polls/list/domain/LoadMorePollsUseCaseTest.kt +++ b/vector/src/test/java/im/vector/app/features/roomprofile/polls/list/domain/LoadMorePollsUseCaseTest.kt @@ -39,7 +39,7 @@ class LoadMorePollsUseCaseTest { val aRoomId = "roomId" val loadedPollsStatus = LoadedPollsStatus( canLoadMore = true, - nbSyncedDays = 10, + daysSynced = 10, hasCompletedASyncBackward = true, ) coEvery { fakeRoomPollRepository.loadMorePolls(aRoomId) } returns loadedPollsStatus diff --git a/vector/src/test/java/im/vector/app/features/roomprofile/polls/list/domain/SyncPollsUseCaseTest.kt b/vector/src/test/java/im/vector/app/features/roomprofile/polls/list/domain/SyncPollsUseCaseTest.kt index e60214dde7..9dee8e6170 100644 --- a/vector/src/test/java/im/vector/app/features/roomprofile/polls/list/domain/SyncPollsUseCaseTest.kt +++ b/vector/src/test/java/im/vector/app/features/roomprofile/polls/list/domain/SyncPollsUseCaseTest.kt @@ -45,7 +45,7 @@ class SyncPollsUseCaseTest { val aRoomId = "roomId" val aLoadedStatus = LoadedPollsStatus( canLoadMore = true, - nbSyncedDays = 10, + daysSynced = 10, hasCompletedASyncBackward = true, ) coJustRun { fakeRoomPollRepository.syncPolls(aRoomId) } @@ -71,12 +71,12 @@ class SyncPollsUseCaseTest { val aRoomId = "roomId" val aLoadedStatus = LoadedPollsStatus( canLoadMore = true, - nbSyncedDays = 10, + daysSynced = 10, hasCompletedASyncBackward = false, ) val anUpdatedLoadedStatus = LoadedPollsStatus( canLoadMore = true, - nbSyncedDays = 10, + daysSynced = 10, hasCompletedASyncBackward = true, ) coJustRun { fakeRoomPollRepository.syncPolls(aRoomId) }