package Ġcom . man zo . s lang . extensions Ċ Ċ import Ġandroid . arch . lifecycle . LiveData Ċ import Ġandroid . arch . lifecycle . Mutable LiveData Ċ import Ġandroid . arch . lifecycle . Observer Ċ Ċ /** Ċ Ġ* ĠUse Ġto Ġnotify Ġob servers Ġof ĠLive Data Ġlists Ċ Ġ*/ Ċ fun Ġ< T > ĠMutable LiveData < Mutable List < T >> . add ( item : ĠT ) Ġ{ ĊĠĠĠ Ġvalue Ġ= Ġvalue ?. apply Ġ{ Ġadd ( item ) Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠUse Ġto Ġnotify Ġob servers Ġof ĠLive Data Ġlists Ċ Ġ*/ Ċ fun Ġ< T > ĠMutable LiveData < Mutable List < T >> . replace ( index : ĠInt , Ġitem : ĠT ) Ġ{ ĊĠĠĠ Ġvalue Ġ= Ġvalue ?. apply Ġ{ Ġset ( index , Ġitem ) Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠUse Ġto Ġnotify Ġob servers Ġof ĠLive Data Ġlists Ċ Ġ*/ Ċ fun Ġ< T > ĠMutable LiveData < Mutable List < T >> . remove ( item : ĠT ) Ġ{ ĊĠĠĠ Ġvalue Ġ= Ġvalue ?. apply Ġ{ Ġremove ( item ) Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠUse Ġto Ġnotify Ġob servers Ġof ĠLive Data Ċ Ġ* Ċ Ġ* Ġ Ġ* Ġ!!! This Ġis Ġyour Ġlast Ġresource !!! Ċ Ġ* Ċ Ġ* ĠIf Ġyou Ġare Ġusing Ġthis , Ġsomething Ġcould Ġbe Ġdone Ġbetter ! Ċ Ġ*/ Ċ fun Ġ< T > ĠMutable LiveData < T >. trigger Observation () Ġ{ ĊĠĠĠ Ġvalue Ġ= Ġvalue Ċ } Ċ Ċ /** Ċ Ġ* ĠRemove Ġobserver Ġafter Ġfirst Ġobservation Ċ Ġ*/ Ċ fun Ġ< T > ĠLive Data < T >. observe Once ( on Ob served : Ġ( T ?) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġobserve Fore ver ( object Ġ: ĠObserver < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonChanged ( t : ĠT ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġremove Observer ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Ob served . invoke ( t ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}) Ċ } Ċ Ċ /** Ċ Ġ* Ġ ĠMutable Map Ġget OrDefault ĠString Ġfor ĠApi Ġversion Ġ Ġ< Ġ 2 4 Ċ Ġ*/ Ċ fun ĠMutable Map < String , ĠString >. get OrDefault Value ( key : ĠString , Ġdefault : ĠString ): ĠString ? Ġ{ ĊĠĠĠ Ġif Ġ( this . containsKey ( key )) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis [ key ] ĊĠĠĠ Ġreturn Ġdefault Ċ }