package Ġcom . et ien nel enh art . e iff el . util Ċ Ċ import Ġandroidx . lifecycle . Lifecycle Owner Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Mediator LiveData Ċ import Ġandroidx . lifecycle . Observer Ċ Ċ class ĠNon Null Mediator LiveData < T Ġ: ĠAny > Ġ: ĠMed iator LiveData < T >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠgetValue () Ġ= Ġsuper . getValue () !! ĊĊĠĠĠ Ġfun Ġobserve ( owner : ĠLifecycle Owner , ĠonChanged : Ġ( T ) Ġ-> ĠUnit ) Ġ= Ġobserve ( owner , ĠObserver Ġ{ Ġit ?. let ( on Changed ) Ġ}) Ċ } Ċ Ċ internal Ġfun Ġ< T Ġ: ĠAny > ĠLive Data < T >. non Null (): ĠNon Null Mediator LiveData < T > Ġ{ ĊĠĠĠ Ġreturn ĠNon Null Mediator LiveData < T >(). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġadd Source ( this @ non Null ) Ġ{ Ġif Ġ( it Ġ!= Ġnull ) Ġvalue Ġ= Ġit Ġ} ĊĠĠĠ Ġ} Ċ } Ċ