package Ġcom . h ugh od . movies . data Ċ Ċ import Ġandroid . os . Parcelable Ċ import Ġcom . google . gson . annotations . SerializedName Ċ import Ġcom . h ugh od . movies . Build Config . BASE _ URL Ċ import Ġio . reactivex . Single Ċ import Ġkotlinx . android . parcel . Parcel ize Ċ import Ġokhttp 3 . Cache Ċ import Ġokhttp 3 . Ok HttpClient Ċ import Ġokhttp 3 . logging . Http Logging Interceptor Ċ import Ġorg . k oin . android . ext . k oin . android Application Ċ import Ġorg . k oin . dsl . module . module Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġretrofit 2 . adapter . rx java 2 . Rx Java 2 Call Adapter Factory Ċ import Ġretrofit 2 . converter . gson . Gson Converter Factory Ċ import Ġretrofit 2 . http . GET Ċ Ċ val Ġdata Module Ġ= Ġmodule Ġ{ ĊĠĠĠ Ġsingle Ġ{ Ġget < Ret rofit >(). create < Api >( Api :: class . java ) Ġ} ĊĊĠĠĠ Ġsingle Ġ{ ĊĠĠĠĠĠĠĠ ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. baseUrl ( BASE _ URL ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Call Adapter Factory ( Rx Java 2 Call Adapter Factory . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. client ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠOk HttpClient . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Interceptor ( Http Logging Interceptor (). setLevel ( Http Logging Interceptor . Level . BODY )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. cache ( Cache ( android Application (). cacheDir , Ġ 1 0 Ġ* Ġ 1 0 2 4 Ġ* Ġ 1 0 2 4 )) // 1 0 mb ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} Ċ } Ċ Ċ interface ĠApi Ġ{ ĊĠĠĠ Ġ@ GET (" tm g mobile pub / articles . json ") ĊĠĠĠ Ġfun Ġfetch Pop ular Movies (): ĠSingle < Movies > Ċ } Ċ Ċ @ Parcel ize Ċ data Ġclass ĠMov ies ( ĊĠĠĠĠĠĠĠ Ġ@ SerializedName (" collection ") Ġval Ġlist : ĠList < Movie > Ġ= ĠlistOf () Ċ ): ĠParcel able Ġ{ ĊĠĠĠ Ġ@ Parcel ize ĊĠĠĠ Ġdata Ġclass ĠMovie ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ SerializedName (" id ") Ġval Ġid : ĠInt Ġ= Ġ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ SerializedName (" headline ") Ġval Ġtitle : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ SerializedName (" website - url ") Ġval Ġwebsite Url : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ SerializedName (" picture - url ") Ġval Ġpicture Url : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ SerializedName (" description ") Ġval Ġdescription : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ SerializedName (" syn opsis ") Ġval Ġsyn opsis : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ SerializedName (" ratings ") Ġval Ġratings : ĠInt Ġ= Ġ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ SerializedName (" actors ") Ġval Ġactors : ĠList < String > Ġ= ĠlistOf (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ SerializedName (" director ") Ġval Ġdirector : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ SerializedName (" release - date ") Ġval Ġrelease Date : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ SerializedName (" duration ") Ġval Ġduration : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ SerializedName (" published - date ") Ġval Ġpublished Date : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ SerializedName (" author ") Ġval Ġauthor : ĠAuthor Ġ= ĠAuthor (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtransition Name : ĠString Ġ= Ġ" image _$ id ") Ġ: ĠParcel able Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Parcel ize ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠAuthor ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ SerializedName (" name ") Ġval Ġname : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ SerializedName (" head shot ") Ġval Ġhead Shot : ĠString Ġ= Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ SerializedName (" twitter ") Ġval Ġtwitter : ĠString Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġ) Ġ: ĠParcel able ĊĠĠĠ Ġ} Ċ } Ċ