diff --git a/app/build.gradle b/app/build.gradle index 3b6a9fe..84be6f8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -22,6 +22,7 @@ android { } buildConfigField("String", "TMDB_ApiKey", TMDB_ApiKey) + buildConfigField("String", "TMDB_Api_v4Key", TMDB_Api_v4Key) } buildTypes { diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/GsonConverter.kt b/app/src/main/java/com/owenlejeune/tvtime/api/GsonConverter.kt index 513dca4..cabc335 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/GsonConverter.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/GsonConverter.kt @@ -1,12 +1,27 @@ package com.owenlejeune.tvtime.api import com.google.gson.GsonBuilder +import com.google.gson.JsonDeserializer +import org.koin.core.component.KoinComponent +import org.koin.core.component.inject import retrofit2.converter.gson.GsonConverterFactory +import kotlin.reflect.KClass + +class GsonConverter: Converter, KoinComponent { + + private val deserializers: Map, JsonDeserializer<*>> by inject() -class GsonConverter: Converter { override fun get(): retrofit2.Converter.Factory { - val gson = GsonBuilder() - .create() +// val gson = GsonBuilder() +// .registerTypeAdapter() +// .create() + val builder = GsonBuilder() + + deserializers.forEach { deserializer -> + builder.registerTypeAdapter(deserializer.key, deserializer.value) + } + + val gson = builder.create() return GsonConverterFactory.create(gson) } diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/TmdbClient.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/TmdbClient.kt index e61d203..270036f 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/TmdbClient.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/TmdbClient.kt @@ -4,6 +4,8 @@ import androidx.compose.ui.text.intl.Locale import com.owenlejeune.tvtime.BuildConfig import com.owenlejeune.tvtime.api.Client import com.owenlejeune.tvtime.api.QueryParam +import com.owenlejeune.tvtime.api.tmdb.api.v3.* +import com.owenlejeune.tvtime.api.tmdb.api.v4.AuthenticationV4Api import com.owenlejeune.tvtime.extensions.addQueryParams import com.owenlejeune.tvtime.preferences.AppPreferences import com.owenlejeune.tvtime.utils.SessionManager @@ -16,14 +18,17 @@ import org.koin.core.parameter.parametersOf class TmdbClient: KoinComponent { companion object { - const val BASE_URL = "https://api.themoviedb.org/3/" + const val V_3_BASE_URL = "https://api.themoviedb.org/3/" + const val V_4_BASE_URL = "https://api.themoviedb.org/4/" } - private val client: Client by inject { parametersOf(BASE_URL) } + private val client: Client by inject { parametersOf(V_3_BASE_URL) } + private val clientV4: Client by inject { parametersOf(V_4_BASE_URL) } private val preferences: AppPreferences by inject() init { client.addInterceptor(TmdbInterceptor()) + clientV4.addInterceptor(V4Interceptor()) } fun createMovieService(): MoviesApi { @@ -42,6 +47,10 @@ class TmdbClient: KoinComponent { return client.create(AuthenticationApi::class.java) } + fun createV4AuthenticationService(): AuthenticationV4Api { + return clientV4.create(AuthenticationV4Api::class.java) + } + fun createGuestSessionService(): GuestSessionApi { return client.create(GuestSessionApi::class.java) } @@ -61,22 +70,41 @@ class TmdbClient: KoinComponent { val segments = chain.request().url.encodedPathSegments val sessionIdParam: QueryParam? = sessionIdParam(segments) - val request = chain.addQueryParams(apiParam, languageParam, sessionIdParam) + val builder = chain.request().url.newBuilder() + builder.addQueryParams(apiParam, languageParam, sessionIdParam) + val requestBuilder = chain.request().newBuilder().url(builder.build()) + val request = requestBuilder.build() return chain.proceed(request) } + + private fun sessionIdParam(urlSegments: List): QueryParam? { + var sessionIdParam: QueryParam? = null + if (urlSegments.size > 1 && urlSegments[1] == "account") { + if (SessionManager.currentSession?.isAuthorized == true) { + sessionIdParam = QueryParam("session_id", SessionManager.currentSession!!.sessionId) + } else if (preferences.authorizedSessionId.isNotEmpty()) { + sessionIdParam = QueryParam("session_id", preferences.authorizedSessionId) + } + } + return sessionIdParam + } } - private fun sessionIdParam(urlSegments: List): QueryParam? { - var sessionIdParam: QueryParam? = null - if (urlSegments.size > 1 && urlSegments[1] == "account") { - if (SessionManager.currentSession?.isAuthorized == true) { - sessionIdParam = QueryParam("session_id", SessionManager.currentSession!!.sessionId) - } else if (preferences.authorizedSessionId.isNotEmpty()) { - sessionIdParam = QueryParam("session_id", preferences.authorizedSessionId) - } + private inner class V4Interceptor: Interceptor { + override fun intercept(chain: Interceptor.Chain): Response { + val builder = chain.request().newBuilder() + builder.header("Authorization", "Bearer ${BuildConfig.TMDB_Api_v4Key}") + + val locale = Locale.current + val languageCode = "${locale.language}-${locale.region}" + val languageParam = QueryParam("language", languageCode) + + val url = chain.request().url.newBuilder().addQueryParams(languageParam).build() + builder.url(url) + + return chain.proceed(builder.build()) } - return sessionIdParam } } \ No newline at end of file diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/AccountApi.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/AccountApi.kt similarity index 95% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/AccountApi.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/AccountApi.kt index 5a92b85..86b2b5d 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/AccountApi.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/AccountApi.kt @@ -1,6 +1,6 @@ -package com.owenlejeune.tvtime.api.tmdb +package com.owenlejeune.tvtime.api.tmdb.api.v3 -import com.owenlejeune.tvtime.api.tmdb.model.* +import com.owenlejeune.tvtime.api.tmdb.api.v3.model.* import retrofit2.Response import retrofit2.http.* diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/AccountService.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/AccountService.kt similarity index 93% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/AccountService.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/AccountService.kt index f06424d..4e4240e 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/AccountService.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/AccountService.kt @@ -1,6 +1,7 @@ -package com.owenlejeune.tvtime.api.tmdb +package com.owenlejeune.tvtime.api.tmdb.api.v3 -import com.owenlejeune.tvtime.api.tmdb.model.* +import com.owenlejeune.tvtime.api.tmdb.TmdbClient +import com.owenlejeune.tvtime.api.tmdb.api.v3.model.* import retrofit2.Response class AccountService { diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/AuthenticationApi.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/AuthenticationApi.kt similarity index 89% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/AuthenticationApi.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/AuthenticationApi.kt index 0eb14a1..09b766b 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/AuthenticationApi.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/AuthenticationApi.kt @@ -1,6 +1,6 @@ -package com.owenlejeune.tvtime.api.tmdb +package com.owenlejeune.tvtime.api.tmdb.api.v3 -import com.owenlejeune.tvtime.api.tmdb.model.* +import com.owenlejeune.tvtime.api.tmdb.api.v3.model.* import retrofit2.Response import retrofit2.http.Body import retrofit2.http.GET diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/AuthenticationService.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/AuthenticationService.kt similarity index 84% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/AuthenticationService.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/AuthenticationService.kt index aa687e4..dd4f9c6 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/AuthenticationService.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/AuthenticationService.kt @@ -1,6 +1,7 @@ -package com.owenlejeune.tvtime.api.tmdb +package com.owenlejeune.tvtime.api.tmdb.api.v3 -import com.owenlejeune.tvtime.api.tmdb.model.* +import com.owenlejeune.tvtime.api.tmdb.TmdbClient +import com.owenlejeune.tvtime.api.tmdb.api.v3.model.* import retrofit2.Response class AuthenticationService { diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/DetailService.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/DetailService.kt similarity index 86% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/DetailService.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/DetailService.kt index 1a6f8e2..21e9f75 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/DetailService.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/DetailService.kt @@ -1,6 +1,6 @@ -package com.owenlejeune.tvtime.api.tmdb +package com.owenlejeune.tvtime.api.tmdb.api.v3 -import com.owenlejeune.tvtime.api.tmdb.model.* +import com.owenlejeune.tvtime.api.tmdb.api.v3.model.* import retrofit2.Response interface DetailService { diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/GuestSessionApi.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/GuestSessionApi.kt similarity index 66% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/GuestSessionApi.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/GuestSessionApi.kt index dd3f42a..adc89ba 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/GuestSessionApi.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/GuestSessionApi.kt @@ -1,9 +1,9 @@ -package com.owenlejeune.tvtime.api.tmdb +package com.owenlejeune.tvtime.api.tmdb.api.v3 -import com.owenlejeune.tvtime.api.tmdb.model.RatedEpisode -import com.owenlejeune.tvtime.api.tmdb.model.RatedMediaResponse -import com.owenlejeune.tvtime.api.tmdb.model.RatedMovie -import com.owenlejeune.tvtime.api.tmdb.model.RatedTv +import com.owenlejeune.tvtime.api.tmdb.api.v3.model.RatedEpisode +import com.owenlejeune.tvtime.api.tmdb.api.v3.model.RatedMediaResponse +import com.owenlejeune.tvtime.api.tmdb.api.v3.model.RatedMovie +import com.owenlejeune.tvtime.api.tmdb.api.v3.model.RatedTv import retrofit2.Response import retrofit2.http.GET import retrofit2.http.Path diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/GuestSessionService.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/GuestSessionService.kt similarity index 63% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/GuestSessionService.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/GuestSessionService.kt index e619d2a..3771066 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/GuestSessionService.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/GuestSessionService.kt @@ -1,6 +1,10 @@ -package com.owenlejeune.tvtime.api.tmdb +package com.owenlejeune.tvtime.api.tmdb.api.v3 -import com.owenlejeune.tvtime.api.tmdb.model.* +import com.owenlejeune.tvtime.api.tmdb.TmdbClient +import com.owenlejeune.tvtime.api.tmdb.api.v3.model.RatedEpisode +import com.owenlejeune.tvtime.api.tmdb.api.v3.model.RatedMediaResponse +import com.owenlejeune.tvtime.api.tmdb.api.v3.model.RatedMovie +import com.owenlejeune.tvtime.api.tmdb.api.v3.model.RatedTv import retrofit2.Response class GuestSessionService { diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/HomePageService.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/HomePageService.kt similarity index 75% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/HomePageService.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/HomePageService.kt index cb11eec..fb2db45 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/HomePageService.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/HomePageService.kt @@ -1,6 +1,6 @@ -package com.owenlejeune.tvtime.api.tmdb +package com.owenlejeune.tvtime.api.tmdb.api.v3 -import com.owenlejeune.tvtime.api.tmdb.model.HomePageResponse +import com.owenlejeune.tvtime.api.tmdb.api.v3.model.HomePageResponse import retrofit2.Response interface HomePageService { diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/MoviesApi.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/MoviesApi.kt similarity index 95% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/MoviesApi.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/MoviesApi.kt index 57adeda..80f72ef 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/MoviesApi.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/MoviesApi.kt @@ -1,6 +1,6 @@ -package com.owenlejeune.tvtime.api.tmdb +package com.owenlejeune.tvtime.api.tmdb.api.v3 -import com.owenlejeune.tvtime.api.tmdb.model.* +import com.owenlejeune.tvtime.api.tmdb.api.v3.model.* import retrofit2.Response import retrofit2.http.* diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/MoviesService.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/MoviesService.kt similarity index 94% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/MoviesService.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/MoviesService.kt index 9f77df2..b9ec268 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/MoviesService.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/MoviesService.kt @@ -1,6 +1,7 @@ -package com.owenlejeune.tvtime.api.tmdb +package com.owenlejeune.tvtime.api.tmdb.api.v3 -import com.owenlejeune.tvtime.api.tmdb.model.* +import com.owenlejeune.tvtime.api.tmdb.TmdbClient +import com.owenlejeune.tvtime.api.tmdb.api.v3.model.* import com.owenlejeune.tvtime.utils.SessionManager import org.koin.core.component.KoinComponent import retrofit2.Response diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/PeopleApi.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/PeopleApi.kt similarity index 73% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/PeopleApi.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/PeopleApi.kt index 5cfa189..444170e 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/PeopleApi.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/PeopleApi.kt @@ -1,9 +1,9 @@ -package com.owenlejeune.tvtime.api.tmdb +package com.owenlejeune.tvtime.api.tmdb.api.v3 -import com.owenlejeune.tvtime.api.tmdb.model.DetailPerson -import com.owenlejeune.tvtime.api.tmdb.model.HomePagePeopleResponse -import com.owenlejeune.tvtime.api.tmdb.model.PersonCreditsResponse -import com.owenlejeune.tvtime.api.tmdb.model.PersonImageCollection +import com.owenlejeune.tvtime.api.tmdb.api.v3.model.DetailPerson +import com.owenlejeune.tvtime.api.tmdb.api.v3.model.HomePagePeopleResponse +import com.owenlejeune.tvtime.api.tmdb.api.v3.model.PersonCreditsResponse +import com.owenlejeune.tvtime.api.tmdb.api.v3.model.PersonImageCollection import retrofit2.Response import retrofit2.http.GET import retrofit2.http.Path diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/PeopleService.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/PeopleService.kt similarity index 62% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/PeopleService.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/PeopleService.kt index 0983594..35872dc 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/PeopleService.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/PeopleService.kt @@ -1,9 +1,10 @@ -package com.owenlejeune.tvtime.api.tmdb +package com.owenlejeune.tvtime.api.tmdb.api.v3 -import com.owenlejeune.tvtime.api.tmdb.model.DetailPerson -import com.owenlejeune.tvtime.api.tmdb.model.HomePagePeopleResponse -import com.owenlejeune.tvtime.api.tmdb.model.PersonCreditsResponse -import com.owenlejeune.tvtime.api.tmdb.model.PersonImageCollection +import com.owenlejeune.tvtime.api.tmdb.TmdbClient +import com.owenlejeune.tvtime.api.tmdb.api.v3.model.DetailPerson +import com.owenlejeune.tvtime.api.tmdb.api.v3.model.HomePagePeopleResponse +import com.owenlejeune.tvtime.api.tmdb.api.v3.model.PersonCreditsResponse +import com.owenlejeune.tvtime.api.tmdb.api.v3.model.PersonImageCollection import org.koin.core.component.KoinComponent import retrofit2.Response diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/TvApi.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/TvApi.kt similarity index 95% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/TvApi.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/TvApi.kt index 366eddf..f8e0653 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/TvApi.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/TvApi.kt @@ -1,6 +1,6 @@ -package com.owenlejeune.tvtime.api.tmdb +package com.owenlejeune.tvtime.api.tmdb.api.v3 -import com.owenlejeune.tvtime.api.tmdb.model.* +import com.owenlejeune.tvtime.api.tmdb.api.v3.model.* import retrofit2.Response import retrofit2.http.* diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/TvService.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/TvService.kt similarity index 94% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/TvService.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/TvService.kt index 1462971..114b609 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/TvService.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/TvService.kt @@ -1,6 +1,7 @@ -package com.owenlejeune.tvtime.api.tmdb +package com.owenlejeune.tvtime.api.tmdb.api.v3 -import com.owenlejeune.tvtime.api.tmdb.model.* +import com.owenlejeune.tvtime.api.tmdb.TmdbClient +import com.owenlejeune.tvtime.api.tmdb.api.v3.model.* import com.owenlejeune.tvtime.utils.SessionManager import org.koin.core.component.KoinComponent import retrofit2.Response diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/AccountDetails.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/AccountDetails.kt similarity index 94% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/AccountDetails.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/AccountDetails.kt index eb27ede..63abb3b 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/AccountDetails.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/AccountDetails.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/AccountList.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/AccountList.kt similarity index 89% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/AccountList.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/AccountList.kt index ee9c55f..3009ab1 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/AccountList.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/AccountList.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/AccountListResponse.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/AccountListResponse.kt similarity index 85% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/AccountListResponse.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/AccountListResponse.kt index 043e3a2..e9dbb49 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/AccountListResponse.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/AccountListResponse.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/AuthorDetails.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/AuthorDetails.kt similarity index 84% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/AuthorDetails.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/AuthorDetails.kt index 694a076..896185d 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/AuthorDetails.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/AuthorDetails.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/BaseEpisode.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/BaseEpisode.kt similarity index 91% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/BaseEpisode.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/BaseEpisode.kt index d37d7ca..5814c22 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/BaseEpisode.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/BaseEpisode.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/BaseSeason.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/BaseSeason.kt similarity index 89% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/BaseSeason.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/BaseSeason.kt index 22a14df..3695afe 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/BaseSeason.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/BaseSeason.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/CastAndCrew.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/CastAndCrew.kt similarity index 77% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/CastAndCrew.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/CastAndCrew.kt index 0135a79..4c2facb 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/CastAndCrew.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/CastAndCrew.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/CastMember.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/CastMember.kt similarity index 86% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/CastMember.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/CastMember.kt index f449dbc..0086a2e 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/CastMember.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/CastMember.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/Collection.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/Collection.kt similarity index 84% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/Collection.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/Collection.kt index cf31d96..576dfb6 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/Collection.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/Collection.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/CreateSessionResponse.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/CreateSessionResponse.kt similarity index 78% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/CreateSessionResponse.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/CreateSessionResponse.kt index 2249a1a..75dba09 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/CreateSessionResponse.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/CreateSessionResponse.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/CreateTokenResponse.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/CreateTokenResponse.kt similarity index 82% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/CreateTokenResponse.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/CreateTokenResponse.kt index 9af09c7..f278a66 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/CreateTokenResponse.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/CreateTokenResponse.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/CrewMember.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/CrewMember.kt similarity index 86% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/CrewMember.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/CrewMember.kt index 6b2aaae..cfa3920 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/CrewMember.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/CrewMember.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/DeleteSessionResponse.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/DeleteSessionResponse.kt similarity index 71% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/DeleteSessionResponse.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/DeleteSessionResponse.kt index e4fad12..50afa16 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/DeleteSessionResponse.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/DeleteSessionResponse.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/DetailCast.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/DetailCast.kt similarity index 92% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/DetailCast.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/DetailCast.kt index 1e1279c..9d171ee 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/DetailCast.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/DetailCast.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName import com.owenlejeune.tvtime.ui.screens.MediaViewType diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/DetailCrew.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/DetailCrew.kt similarity index 93% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/DetailCrew.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/DetailCrew.kt index f844307..d0a41c7 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/DetailCrew.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/DetailCrew.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName import com.owenlejeune.tvtime.ui.screens.MediaViewType diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/DetailPerson.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/DetailPerson.kt similarity index 90% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/DetailPerson.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/DetailPerson.kt index 2b87a4d..7747a50 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/DetailPerson.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/DetailPerson.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/DetailedItem.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/DetailedItem.kt similarity index 95% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/DetailedItem.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/DetailedItem.kt index 619e574..9f228cd 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/DetailedItem.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/DetailedItem.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/DetailedMovie.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/DetailedMovie.kt similarity index 95% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/DetailedMovie.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/DetailedMovie.kt index c5a2015..cf2b37a 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/DetailedMovie.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/DetailedMovie.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/DetailedTv.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/DetailedTv.kt similarity index 96% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/DetailedTv.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/DetailedTv.kt index b1e9e44..e0da07c 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/DetailedTv.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/DetailedTv.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/FavoriteMedia.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/FavoriteMedia.kt similarity index 94% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/FavoriteMedia.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/FavoriteMedia.kt index 44bb9bb..3ac2cd4 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/FavoriteMedia.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/FavoriteMedia.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/FavoriteMediaResponse.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/FavoriteMediaResponse.kt similarity index 85% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/FavoriteMediaResponse.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/FavoriteMediaResponse.kt index 51ec5b7..557321f 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/FavoriteMediaResponse.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/FavoriteMediaResponse.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/FavoriteMovie.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/FavoriteMovie.kt similarity index 92% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/FavoriteMovie.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/FavoriteMovie.kt index d8a04f6..f50ec05 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/FavoriteMovie.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/FavoriteMovie.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/FavoriteTvSeries.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/FavoriteTvSeries.kt similarity index 91% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/FavoriteTvSeries.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/FavoriteTvSeries.kt index 0d777a1..d98448f 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/FavoriteTvSeries.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/FavoriteTvSeries.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/Genre.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/Genre.kt similarity index 74% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/Genre.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/Genre.kt index ba28fcf..a7d56ad 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/Genre.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/Genre.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/GuestSessionResponse.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/GuestSessionResponse.kt similarity index 82% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/GuestSessionResponse.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/GuestSessionResponse.kt index 7acc199..febd1eb 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/GuestSessionResponse.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/GuestSessionResponse.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/HomePageMovie.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/HomePageMovie.kt similarity index 53% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/HomePageMovie.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/HomePageMovie.kt index f4773dc..bdeb26e 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/HomePageMovie.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/HomePageMovie.kt @@ -1,6 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model - -import com.google.gson.annotations.SerializedName +package com.owenlejeune.tvtime.api.tmdb.api.v3.model class HomePageMovie( id: Int, diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/HomePageMoviesResponse.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/HomePageMoviesResponse.kt similarity index 83% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/HomePageMoviesResponse.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/HomePageMoviesResponse.kt index 356ad02..5669aa4 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/HomePageMoviesResponse.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/HomePageMoviesResponse.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/HomePagePeopleResponse.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/HomePagePeopleResponse.kt similarity index 85% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/HomePagePeopleResponse.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/HomePagePeopleResponse.kt index 599e368..f19a873 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/HomePagePeopleResponse.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/HomePagePeopleResponse.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/HomePagePerson.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/HomePagePerson.kt similarity index 87% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/HomePagePerson.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/HomePagePerson.kt index f0aaf80..dd9bad3 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/HomePagePerson.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/HomePagePerson.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/HomePageResponse.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/HomePageResponse.kt similarity index 84% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/HomePageResponse.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/HomePageResponse.kt index 4e0c50f..8f2801a 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/HomePageResponse.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/HomePageResponse.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/HomePageTv.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/HomePageTv.kt similarity index 53% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/HomePageTv.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/HomePageTv.kt index 98751b2..8b13e89 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/HomePageTv.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/HomePageTv.kt @@ -1,6 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model - -import com.google.gson.annotations.SerializedName +package com.owenlejeune.tvtime.api.tmdb.api.v3.model class HomePageTv( id: Int, diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/HomePageTvResponse.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/HomePageTvResponse.kt similarity index 83% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/HomePageTvResponse.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/HomePageTvResponse.kt index 488dd1b..113b063 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/HomePageTvResponse.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/HomePageTvResponse.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/Image.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/Image.kt similarity index 80% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/Image.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/Image.kt index bf7b9d6..c544c3b 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/Image.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/Image.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/ImageCollection.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/ImageCollection.kt similarity index 78% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/ImageCollection.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/ImageCollection.kt index f811808..037109a 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/ImageCollection.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/ImageCollection.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/Keyword.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/Keyword.kt similarity index 74% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/Keyword.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/Keyword.kt index 117d05d..3d923d0 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/Keyword.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/Keyword.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/KeywordsResponse.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/KeywordsResponse.kt similarity index 76% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/KeywordsResponse.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/KeywordsResponse.kt index e7f84df..82f2fa3 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/KeywordsResponse.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/KeywordsResponse.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/MarkAsFavoriteBody.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/MarkAsFavoriteBody.kt similarity index 51% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/MarkAsFavoriteBody.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/MarkAsFavoriteBody.kt index 30359a6..42b2e3b 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/MarkAsFavoriteBody.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/MarkAsFavoriteBody.kt @@ -1,9 +1,10 @@ -package com.owenlejeune.tvtime.api.tmdb +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName +import com.owenlejeune.tvtime.ui.screens.MediaViewType class MarkAsFavoriteBody( - @SerializedName("media_type") val mediaType: String, // media type + @SerializedName("media_type") val mediaType: MediaViewType, @SerializedName("media_id") val mediaId: Int, @SerializedName("favorite") val isFavorite: Boolean ) diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/MovieReleaseResults.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/MovieReleaseResults.kt similarity index 90% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/MovieReleaseResults.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/MovieReleaseResults.kt index 0195726..f02b440 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/MovieReleaseResults.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/MovieReleaseResults.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/Network.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/Network.kt similarity index 84% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/Network.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/Network.kt index e83315b..689d24a 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/Network.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/Network.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/Person.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/Person.kt similarity index 83% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/Person.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/Person.kt index 7544d2c..6dc6a27 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/Person.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/Person.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/PersonCreditsResponse.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/PersonCreditsResponse.kt similarity index 78% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/PersonCreditsResponse.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/PersonCreditsResponse.kt index ca58427..84695b2 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/PersonCreditsResponse.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/PersonCreditsResponse.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/PersonImage.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/PersonImage.kt similarity index 83% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/PersonImage.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/PersonImage.kt index f719e15..e0c8628 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/PersonImage.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/PersonImage.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/PersonImageCollection.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/PersonImageCollection.kt similarity index 73% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/PersonImageCollection.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/PersonImageCollection.kt index c5e4038..bd5deea 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/PersonImageCollection.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/PersonImageCollection.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/ProductionCompany.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/ProductionCompany.kt similarity index 84% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/ProductionCompany.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/ProductionCompany.kt index 7c6c473..cc548c2 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/ProductionCompany.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/ProductionCompany.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/ProductionCountry.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/ProductionCountry.kt similarity index 77% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/ProductionCountry.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/ProductionCountry.kt index a15d3de..29d6b9c 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/ProductionCountry.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/ProductionCountry.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/RatedEpisode.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/RatedEpisode.kt similarity index 92% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/RatedEpisode.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/RatedEpisode.kt index ff68282..51e11d4 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/RatedEpisode.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/RatedEpisode.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/RatedMedia.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/RatedMedia.kt similarity index 92% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/RatedMedia.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/RatedMedia.kt index 4d8ad4a..0fa7fe6 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/RatedMedia.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/RatedMedia.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/RatedMediaResponse.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/RatedMediaResponse.kt similarity index 85% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/RatedMediaResponse.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/RatedMediaResponse.kt index b3f74e8..96decb4 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/RatedMediaResponse.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/RatedMediaResponse.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/RatedMovie.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/RatedMovie.kt similarity index 92% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/RatedMovie.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/RatedMovie.kt index bda661c..10dd040 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/RatedMovie.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/RatedMovie.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/RatedTopLevelMedia.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/RatedTopLevelMedia.kt similarity index 93% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/RatedTopLevelMedia.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/RatedTopLevelMedia.kt index c334905..6537dc9 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/RatedTopLevelMedia.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/RatedTopLevelMedia.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/RatedTv.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/RatedTv.kt similarity index 92% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/RatedTv.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/RatedTv.kt index 991c5ab..13be6a5 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/RatedTv.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/RatedTv.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/RatingBody.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/RatingBody.kt similarity index 69% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/RatingBody.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/RatingBody.kt index 9ed9199..406eb70 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/RatingBody.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/RatingBody.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/Review.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/Review.kt similarity index 88% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/Review.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/Review.kt index a100d99..b6558e1 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/Review.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/Review.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/ReviewResponse.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/ReviewResponse.kt similarity index 76% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/ReviewResponse.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/ReviewResponse.kt index 53bdcc3..36c710e 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/ReviewResponse.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/ReviewResponse.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/SessionBody.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/SessionBody.kt similarity index 71% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/SessionBody.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/SessionBody.kt index ea52a2f..db260a4 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/SessionBody.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/SessionBody.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/SpokenLanguage.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/SpokenLanguage.kt similarity index 76% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/SpokenLanguage.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/SpokenLanguage.kt index 414aef0..0e690c5 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/SpokenLanguage.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/SpokenLanguage.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/Status.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/Status.kt similarity index 94% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/Status.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/Status.kt index 1c11709..b5edb38 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/Status.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/Status.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName import com.owenlejeune.tvtime.R diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/StatusResponse.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/StatusResponse.kt similarity index 78% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/StatusResponse.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/StatusResponse.kt index 3ad87fb..e70fa4e 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/StatusResponse.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/StatusResponse.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/TmdbItem.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/TmdbItem.kt similarity index 82% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/TmdbItem.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/TmdbItem.kt index a8c80d1..bb5ea12 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/TmdbItem.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/TmdbItem.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/TokenSessionBody.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/TokenSessionBody.kt similarity index 72% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/TokenSessionBody.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/TokenSessionBody.kt index 9eaf41c..aa6eb58 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/TokenSessionBody.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/TokenSessionBody.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/TokenValidationBody.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/TokenValidationBody.kt similarity index 82% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/TokenValidationBody.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/TokenValidationBody.kt index fcda286..1f3ed0b 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/TokenValidationBody.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/TokenValidationBody.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/TvContentRatings.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/TvContentRatings.kt similarity index 85% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/TvContentRatings.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/TvContentRatings.kt index a0b4602..cc69167 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/TvContentRatings.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/TvContentRatings.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/Video.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/Video.kt similarity index 94% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/Video.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/Video.kt index e84fc1c..17c78f8 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/Video.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/Video.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName import com.owenlejeune.tvtime.R diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/VideoResponse.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/VideoResponse.kt similarity index 71% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/VideoResponse.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/VideoResponse.kt index d422f02..268e2d4 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/VideoResponse.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/VideoResponse.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/WatchlistBody.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/WatchlistBody.kt similarity index 51% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/WatchlistBody.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/WatchlistBody.kt index aaf58a3..21d4947 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/WatchlistBody.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/WatchlistBody.kt @@ -1,9 +1,10 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName +import com.owenlejeune.tvtime.ui.screens.MediaViewType class WatchlistBody( - @SerializedName("media_type") val mediaType: String, // media type + @SerializedName("media_type") val mediaType: MediaViewType, @SerializedName("media_id") val mediaId: Int, @SerializedName("watchlist") val onWatchlist: Boolean ) diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/WatchlistMedia.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/WatchlistMedia.kt similarity index 94% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/WatchlistMedia.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/WatchlistMedia.kt index e0e9f3c..4e8961c 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/WatchlistMedia.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/WatchlistMedia.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/WatchlistMovie.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/WatchlistMovie.kt similarity index 92% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/WatchlistMovie.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/WatchlistMovie.kt index 926b3eb..b21d6b6 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/WatchlistMovie.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/WatchlistMovie.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/WatchlistResponse.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/WatchlistResponse.kt similarity index 85% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/WatchlistResponse.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/WatchlistResponse.kt index 53e75f8..0ed71c6 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/WatchlistResponse.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/WatchlistResponse.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/WatchlistTvSeries.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/WatchlistTvSeries.kt similarity index 91% rename from app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/WatchlistTvSeries.kt rename to app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/WatchlistTvSeries.kt index 1974b37..1c36f15 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/model/WatchlistTvSeries.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v3/model/WatchlistTvSeries.kt @@ -1,4 +1,4 @@ -package com.owenlejeune.tvtime.api.tmdb.model +package com.owenlejeune.tvtime.api.tmdb.api.v3.model import com.google.gson.annotations.SerializedName diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/AuthenticationV4Api.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/AuthenticationV4Api.kt new file mode 100644 index 0000000..f485615 --- /dev/null +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/AuthenticationV4Api.kt @@ -0,0 +1,20 @@ +package com.owenlejeune.tvtime.api.tmdb.api.v4 + +import com.owenlejeune.tvtime.api.tmdb.api.v3.model.StatusResponse +import com.owenlejeune.tvtime.api.tmdb.api.v4.model.* +import retrofit2.Response +import retrofit2.http.DELETE +import retrofit2.http.POST + +interface AuthenticationV4Api { + + @POST("auth/request_token") + suspend fun createRequestToken(body: AuthRequestBody): Response + + @POST("auth/access_token") + suspend fun createAccessToken(body: AuthAccessBody): Response + + @DELETE("auth/access_token") + suspend fun deleteAccessToken(body: AuthDeleteBody): Response + +} \ No newline at end of file diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/AuthenticationV4Service.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/AuthenticationV4Service.kt new file mode 100644 index 0000000..2fac221 --- /dev/null +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/AuthenticationV4Service.kt @@ -0,0 +1,24 @@ +package com.owenlejeune.tvtime.api.tmdb.api.v4 + +import com.owenlejeune.tvtime.api.tmdb.TmdbClient +import com.owenlejeune.tvtime.api.tmdb.api.v3.model.StatusResponse +import com.owenlejeune.tvtime.api.tmdb.api.v4.model.* +import retrofit2.Response + +class AuthenticationV4Service { + + private val service by lazy { TmdbClient().createV4AuthenticationService() } + + suspend fun createRequestToken(body: AuthRequestBody): Response { + return service.createRequestToken(body) + } + + suspend fun createAccessToken(body: AuthAccessBody): Response { + return service.createAccessToken(body) + } + + suspend fun deleteAccessToken(body: AuthDeleteBody): Response { + return service.deleteAccessToken(body) + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/ListV4Api.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/ListV4Api.kt new file mode 100644 index 0000000..01b6064 --- /dev/null +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/ListV4Api.kt @@ -0,0 +1,40 @@ +package com.owenlejeune.tvtime.api.tmdb.api.v4 + +import com.owenlejeune.tvtime.api.tmdb.api.v4.model.* +import retrofit2.Response +import retrofit2.http.* + +interface ListV4Api { + + @GET("list/{id}") + suspend fun getLists( + @Path("id") listId: Int, + @Query("api_key") apiKey: String, + @Query("page") page: Int = 1 + ): Response + + @POST("list") + suspend fun createList(body: CreateListBody): Response + + @PUT("list/{id}") + suspend fun updateList(@Path("id") listId: Int, body: ListUpdateBody): Response + + @GET("list/{id}/clear") + suspend fun clearList(@Path("id") listId: Int): Response + + @DELETE("list/{id}") + suspend fun deleteList(@Path("id") listId: Int): Response + + @POST("list/{id}/items") + suspend fun addItemsToList(@Path("id") listId: Int, body: AddToListBody): Response + + @PUT("list/{id}/items") + suspend fun updateListItems(@Path("id") listId: Int, body: UpdateListItemBody): Response + + @DELETE("list/{id}/items") + suspend fun deleteListItems(@Path("id") listId: Int, body: DeleteListItemsBody): Response + + @GET("list/{id}/item_status") + suspend fun getListItemStatus(@Path("id") listId: Int, @Query("media_id") mediaId: Int, @Query("media_type") mediaType: String) + +} \ No newline at end of file diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/deserializer/ListItemDeserializer.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/deserializer/ListItemDeserializer.kt new file mode 100644 index 0000000..f7eac33 --- /dev/null +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/deserializer/ListItemDeserializer.kt @@ -0,0 +1,35 @@ +package com.owenlejeune.tvtime.api.tmdb.api.v4.deserializer + +import com.google.gson.* +import com.owenlejeune.tvtime.api.tmdb.api.v4.model.ListItem +import com.owenlejeune.tvtime.api.tmdb.api.v4.model.ListMovie +import com.owenlejeune.tvtime.api.tmdb.api.v4.model.ListTv +import com.owenlejeune.tvtime.ui.screens.MediaViewType +import java.lang.reflect.Type + +class ListItemDeserializer: JsonDeserializer { + + companion object { + const val MEDIA_TYPE = "media_type" + } + + override fun deserialize( + json: JsonElement?, + typeOfT: Type?, + context: JsonDeserializationContext? + ): ListItem? { + if (json?.isJsonObject == true) { + val obj = json.asJsonObject + if (obj.has(MEDIA_TYPE)) { + val typeStr = obj.get(MEDIA_TYPE).asString + return when (Gson().fromJson(typeStr, MediaViewType::class.java)) { + MediaViewType.MOVIE -> Gson().fromJson(obj.toString(), ListMovie::class.java) + MediaViewType.TV -> Gson().fromJson(obj.toString(), ListTv::class.java) + else -> throw JsonParseException("Not a valid MediaViewType: $typeStr") + } + } + throw JsonParseException("JSON object has no property $MEDIA_TYPE") + } + throw JsonParseException("Not a JSON object") + } +} \ No newline at end of file diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/AccessResponse.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/AccessResponse.kt new file mode 100644 index 0000000..2232746 --- /dev/null +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/AccessResponse.kt @@ -0,0 +1,11 @@ +package com.owenlejeune.tvtime.api.tmdb.api.v4.model + +import com.google.gson.annotations.SerializedName + +class AccessResponse( + @SerializedName("status_message") val statusMessage: String, + @SerializedName("access_token") val accessToken: String, + @SerializedName("success") val success: Boolean, + @SerializedName("status_code") val statusCode: Int, + @SerializedName("account_id") val accountId: String +) diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/AddToListBodyItem.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/AddToListBodyItem.kt new file mode 100644 index 0000000..9844173 --- /dev/null +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/AddToListBodyItem.kt @@ -0,0 +1,13 @@ +package com.owenlejeune.tvtime.api.tmdb.api.v4.model + +import com.google.gson.annotations.SerializedName +import com.owenlejeune.tvtime.ui.screens.MediaViewType + +class AddToListBody( + @SerializedName("items") val items: List +) + +class AddToListBodyItem( + @SerializedName("media_type") val mediaType: MediaViewType, + @SerializedName("media_id") val id: Int +) diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/AddToListResponse.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/AddToListResponse.kt new file mode 100644 index 0000000..912512e --- /dev/null +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/AddToListResponse.kt @@ -0,0 +1,10 @@ +package com.owenlejeune.tvtime.api.tmdb.api.v4.model + +import com.google.gson.annotations.SerializedName + +class AddToListResponse( + @SerializedName("status_message") val statusMessage: String, + @SerializedName("success") val isSuccess: Boolean, + @SerializedName("status_code") val statusCode: Int, + @SerializedName("results") val results: List +) diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/AuthAccessBody.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/AuthAccessBody.kt new file mode 100644 index 0000000..4023013 --- /dev/null +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/AuthAccessBody.kt @@ -0,0 +1,7 @@ +package com.owenlejeune.tvtime.api.tmdb.api.v4.model + +import com.google.gson.annotations.SerializedName + +class AuthAccessBody( + @SerializedName("request_token") val requestToken: String +) diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/AuthDeleteBody.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/AuthDeleteBody.kt new file mode 100644 index 0000000..6af99ca --- /dev/null +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/AuthDeleteBody.kt @@ -0,0 +1,7 @@ +package com.owenlejeune.tvtime.api.tmdb.api.v4.model + +import com.google.gson.annotations.SerializedName + +class AuthDeleteBody( + @SerializedName("access_token") val accessToken: String +) diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/AuthRequestBody.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/AuthRequestBody.kt new file mode 100644 index 0000000..48fc285 --- /dev/null +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/AuthRequestBody.kt @@ -0,0 +1,7 @@ +package com.owenlejeune.tvtime.api.tmdb.api.v4.model + +import com.google.gson.annotations.SerializedName + +class AuthRequestBody( + @SerializedName("redirect_to") val redirect: String +) diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/AuthResponse.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/AuthResponse.kt new file mode 100644 index 0000000..0de0b71 --- /dev/null +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/AuthResponse.kt @@ -0,0 +1,10 @@ +package com.owenlejeune.tvtime.api.tmdb.api.v4.model + +import com.google.gson.annotations.SerializedName + +class AuthResponse( + @SerializedName("status_message") val statusMessage: String, + @SerializedName("request_token") val requestToken: String, + @SerializedName("success") val success: Boolean, + @SerializedName("status_code") val statusCode: Int +) diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/ClearListResponse.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/ClearListResponse.kt new file mode 100644 index 0000000..3598544 --- /dev/null +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/ClearListResponse.kt @@ -0,0 +1,11 @@ +package com.owenlejeune.tvtime.api.tmdb.api.v4.model + +import com.google.gson.annotations.SerializedName + +class ClearListResponse( + @SerializedName("items_deleted") val deletedItemsCount: Int, + @SerializedName("status_message") val statusMessage: String, + @SerializedName("id") val id: Int, + @SerializedName("status_code") val statusCode: Int, + @SerializedName("success") val isSuccess: Boolean +) diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/CreateListBody.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/CreateListBody.kt new file mode 100644 index 0000000..af8df0f --- /dev/null +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/CreateListBody.kt @@ -0,0 +1,11 @@ +package com.owenlejeune.tvtime.api.tmdb.api.v4.model + +import com.google.gson.annotations.SerializedName + +class CreateListBody( + @SerializedName("name") val name: String, + @SerializedName("iso_639_1") val language: String, + @SerializedName("description") val description: String, + @SerializedName("public") val isPublic: Boolean, + @SerializedName("iso_3166_1") val localeCode: String +) diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/CreateListResponse.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/CreateListResponse.kt new file mode 100644 index 0000000..3598247 --- /dev/null +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/CreateListResponse.kt @@ -0,0 +1,10 @@ +package com.owenlejeune.tvtime.api.tmdb.api.v4.model + +import com.google.gson.annotations.SerializedName + +class CreateListResponse( + @SerializedName("status_message") val statusMessage: String, + @SerializedName("id") val id: Int, + @SerializedName("success") val isSuccess: Boolean, + @SerializedName("status_code") val statusCode: Int +) \ No newline at end of file diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/DeleteListItemsBody.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/DeleteListItemsBody.kt new file mode 100644 index 0000000..cc0707f --- /dev/null +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/DeleteListItemsBody.kt @@ -0,0 +1,9 @@ +package com.owenlejeune.tvtime.api.tmdb.api.v4.model + +import com.google.gson.annotations.SerializedName +import com.owenlejeune.tvtime.ui.screens.MediaViewType + +class DeleteListItemsBody( + @SerializedName("media_id") val id: Int, + @SerializedName("media_type") val mediaType: MediaViewType +) diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/ListAuthor.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/ListAuthor.kt new file mode 100644 index 0000000..d24c20a --- /dev/null +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/ListAuthor.kt @@ -0,0 +1,9 @@ +package com.owenlejeune.tvtime.api.tmdb.api.v4.model + +import com.google.gson.annotations.SerializedName + +class ListAuthor( + @SerializedName("gravatar_hash") val gravatarHash: String, + @SerializedName("name") val name: String, + @SerializedName("username") val username: String +) \ No newline at end of file diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/ListItem.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/ListItem.kt new file mode 100644 index 0000000..fb31713 --- /dev/null +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/ListItem.kt @@ -0,0 +1,20 @@ +package com.owenlejeune.tvtime.api.tmdb.api.v4.model + +import com.google.gson.annotations.SerializedName +import com.owenlejeune.tvtime.ui.screens.MediaViewType + +abstract class ListItem( + @SerializedName("backdrop_path") val backdropPath: String?, + @SerializedName("release_date", alternate = ["first_air_date"]) val releaseDate: String, + @SerializedName("genre_ids") val genreIds: List, + @SerializedName("id") val id: Int, + @SerializedName("media_type") val mediaType: MediaViewType, + @SerializedName("title", alternate = ["name"]) val title: String, + @SerializedName("original_language") val originalLanguage: String, + @SerializedName("original_title", alternate = ["original_name"]) val originalTitle: String, + @SerializedName("overview") val overview: String, + @SerializedName("popularity") val popularity: Float, + @SerializedName("poster_path") val posterPath: String?, + @SerializedName("vote_average") val voteAverage: Float, + @SerializedName("vote_count") val voteCount: Int +) diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/ListMovie.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/ListMovie.kt new file mode 100644 index 0000000..e6fa6e8 --- /dev/null +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/ListMovie.kt @@ -0,0 +1,36 @@ +package com.owenlejeune.tvtime.api.tmdb.api.v4.model + +import com.google.gson.annotations.SerializedName +import com.owenlejeune.tvtime.ui.screens.MediaViewType + +class ListMovie( + backdropPath: String?, + releaseDate: String, + genreIds: List, + id: Int, + mediaType: MediaViewType, + title: String, + originalLanguage: String, + originalTitle: String, + overview: String, + popularity: Float, + posterPath: String?, + voteAverage: Float, + voteCount: Int, + @SerializedName("adult") val isAdult: Boolean, + @SerializedName("video") val isVideo: Boolean +): ListItem( + backdropPath, + releaseDate, + genreIds, + id, + mediaType, + title, + originalLanguage, + originalTitle, + overview, + popularity, + posterPath, + voteAverage, + voteCount +) \ No newline at end of file diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/ListTv.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/ListTv.kt new file mode 100644 index 0000000..c267e68 --- /dev/null +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/ListTv.kt @@ -0,0 +1,35 @@ +package com.owenlejeune.tvtime.api.tmdb.api.v4.model + +import com.google.gson.annotations.SerializedName +import com.owenlejeune.tvtime.ui.screens.MediaViewType + +class ListTv( + backdropPath: String?, + releaseDate: String, + genreIds: List, + id: Int, + mediaType: MediaViewType, + title: String, + originalLanguage: String, + originalTitle: String, + overview: String, + popularity: Float, + posterPath: String?, + voteAverage: Float, + voteCount: Int, + @SerializedName("origin_country") val originCountries: List +): ListItem( + backdropPath, + releaseDate, + genreIds, + id, + mediaType, + title, + originalLanguage, + originalTitle, + overview, + popularity, + posterPath, + voteAverage, + voteCount +) \ No newline at end of file diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/ListUpdateBody.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/ListUpdateBody.kt new file mode 100644 index 0000000..a11bf20 --- /dev/null +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/ListUpdateBody.kt @@ -0,0 +1,10 @@ +package com.owenlejeune.tvtime.api.tmdb.api.v4.model + +import com.google.gson.annotations.SerializedName + +class ListUpdateBody( + @SerializedName("description") val description: String?, + @SerializedName("name") val name: String?, + @SerializedName("public") val isPublic: Boolean? +// @SerializedName("sort_by") +) diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/MediaList.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/MediaList.kt new file mode 100644 index 0000000..efcef17 --- /dev/null +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/MediaList.kt @@ -0,0 +1,20 @@ +package com.owenlejeune.tvtime.api.tmdb.api.v4.model + +import com.google.gson.annotations.SerializedName + +class MediaList( + @SerializedName("poster_path") val posterPath: String?, + @SerializedName("id") val id: Int, + @SerializedName("backdrop_path") val backdropPath: String?, + @SerializedName("total_results") val totalResults: Int, + @SerializedName("public") val isPublic: Int, + @SerializedName("results") val results: List, + @SerializedName("iso_639_1") val language: String, + @SerializedName("total_pages") val totalPages: Int, + @SerializedName("description") val description: String, + @SerializedName("created_by") val createdBy: ListAuthor, + @SerializedName("iso_3166_1") val localeCode: String, + @SerializedName("average_rating") val averageRating: Float, + @SerializedName("runtime") val runtime: Int, + @SerializedName("name") val name: String +) \ No newline at end of file diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/StatusResponse.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/StatusResponse.kt new file mode 100644 index 0000000..e31966e --- /dev/null +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/StatusResponse.kt @@ -0,0 +1,9 @@ +package com.owenlejeune.tvtime.api.tmdb.api.v4.model + +import com.google.gson.annotations.SerializedName + +class StatusResponse( + @SerializedName("status_message") val statusMessage: String, + @SerializedName("success") val isSuccess: Boolean, + @SerializedName("status_code") val statusCode: Int +) diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/UpdateListItemBody.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/UpdateListItemBody.kt new file mode 100644 index 0000000..b751210 --- /dev/null +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/api/v4/model/UpdateListItemBody.kt @@ -0,0 +1,14 @@ +package com.owenlejeune.tvtime.api.tmdb.api.v4.model + +import com.google.gson.annotations.SerializedName +import com.owenlejeune.tvtime.ui.screens.MediaViewType + +class UpdateListItemBody( + @SerializedName("items") val items: List +) + +class UpdateListItemBodyItem( + @SerializedName("media_type") val mediaType: MediaViewType, + @SerializedName("media_id") val id: Int, + @SerializedName("comment") val comment: String +) diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/paging/PopularMovieSource.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/paging/PopularMovieSource.kt index a86d160..b166b72 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/paging/PopularMovieSource.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/paging/PopularMovieSource.kt @@ -3,7 +3,7 @@ //import androidx.paging.PagingSource //import androidx.paging.PagingState //import com.owenlejeune.tvtime.api.tmdb.TmdbClient -//import com.owenlejeune.tvtime.api.tmdb.model.PopularMovie +//import com.owenlejeune.tvtime.api.tmdb.api.v3.model.PopularMovie //import retrofit2.HttpException //import java.io.IOException // diff --git a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/viewmodel/PopularMovieViewModel.kt b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/viewmodel/PopularMovieViewModel.kt index fffac41..3779f22 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/viewmodel/PopularMovieViewModel.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/api/tmdb/viewmodel/PopularMovieViewModel.kt @@ -6,7 +6,7 @@ //import androidx.paging.PagingConfig //import androidx.paging.PagingData //import androidx.paging.cachedIn -//import com.owenlejeune.tvtime.api.tmdb.model.PopularMovie +//import com.owenlejeune.tvtime.api.tmdb.api.v3.model.PopularMovie //import com.owenlejeune.tvtime.api.tmdb.paging.PopularMovieSource //import kotlinx.coroutines.flow.Flow // diff --git a/app/src/main/java/com/owenlejeune/tvtime/di/modules/modules.kt b/app/src/main/java/com/owenlejeune/tvtime/di/modules/modules.kt index 00306db..99a0aad 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/di/modules/modules.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/di/modules/modules.kt @@ -1,15 +1,22 @@ package com.owenlejeune.tvtime.di.modules +import com.google.gson.JsonDeserializer import com.owenlejeune.tvtime.BuildConfig import com.owenlejeune.tvtime.api.* +import com.owenlejeune.tvtime.api.tmdb.api.v4.deserializer.ListItemDeserializer +import com.owenlejeune.tvtime.api.tmdb.api.v4.model.ListItem import com.owenlejeune.tvtime.preferences.AppPreferences import com.owenlejeune.tvtime.utils.ResourceUtils import org.koin.dsl.module +import java.lang.reflect.Type +import kotlin.reflect.KClass val networkModule = module { single { if (BuildConfig.DEBUG) DebugHttpClient() else ProdHttpClient() } single { GsonConverter() } single { (baseUrl: String) -> Client(baseUrl) } + + single, JsonDeserializer<*>>> { mapOf(ListItem::class.java to ListItemDeserializer()) } } val preferencesModule = module { diff --git a/app/src/main/java/com/owenlejeune/tvtime/extensions/InterceptorExtensions.kt b/app/src/main/java/com/owenlejeune/tvtime/extensions/InterceptorExtensions.kt index efe5afd..1a683d6 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/extensions/InterceptorExtensions.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/extensions/InterceptorExtensions.kt @@ -1,23 +1,32 @@ package com.owenlejeune.tvtime.extensions import com.owenlejeune.tvtime.api.QueryParam -import okhttp3.Interceptor +import okhttp3.HttpUrl import okhttp3.Request -fun Interceptor.Chain.addQueryParams(vararg queryParams: QueryParam?): Request { - val original = request() - val originalHttpUrl = original.url +// +//fun Interceptor.Chain.addQueryParams(vararg queryParams: QueryParam?): Request { +// val original = request() +// val originalHttpUrl = original.url +// +// val urlBuilder = originalHttpUrl.newBuilder() +// queryParams.forEach { param -> +// if (param != null) { +// urlBuilder.addQueryParameter(param.key, param.param) +// } +// } +// val url = urlBuilder.build() +// +// val requestBuilder = original.newBuilder() +// .url(url) +// +// return requestBuilder.build() +//} - val urlBuilder = originalHttpUrl.newBuilder() - queryParams.forEach { param -> - if (param != null) { - urlBuilder.addQueryParameter(param.key, param.param) +fun HttpUrl.Builder.addQueryParams(vararg queryParams: QueryParam?): HttpUrl.Builder { + return apply { + queryParams.forEach { param -> + param?.let { addQueryParameter(param.key, param.param) } } } - val url = urlBuilder.build() - - val requestBuilder = original.newBuilder() - .url(url) - - return requestBuilder.build() } \ No newline at end of file diff --git a/app/src/main/java/com/owenlejeune/tvtime/ui/components/Posters.kt b/app/src/main/java/com/owenlejeune/tvtime/ui/components/Posters.kt index bab5d22..6f9eae0 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/ui/components/Posters.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/ui/components/Posters.kt @@ -27,10 +27,10 @@ import com.google.accompanist.pager.ExperimentalPagerApi import com.google.accompanist.pager.HorizontalPager import com.google.accompanist.pager.rememberPagerState import com.owenlejeune.tvtime.R -import com.owenlejeune.tvtime.api.tmdb.model.HomePagePerson -import com.owenlejeune.tvtime.api.tmdb.model.ImageCollection -import com.owenlejeune.tvtime.api.tmdb.model.Person -import com.owenlejeune.tvtime.api.tmdb.model.TmdbItem +import com.owenlejeune.tvtime.api.tmdb.api.v3.model.HomePagePerson +import com.owenlejeune.tvtime.api.tmdb.api.v3.model.ImageCollection +import com.owenlejeune.tvtime.api.tmdb.api.v3.model.Person +import com.owenlejeune.tvtime.api.tmdb.api.v3.model.TmdbItem import com.owenlejeune.tvtime.extensions.dpToPx import com.owenlejeune.tvtime.extensions.listItems import com.owenlejeune.tvtime.utils.TmdbUtils diff --git a/app/src/main/java/com/owenlejeune/tvtime/ui/components/Widgets.kt b/app/src/main/java/com/owenlejeune/tvtime/ui/components/Widgets.kt index 04c2781..29a4beb 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/ui/components/Widgets.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/ui/components/Widgets.kt @@ -18,7 +18,6 @@ import androidx.compose.foundation.text.KeyboardActions import androidx.compose.foundation.text.KeyboardOptions import androidx.compose.material.Card import androidx.compose.material.OutlinedTextField -import androidx.compose.material.TextFieldColors import androidx.compose.material.TextFieldDefaults import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Error @@ -39,7 +38,6 @@ import androidx.compose.ui.focus.onFocusEvent import androidx.compose.ui.geometry.CornerRadius import androidx.compose.ui.geometry.Offset import androidx.compose.ui.graphics.* -import androidx.compose.ui.graphics.painter.BrushPainter import androidx.compose.ui.graphics.painter.Painter import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.input.pointer.pointerInput @@ -47,10 +45,8 @@ import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.res.painterResource -import androidx.compose.ui.text.SpanStyle import androidx.compose.ui.text.TextLayoutResult import androidx.compose.ui.text.TextStyle -import androidx.compose.ui.text.buildAnnotatedString import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.text.font.FontStyle import androidx.compose.ui.text.font.FontWeight @@ -70,7 +66,7 @@ import coil.compose.rememberImagePainter import coil.transform.CircleCropTransformation import com.google.accompanist.flowlayout.FlowRow import com.owenlejeune.tvtime.R -import com.owenlejeune.tvtime.api.tmdb.model.AuthorDetails +import com.owenlejeune.tvtime.api.tmdb.api.v3.model.AuthorDetails import com.owenlejeune.tvtime.ui.theme.RatingSelected import com.owenlejeune.tvtime.utils.TmdbUtils import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.YouTubePlayer diff --git a/app/src/main/java/com/owenlejeune/tvtime/ui/navigation/AccountTabNavItem.kt b/app/src/main/java/com/owenlejeune/tvtime/ui/navigation/AccountTabNavItem.kt index 0db3c2c..8e55f17 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/ui/navigation/AccountTabNavItem.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/ui/navigation/AccountTabNavItem.kt @@ -3,7 +3,7 @@ package com.owenlejeune.tvtime.ui.navigation import androidx.compose.runtime.Composable import androidx.navigation.NavHostController import com.owenlejeune.tvtime.R -import com.owenlejeune.tvtime.api.tmdb.model.* +import com.owenlejeune.tvtime.api.tmdb.api.v3.model.* import com.owenlejeune.tvtime.ui.screens.MediaViewType import com.owenlejeune.tvtime.ui.screens.tabs.bottom.AccountTabContent import com.owenlejeune.tvtime.utils.ResourceUtils diff --git a/app/src/main/java/com/owenlejeune/tvtime/ui/navigation/MediaTabNavItem.kt b/app/src/main/java/com/owenlejeune/tvtime/ui/navigation/MediaTabNavItem.kt index 5b9530f..0d9a23d 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/ui/navigation/MediaTabNavItem.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/ui/navigation/MediaTabNavItem.kt @@ -3,8 +3,8 @@ package com.owenlejeune.tvtime.ui.navigation import androidx.compose.runtime.Composable import androidx.navigation.NavHostController import com.owenlejeune.tvtime.R -import com.owenlejeune.tvtime.api.tmdb.HomePageService -import com.owenlejeune.tvtime.api.tmdb.model.HomePageResponse +import com.owenlejeune.tvtime.api.tmdb.api.v3.HomePageService +import com.owenlejeune.tvtime.api.tmdb.api.v3.model.HomePageResponse import com.owenlejeune.tvtime.ui.screens.MediaViewType import com.owenlejeune.tvtime.ui.screens.tabs.bottom.MediaTabContent import com.owenlejeune.tvtime.utils.ResourceUtils diff --git a/app/src/main/java/com/owenlejeune/tvtime/ui/screens/MediaDetailView.kt b/app/src/main/java/com/owenlejeune/tvtime/ui/screens/MediaDetailView.kt index d653fd0..c5d7243 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/ui/screens/MediaDetailView.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/ui/screens/MediaDetailView.kt @@ -26,10 +26,10 @@ import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.navigation.NavController import com.owenlejeune.tvtime.R -import com.owenlejeune.tvtime.api.tmdb.DetailService -import com.owenlejeune.tvtime.api.tmdb.MoviesService -import com.owenlejeune.tvtime.api.tmdb.TvService -import com.owenlejeune.tvtime.api.tmdb.model.* +import com.owenlejeune.tvtime.api.tmdb.api.v3.DetailService +import com.owenlejeune.tvtime.api.tmdb.api.v3.MoviesService +import com.owenlejeune.tvtime.api.tmdb.api.v3.TvService +import com.owenlejeune.tvtime.api.tmdb.api.v3.model.* import com.owenlejeune.tvtime.extensions.listItems import com.owenlejeune.tvtime.ui.components.* import com.owenlejeune.tvtime.ui.navigation.MainNavItem @@ -259,7 +259,7 @@ private fun RateButton( val showSessionDialog = remember { mutableStateOf(false) } CircleBackgroundColorImage( - modifier = Modifier.clickable( + modifier = modifier.clickable( onClick = { if (SessionManager.currentSession != null) { showRatingDialog.value = true diff --git a/app/src/main/java/com/owenlejeune/tvtime/ui/screens/PeopleDetailView.kt b/app/src/main/java/com/owenlejeune/tvtime/ui/screens/PeopleDetailView.kt index 0852e9f..411e6eb 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/ui/screens/PeopleDetailView.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/ui/screens/PeopleDetailView.kt @@ -17,9 +17,9 @@ import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.navigation.NavController import com.owenlejeune.tvtime.R -import com.owenlejeune.tvtime.api.tmdb.PeopleService -import com.owenlejeune.tvtime.api.tmdb.model.DetailPerson -import com.owenlejeune.tvtime.api.tmdb.model.PersonCreditsResponse +import com.owenlejeune.tvtime.api.tmdb.api.v3.PeopleService +import com.owenlejeune.tvtime.api.tmdb.api.v3.model.DetailPerson +import com.owenlejeune.tvtime.api.tmdb.api.v3.model.PersonCreditsResponse import com.owenlejeune.tvtime.ui.components.ContentCard import com.owenlejeune.tvtime.ui.components.ExpandableContentCard import com.owenlejeune.tvtime.ui.components.TwoLineImageTextCard diff --git a/app/src/main/java/com/owenlejeune/tvtime/ui/screens/tabs/bottom/AccountTab.kt b/app/src/main/java/com/owenlejeune/tvtime/ui/screens/tabs/bottom/AccountTab.kt index c83081b..f785ef1 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/ui/screens/tabs/bottom/AccountTab.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/ui/screens/tabs/bottom/AccountTab.kt @@ -24,15 +24,12 @@ import androidx.compose.ui.unit.sp import androidx.navigation.NavHostController import coil.compose.AsyncImage import coil.compose.rememberImagePainter -import coil.request.ImageRequest -import coil.request.ImageResult -import coil.transform.CircleCropTransformation import com.google.accompanist.pager.ExperimentalPagerApi import com.google.accompanist.pager.HorizontalPager import com.google.accompanist.pager.PagerState import com.google.accompanist.pager.rememberPagerState import com.owenlejeune.tvtime.R -import com.owenlejeune.tvtime.api.tmdb.model.* +import com.owenlejeune.tvtime.api.tmdb.api.v3.model.* import com.owenlejeune.tvtime.ui.components.* import com.owenlejeune.tvtime.ui.navigation.AccountTabNavItem import com.owenlejeune.tvtime.ui.navigation.ListFetchFun diff --git a/app/src/main/java/com/owenlejeune/tvtime/ui/screens/tabs/bottom/MediaTab.kt b/app/src/main/java/com/owenlejeune/tvtime/ui/screens/tabs/bottom/MediaTab.kt index afbbe83..141ab0b 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/ui/screens/tabs/bottom/MediaTab.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/ui/screens/tabs/bottom/MediaTab.kt @@ -9,15 +9,14 @@ import com.google.accompanist.pager.ExperimentalPagerApi import com.google.accompanist.pager.HorizontalPager import com.google.accompanist.pager.PagerState import com.google.accompanist.pager.rememberPagerState -import com.owenlejeune.tvtime.api.tmdb.HomePageService -import com.owenlejeune.tvtime.api.tmdb.MoviesService -import com.owenlejeune.tvtime.api.tmdb.TvService +import com.owenlejeune.tvtime.api.tmdb.api.v3.HomePageService +import com.owenlejeune.tvtime.api.tmdb.api.v3.MoviesService +import com.owenlejeune.tvtime.api.tmdb.api.v3.TvService import com.owenlejeune.tvtime.ui.components.PosterGrid import com.owenlejeune.tvtime.ui.navigation.MainNavItem import com.owenlejeune.tvtime.ui.navigation.MediaFetchFun import com.owenlejeune.tvtime.ui.navigation.MediaTabNavItem import com.owenlejeune.tvtime.ui.screens.MediaViewType -import com.owenlejeune.tvtime.ui.screens.tabs.top.ScrollableTabs import com.owenlejeune.tvtime.ui.screens.tabs.top.Tabs import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers diff --git a/app/src/main/java/com/owenlejeune/tvtime/ui/screens/tabs/bottom/PeopleTab.kt b/app/src/main/java/com/owenlejeune/tvtime/ui/screens/tabs/bottom/PeopleTab.kt index 2f537e9..014b0ff 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/ui/screens/tabs/bottom/PeopleTab.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/ui/screens/tabs/bottom/PeopleTab.kt @@ -11,7 +11,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.navigation.NavHostController import com.owenlejeune.tvtime.R -import com.owenlejeune.tvtime.api.tmdb.PeopleService +import com.owenlejeune.tvtime.api.tmdb.api.v3.PeopleService import com.owenlejeune.tvtime.ui.components.PeoplePosterGrid import com.owenlejeune.tvtime.ui.navigation.MainNavItem import com.owenlejeune.tvtime.ui.screens.MediaViewType diff --git a/app/src/main/java/com/owenlejeune/tvtime/utils/SessionManager.kt b/app/src/main/java/com/owenlejeune/tvtime/utils/SessionManager.kt index 836504f..c2772bb 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/utils/SessionManager.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/utils/SessionManager.kt @@ -1,10 +1,10 @@ package com.owenlejeune.tvtime.utils -import com.owenlejeune.tvtime.api.tmdb.AccountService -import com.owenlejeune.tvtime.api.tmdb.AuthenticationService -import com.owenlejeune.tvtime.api.tmdb.GuestSessionService +import com.owenlejeune.tvtime.api.tmdb.api.v3.AccountService +import com.owenlejeune.tvtime.api.tmdb.api.v3.AuthenticationService +import com.owenlejeune.tvtime.api.tmdb.api.v3.GuestSessionService import com.owenlejeune.tvtime.api.tmdb.TmdbClient -import com.owenlejeune.tvtime.api.tmdb.model.* +import com.owenlejeune.tvtime.api.tmdb.api.v3.model.* import com.owenlejeune.tvtime.preferences.AppPreferences import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers diff --git a/app/src/main/java/com/owenlejeune/tvtime/utils/TmdbUtils.kt b/app/src/main/java/com/owenlejeune/tvtime/utils/TmdbUtils.kt index aaf62ce..cc90c9a 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/utils/TmdbUtils.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/utils/TmdbUtils.kt @@ -1,7 +1,7 @@ package com.owenlejeune.tvtime.utils import androidx.compose.ui.text.intl.Locale -import com.owenlejeune.tvtime.api.tmdb.model.* +import com.owenlejeune.tvtime.api.tmdb.api.v3.model.* import java.text.SimpleDateFormat object TmdbUtils {