package Ġcom . example . mov ied b . data . repository . impl Ċ Ċ import Ġcom . example . mov ied b . data . local . dao . Movie Dao Ċ import Ġcom . example . mov ied b . data . model . Movie Ċ import Ġcom . example . mov ied b . data . remote . ApiService Ċ import Ġcom . example . mov ied b . data . remote . response . Get Cast And Cre w Response Ċ import Ġcom . example . mov ied b . data . remote . response . Get Movie ListResponse Ċ import Ġcom . example . mov ied b . data . remote . response . Get Tv ListResponse Ċ import Ġcom . example . mov ied b . data . repository . UserRepository Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠUser Repository Impl Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġapi Service : ĠApi Service , ĊĠĠĠ Ġprivate Ġval Ġmovie Dao : ĠMovie Dao Ċ ) Ġ: ĠUser Repository Ġ{ ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġget Movie List ( ĊĠĠĠĠĠĠĠ Ġhash Map : ĠHashMap < String , ĠString > ĊĠĠĠ Ġ): ĠGet Movie ListResponse Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġapi Service . get Discover Movie ( hash Map ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġget Cast And Cre w ( movie Id : ĠString ): ĠGet Cast And Cre w Response Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġapi Service . get Movie Credits ( movie Id ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġget Tv List 3 ( ĊĠĠĠĠĠĠĠ Ġhash Map : ĠHashMap < String , ĠString > ĊĠĠĠ Ġ): ĠGet Tv ListResponse Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġapi Service . get Discover Tv ( hash Map ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġinsert DB ( ĊĠĠĠĠĠĠĠ Ġlist : ĠList < Movie > ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmovie Dao . insert ( list ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġupdate DB ( ĊĠĠĠĠĠĠĠ Ġmovie : ĠMovie ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmovie Dao . update ( movie ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġget Movie List Local (): ĠList < Movie >? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmovie Dao . get Movie List () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġget Movie Local ( id : ĠString ): ĠMovie ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmovie Dao . get Movie ( id ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġinsert Local ( movie : ĠMovie ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmovie Dao . insert ( movie ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġinsert Local ( list : ĠList < Movie >) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmovie Dao . insert ( list ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġupdate Local ( movie : ĠMovie ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmovie Dao . update ( movie ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġdelete Movie Local ( movie : ĠMovie ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmovie Dao . delete Movie ( movie ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġdelete Movie Local ( id : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmovie Dao . delete Movie ( id ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġdelete All Local () Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmovie Dao . delete All () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġget Movie Page Local ( pageSize : ĠInt , Ġpage Index : ĠInt ): ĠList < Movie >? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmovie Dao . get Movie Page ( pageSize , Ġpage Index ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġget Favorite Local ( pageSize : ĠInt , Ġpage Index : ĠInt ): ĠList < Movie >? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmovie Dao . get Favorite ( pageSize Ġ= ĠpageSize , Ġpage Index Ġ= Ġpage Index ) ĊĠĠĠ Ġ} Ċ } Ċ