package Ġmod ul on . extensions . li ved ata Ċ Ċ import Ġandroidx . lifecycle . Lifecycle Owner Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Observer Ċ Ċ // fun Ġ< T > ĠLive Data < T >. observe Once ( lifecycle Owner : ĠLifecycle Owner , Ġobserver : ĠObserver < T >) Ġ{ Ċ // ĠĠĠ Ġobserve ( lifecycle Owner , Ġobject Ġ: ĠObserver < T > Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonChanged ( t : ĠT ?) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġobserver . on Changed ( t ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġremove Observer ( this ) Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠ Ġ}) Ċ //} Ċ // Ċ // fun Ġ< T > ĠLive Data < T >. observe Once ( lifecycle Owner : ĠLifecycle Owner , Ġunit : Ġ( T ) Ġ-> ĠUnit ) Ġ{ Ċ // ĠĠĠ Ġval Ġobserver : ĠObserver < T > Ġ= ĠObserver Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġunit . invoke ( it ) Ċ // ĠĠĠ Ġ} Ċ // ĠĠĠ Ġobserve Once ( lifecycle Owner , Ġobserver ) Ċ //} Ċ Ċ // ĠTODO : Ġ 2 0 2 2 / 2 / 1 5 Ġremove Ċ fun Ġ< T > ĠLive Data < out ĠT ?> . observe NonNull ( lifecycle Owner : ĠLifecycle Owner , Ġunit : Ġ( T ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġobserve ( lifecycle Owner , ĠObserver < T ?> Ġ{ Ġif Ġ( it Ġ!= Ġnull ) Ġunit . invoke ( it ) Ġ}) Ċ } ĊĊ