package Ġcom . example . book task . model . repo Ċ Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġcom . example . book task . model . source . Profile DataSource Ċ import Ġcom . example . book task . model . types . db . Profile Ċ import Ġtim ber . log . Tim ber Ċ Ċ class ĠProfile Repository ( ĊĠĠĠ Ġprivate Ġval Ġtoken : ĠString , ĊĠĠĠ Ġprivate Ġval Ġlocal DataSource : ĠProfile DataSource , ĊĠĠĠ Ġprivate Ġval Ġremote DataSource : ĠProfile DataSource Ċ ) Ġ: ĠRepository < Profile > Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġdata (): ĠLive Data < Result < Profile >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlocal DataSource . observe ( token ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġrefresh () Ġ{ ĊĠĠĠĠĠĠĠ ĠTim ber . w (" Profile Ġrefresh ") ĊĠĠĠĠĠĠĠ Ġval Ġdata Ġ= Ġremote DataSource . get ( token ). get OrThrow () ĊĠĠĠĠĠĠĠ Ġlocal DataSource . save ( token , Ġdata ) ĊĠĠĠ Ġ} Ċ } Ċ