package Ġcom . destruct o . s ush i . ui . user . profile . anime list Ċ Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġcom . destruct o . s ush i . model . j ikan . user . anime List . Profile User An ime List Ċ import Ġcom . destruct o . s ush i . network . J ikan Api Ċ import Ġcom . destruct o . s ush i . network . Resource Ċ import Ġcom . destruct o . s ush i . room . Profile An ime List Dao Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠProfile User An ime Repository Ċ @ Inject Ċ constructor ( ĊĠĠĠ Ġval Ġj ikan Api : ĠJ ikan Api , ĊĠĠĠ Ġprivate Ġval Ġprofile An ime List Dao : ĠProfile An ime List Dao , Ċ ) Ġ{ ĊĊĠĠĠ Ġvar Ġuser An ime List : ĠMutable LiveData < Resource < Profile User An ime List >> Ġ= ĊĠĠĠĠĠĠĠ ĠMutable LiveData () ĊĊĠĠĠ Ġvar Ġnext An ime Page Ġ= Ġ 1 ĊĊĠĠĠ Ġsuspend Ġfun ĠgetUser An ime List ( userName : ĠString , Ġstatus : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġuser An ime List . value Ġ= ĠResource . loading ( null ) ĊĠĠĠĠĠĠĠ Ġval ĠgetUser M anga Deferred Ġ= Ġj ikan Api . getUser An ime List Async ( userName , Ġstatus , Ġnext An ime Page ) ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= ĠgetUser M anga Deferred . await () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuser An ime List . value Ġ= ĠResource . success ( response ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! response . anime . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprofile An ime List Dao . insert An ime List ( response . anime ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnext An ime Page ++ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuser An ime List . value Ġ= ĠResource . error ( e . message Ġ?: Ġ"", Ġnull ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }