3232import com .uwetrottmann .trakt5 .entities .WatchlistedSeason ;
3333import com .uwetrottmann .trakt5 .enums .Extended ;
3434import com .uwetrottmann .trakt5 .enums .HistoryType ;
35+ import com .uwetrottmann .trakt5 .enums .PlaybackType ;
3536import com .uwetrottmann .trakt5 .enums .RatingsFilter ;
3637import org .threeten .bp .OffsetDateTime ;
3738import retrofit2 .Call ;
@@ -150,11 +151,62 @@ Call<List<BaseMovie>> watchedMovies(
150151 @ Query (value = "extended" , encoded = true ) Extended extended
151152 );
152153
154+ /**
155+ * <b>OAuth Required</b>
156+ * <p>
157+ * Whenever a scrobble is paused, the playback progress is saved. Use this progress to sync up playback across
158+ * different media centers or apps. For example, you can start watching a movie in a media center, stop it, then
159+ * resume on your tablet from the same spot. Each item will have the progress percentage between 0 and 100.
160+ * <p>
161+ * Use {@link #playback(PlaybackType, OffsetDateTime, OffsetDateTime, Integer, Integer)} to specify a type to only
162+ * get movies or episodes.
163+ * <p>
164+ * By default, all results will be returned. Pagination is optional and can be used for something like an "on deck"
165+ * feature, or if you only need a limited data set.
166+ * <p>
167+ * Note: Trakt only saves playback progress for the last 6 months.
168+ *
169+ * @see #playback(PlaybackType, OffsetDateTime, OffsetDateTime, Integer, Integer)
170+ */
171+ @ GET ("sync/playback" )
172+ Call <List <PlaybackResponse >> playback (
173+ @ Query ("start_at" ) OffsetDateTime startAt ,
174+ @ Query ("end_at" ) OffsetDateTime endAt ,
175+ @ Query ("page" ) Integer page ,
176+ @ Query ("limit" ) Integer limit
177+ );
178+
179+ /**
180+ * <b>OAuth Required</b>
181+ * <p>
182+ * Whenever a scrobble is paused, the playback progress is saved. Use this progress to sync up playback across
183+ * different media centers or apps. For example, you can start watching a movie in a media center, stop it, then
184+ * resume on your tablet from the same spot. Each item will have the progress percentage between 0 and 100.
185+ * <p>
186+ * By default, all results will be returned. Pagination is optional and can be used for something like an "on deck"
187+ * feature, or if you only need a limited data set.
188+ * <p>
189+ * Note: Trakt only saves playback progress for the last 6 months.
190+ *
191+ * @see #playback(OffsetDateTime, OffsetDateTime, Integer, Integer)
192+ */
193+ @ GET ("sync/playback/{type}" )
194+ Call <List <PlaybackResponse >> playback (
195+ @ Path ("type" ) PlaybackType type ,
196+ @ Query ("start_at" ) OffsetDateTime startAt ,
197+ @ Query ("end_at" ) OffsetDateTime endAt ,
198+ @ Query ("page" ) Integer page ,
199+ @ Query ("limit" ) Integer limit
200+ );
201+
153202 /**
154203 * <b>OAuth Required</b>
155204 *
156205 * <p> Returns all playbacks;
206+ *
207+ * @deprecated Use {@link #playback(OffsetDateTime, OffsetDateTime, Integer, Integer)} instead.
157208 */
209+ @ Deprecated
158210 @ GET ("sync/playback" )
159211 Call <List <PlaybackResponse >> getPlayback (
160212 @ Query ("limit" ) Integer limit
@@ -164,7 +216,10 @@ Call<List<PlaybackResponse>> getPlayback(
164216 * <b>OAuth Required</b>
165217 *
166218 * <p> Returns all playbacks;
219+ *
220+ * @deprecated Use {@link #playback(PlaybackType, OffsetDateTime, OffsetDateTime, Integer, Integer)} instead.
167221 */
222+ @ Deprecated
168223 @ GET ("sync/playback/episodes" )
169224 Call <List <PlaybackResponse >> getPlaybackEpisodes (
170225 @ Query ("limit" ) Integer limit
@@ -174,7 +229,10 @@ Call<List<PlaybackResponse>> getPlaybackEpisodes(
174229 * <b>OAuth Required</b>
175230 *
176231 * <p> Returns all playbacks;
232+ *
233+ * @deprecated Use {@link #playback(PlaybackType, OffsetDateTime, OffsetDateTime, Integer, Integer)} instead.
177234 */
235+ @ Deprecated
178236 @ GET ("sync/playback/movies" )
179237 Call <List <PlaybackResponse >> getPlaybackMovies (
180238 @ Query ("limit" ) Integer limit
0 commit comments