package Ġdiv yan sh . tech . anime class room . home . source Ċ Ċ import Ġdiv yan sh . tech . anime class room . common . utils . Result Wrapper Ċ import Ġdiv yan sh . tech . anime class room . common . utils . Parser . parse Gen res An ime Json Ċ import Ġdiv yan sh . tech . anime class room . common . utils . Parser . parse Pop ular An ime Json Ċ import Ġdiv yan sh . tech . anime class room . common . utils . Parser . parse Recent Release Json Ċ import Ġokhttp 3 . ResponseBody Ċ import Ġretrofit 2 . Ret rofit Ċ import Ġretrofit 2 . http . GET Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠHome Remote Repo Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġretrofit : ĠRet rofit Ċ ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġhome Screen Api Ġ= Ġretrofit . create ( Home Screen Api :: class . java ) ĊĊĠĠĠ Ġ/* ĊĠĠĠ Ġ* ĠFetch Ġpopular Ġan imes Ġrem otely ĊĠĠĠ Ġ* Ġ@ return ĠResult Wrapper < *> ĊĠĠĠ Ġ* Ġ*/ ĊĠĠĠ Ġsuspend Ġfun Ġget Pop ular An imes (): ĠResult Wrapper < *> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġparse Pop ular An ime Json ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhome Screen Api . fetch Home Screen Data (). string () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( response Ġis ĠResult Wrapper . Success ) ĠResult Wrapper . Success ( response . data ) ĊĠĠĠĠĠĠĠ Ġelse ĠResult Wrapper . Error ( message Ġ= Ġ" No ĠBody ĠTo Ġparse ", Ġdata Ġ= Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/* ĊĠĠĠ Ġ* ĠFetch Ġthe Ġrecent Ġreleases ĊĠĠĠ Ġ* Ġ@ returns ĠResult Wrapper < *> ĊĠĠĠ Ġ* Ġ*/ ĊĠĠĠ Ġsuspend Ġfun Ġget Recent Releases (): ĠResult Wrapper < *> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġparse Recent Release Json ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhome Screen Api . fetch Home Screen Data (). string () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( response Ġis ĠResult Wrapper . Success ) ĠResult Wrapper . Success ( response . data ) ĊĠĠĠĠĠĠĠ Ġelse ĠResult Wrapper . Error ( message Ġ= Ġ" No ĠBody ĠTo Ġparse ", Ġdata Ġ= Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/* ĊĠĠĠ Ġ* ĠFetch Ġthe Ġpopular Ġmovies ĊĠĠĠ Ġ* Ġ@ returns ĠResult Wrapper < *> ĊĠĠĠ Ġ* Ġ*/ ĊĠĠĠ Ġsuspend Ġfun Ġget Pop ular Movies (): ĠResult Wrapper < *> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġparse Pop ular An ime Json ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhome Screen Api . fetch Pop ular Movies (). string () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( response Ġis ĠResult Wrapper . Success ) ĠResult Wrapper . Success ( response . data ) ĊĠĠĠĠĠĠĠ Ġelse ĠResult Wrapper . Error ( message Ġ= Ġ" No ĠBody Ġto ĠParse ", Ġdata Ġ= Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/* ĊĠĠĠ Ġ* ĠFetch Ġthe Ġnew Ġse asons ĊĠĠĠ Ġ* Ġ@ returns ĠResult Wrapper < *> ĊĠĠĠ Ġ* Ġ*/ ĊĠĠĠ Ġsuspend Ġfun Ġget New Se asons (): ĠResult Wrapper < *> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġparse Pop ular An ime Json ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhome Screen Api . fetch New Se asons (). string () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( response Ġis ĠResult Wrapper . Success ) ĠResult Wrapper . Success ( response . data ) ĊĠĠĠĠĠĠĠ Ġelse ĠResult Wrapper . Error ( message Ġ= Ġ" No ĠBody Ġto ĠParse ", Ġdata Ġ= Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/* ĊĠĠĠ Ġ* ĠFetch Ġthe Ġgen res ĊĠĠĠ Ġ* Ġ@ returns ĠResult Wrapper < *> ĊĠĠĠ Ġ* Ġ*/ ĊĠĠĠ Ġsuspend Ġfun Ġget Gen res (): ĠResult Wrapper < *> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġparse Gen res An ime Json ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhome Screen Api . fetch New Se asons (). string () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( response Ġis ĠResult Wrapper . Success ) ĠResult Wrapper . Success ( response . data ) ĊĠĠĠĠĠĠĠ Ġelse ĠResult Wrapper . Error ( message Ġ= Ġ" No ĠBody Ġto ĠParse ", Ġdata Ġ= Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/* Ċ * ĠInterface Ġfor Ġall Ġthe Ġhome Ġscreen Ċ * Ġ*/ ĊĠĠĠ Ġinterface ĠHome Screen Api Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ/* ĊĠĠĠĠĠĠĠ Ġ* ĠFunction Ġto Ġfetch Ġpopular Ġan imes Ġand Ġrecent Ġreleases ĊĠĠĠĠĠĠĠ Ġ* Ġ*/ ĊĠĠĠĠĠĠĠ Ġ@ GET ("/ popular . html ") ĊĠĠĠĠĠĠĠ Ġsuspend Ġfun Ġfetch Home Screen Data (): ĠResponse Body ĊĊĠĠĠĠĠĠĠ Ġ/* ĊĠĠĠĠĠĠĠ Ġ* ĠFunction Ġto Ġfetch Ġpopular Ġmovies ĊĠĠĠĠĠĠĠ Ġ* Ġ*/ ĊĠĠĠĠĠĠĠ Ġ@ GET ("/ anime - movies . html ") ĊĠĠĠĠĠĠĠ Ġsuspend Ġfun Ġfetch Pop ular Movies (): ĠResponse Body ĊĊĠĠĠĠĠĠĠ Ġ/* ĊĠĠĠĠĠĠĠ Ġ* ĠFunction Ġto Ġfetch Ġnew Ġse asons ĊĠĠĠĠĠĠĠ Ġ* Ġ*/ ĊĠĠĠĠĠĠĠ Ġ@ GET ("/ new - season . html ") ĊĠĠĠĠĠĠĠ Ġsuspend Ġfun Ġfetch New Se asons (): ĠResponse Body ĊĊĠĠĠĠĠĠĠ Ġ/* ĊĠĠĠĠĠĠĠ Ġ* ĠFetch Ġgen res ĊĠĠĠĠĠĠĠ Ġ* Ġ*/ ĊĠĠĠĠĠĠĠ Ġ@ GET ("") ĊĠĠĠĠĠĠĠ Ġsuspend Ġfun Ġfetch Gen res (): ĠResponse Body ĊĠĠĠ Ġ} Ċ }