package Ġcom . dl ut rix . the mo view ik ic omp ose . data . source . network . movie detail Ċ Ċ import Ġcom . dl ut rix . the mo view ik ic omp ose . data . model . Movie Detail Ċ import Ġcom . dl ut rix . the mo view ik ic omp ose . data . source . network . TM DB ApiService Ċ import Ġcom . dl ut rix . the mo view ik ic omp ose . util . Resource Ċ import Ġretrofit 2 . HttpException Ċ import Ġjava . io . IOException Ċ Ċ class ĠMovie Detail Repository ( ĊĠĠĠ Ġprivate Ġval Ġapi : ĠTM DB ApiService Ċ ) Ġ{ ĊĊĠĠĠ Ġsuspend Ġfun Ġget Movie Detail ( movie Id : ĠInt ): ĠResource < Movie Detail > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġapi . get Movie Detail ( movie Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( response . is Successful ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResource . Success ( response . body ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResource . Error ( null , ĠThrowable (" Failed Ġto Ġfetch Ġdata Ġfrom Ġserver ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠResource . Error ( null , ĠThrowable (" Unexpected Ġerror ")) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠHttp Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠResource . Error ( null , ĠThrowable (" No Ġconnection ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }