@@ -28,7 +28,7 @@ import timber.log.Timber
2828object TraktTools4 {
2929
3030 // 1000 is the maximum limit according to https://github.com/trakt/trakt-api/discussions/681
31- private const val COLLECTION_MAX_LIMIT = 1000
31+ private const val LIST_AND_COLLECTION_MAX_LIMIT = 1000
3232
3333 sealed interface TraktResponse <T > {
3434 data class Success <T >(
@@ -85,7 +85,7 @@ object TraktTools4 {
8585 action = " get collected shows" ,
8686 reportIsNotVip = true // Should work even if not VIP
8787 ) { page ->
88- traktSync.collectionShows(page, COLLECTION_MAX_LIMIT , null )
88+ traktSync.collectionShows(page, LIST_AND_COLLECTION_MAX_LIMIT , null )
8989 }
9090 }
9191
@@ -155,12 +155,13 @@ object TraktTools4 {
155155 suspend fun getShowsOnWatchlist (
156156 traktSync : Sync
157157 ): TraktNonNullResponse <List <BaseShow >> {
158- return awaitTraktCallNonNull(
159- // Use Extended.FULL to get show metadata
160- traktSync.watchlistShows(Extended .FULL ),
161- " get shows on watchlist" ,
158+ return fetchAllPages(
159+ action = " get shows on watchlist" ,
162160 reportIsNotVip = true // Should work even if not VIP
163- )
161+ ) { page ->
162+ // Use Extended.FULL to get show metadata
163+ traktSync.watchlistShows(page, LIST_AND_COLLECTION_MAX_LIMIT , Extended .FULL )
164+ }
164165 }
165166
166167 suspend fun getWatchedMoviesByTmdbId (
@@ -191,19 +192,20 @@ object TraktTools4 {
191192 action = " get collected movies" ,
192193 reportIsNotVip = true // Should work even if not VIP
193194 ) { page ->
194- traktSync.collectionMovies(page, COLLECTION_MAX_LIMIT , null )
195+ traktSync.collectionMovies(page, LIST_AND_COLLECTION_MAX_LIMIT , null )
195196 }
196197 return mapResponseData(response) { mapMoviesToTmdbIdSet(it) }
197198 }
198199
199200 suspend fun getMoviesOnWatchlistByTmdbId (
200201 traktSync : Sync
201202 ): TraktNonNullResponse <MutableSet <Int >> {
202- val response = awaitTraktCallNonNull(
203- traktSync.watchlistMovies(null ),
204- " get movie watchlist" ,
203+ val response = fetchAllPages(
204+ action = " get movie watchlist" ,
205205 reportIsNotVip = true // Should work even if not VIP
206- )
206+ ) { page ->
207+ traktSync.watchlistMovies(page, LIST_AND_COLLECTION_MAX_LIMIT , null )
208+ }
207209 return mapResponseData(response) { mapMoviesToTmdbIdSet(it) }
208210 }
209211
0 commit comments