package Ġcom . d nova es . mar vel movies red uk t . services Ċ Ċ import Ġcom . d nova es . mar vel movies red uk t . models . Movie Ċ import Ġcom . d nova es . mar vel movies red uk t . services . base . Base Api Ċ import Ġcom . d nova es . mar vel movies red uk t . services . base . Saga Base Service Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġretrofit 2 . converter . gson . Gson Converter Factory Ċ Ċ object ĠS aga Service Api Ġ: ĠBase Api () Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġservice URL Ġ= Ġ" https :// private - b 3 4 1 6 7 - rvm ar vel . api ary - mock . com /" ĊĊĠĠĠ Ġoverride Ġval Ġretrofit : ĠRet rofit Ġ= ĠRet rofit . Builder () ĊĠĠĠĠĠĠĠ Ġ. baseUrl ( service URL ) ĊĠĠĠĠĠĠĠ Ġ. add Converter Factory ( Gson Converter Factory . create ()) ĊĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠ Ġprivate Ġval Ġservice Ġ= Ġretrofit . create ( Saga Base Service :: class . java ) ĊĊĠĠĠ Ġfun Ġget Saga ( on Success : Ġ(( List < Movie > ?) Ġ-> ĠUnit ), Ġon Fail : Ġ(( String ) Ġ-> ĠUnit )) Ġ{ ĊĠĠĠĠĠĠĠ Ġservice . getS aga (). enqueue ( handle Response Ġ{ Ġcontent , ĠerrorMessage Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠerrorMessage ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Fail . invoke ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġ?: Ġapply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonSuccess . invoke ( content ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ } Ċ