package Ġcom . d roid feed . data Ċ Ċ import Ġandroid . arch . lifecycle . LiveData Ċ import Ġandroid . arch . lifecycle . Mediator LiveData Ċ import Ġandroid . support . annotation . MainThread Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠDog an ĠG ul can Ġon Ġ 9 / 2 2 / 1 7 . Ċ Ġ*/ Ċ abstract Ġclass ĠLocal Bound Resource < Result Type > Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġresult Ġ= ĠMed iator LiveData < Resource < Result Type ? >>() ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġresult . value Ġ= ĠResource . loading ( null ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdb Source Ġ= Ġload From Db () ĊĊĠĠĠĠĠĠĠ Ġresult . add Source ( db Source , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ ĠnewData Ġ-> Ġresult . setValue ( Resource . success ( new Data )) Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠ Ġfun Ġas LiveData (): ĠLive Data < Resource < Result Type >> Ġ= Ġresult Ġas ĠLive Data < Resource < Result Type >> ĊĊĠĠĠ Ġ@ MainThread ĊĠĠĠ Ġprotected Ġabstract Ġfun Ġload From Db (): ĠLive Data < Result Type > Ċ Ċ } ĊĊĊ