@ file : Suppress (" NOTH ING _ TO _ INLINE ", Ġ" unused ") Ċ package Ġb rig it te Ċ Ċ import Ġandroid . view . View Ċ import Ġandroidx . databinding .* Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġ< a Ġhref =" mailto : auc d 2 9 @ gmail . com "> Bur ke ĠCh oi </ a > Ġon Ġ 2 0 1 9 - 0 4 - 2 6 Ġ< p /> Ċ Ġ*/ Ċ Ċ // Ġhttps :// pro android dev . com / the - ug ly - on property changed callback - 6 3 c 7 8 c 7 6 2 3 9 4 Ċ inline Ġfun Ġ< re ified ĠT : ĠObservable > ĠT . observe ( no inline Ġcallback : Ġ( T ) Ġ-> ĠUnit ) Ġ= ĊĠĠĠ Ġadd On PropertyChanged Callback ( ĊĠĠĠĠĠĠĠ Ġobject : ĠObservable . On PropertyChanged Callback () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon PropertyChanged ( observable : ĠObservable , Ġi : ĠInt ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback ( observable Ġas ĠT ) ĊĠĠĠĠĠĠĠ Ġ}) Ċ Ċ inline Ġfun ĠObservable Boolean . toggle () Ġ= Ġset (! get ()) Ċ Ċ inline Ġfun ĠObservable Int . visible () ĠĠ Ġ= Ġset ( View . VISIBLE ) Ċ inline Ġfun ĠObservable Int . invisible () Ġ= Ġset ( View . IN VISIBLE ) Ċ inline Ġfun ĠObservable Int . g one () Ġ= Ġset ( View . GONE ) Ċ inline Ġfun ĠObservable Int . isVisible () Ġ= Ġget () Ġ== ĠView . VISIBLE Ċ inline Ġfun ĠObservable Int . is G one () Ġ= Ġget () Ġ== ĠView . GONE Ċ inline Ġfun ĠObservable Int . isIn visible () Ġ= Ġget () Ġ== ĠView . IN VISIBLE Ċ inline Ġfun ĠObservable Int . visible Toggle () Ġ= Ġset ( if Ġ( get () Ġ== ĠView . VISIBLE ) ĠView . GONE Ġelse ĠView . VISIBLE ) Ċ Ċ inline Ġfun ĠObservable Field < String >. reset () Ġ= Ġset ("") ĊĊ Ċ inline Ġfun ĠObservable Int . notify ( value : ĠInt ) Ġ{ ĊĠĠĠ Ġif Ġ( get () Ġ== Ġvalue ) Ġnotify Change () Ġelse Ġset ( value ) Ċ } Ċ Ċ inline Ġfun ĠObservable Boolean . notify ( value : ĠBoolean ) Ġ{ ĊĠĠĠ Ġif Ġ( get () Ġ== Ġvalue ) Ġnotify Change () Ġelse Ġset ( value ) Ċ } Ċ Ċ inline Ġfun Ġ< T > ĠObservable Field < T >. notify ( value : ĠT ) Ġ{ ĊĠĠĠ Ġif Ġ( get () Ġ== Ġvalue ) Ġnotify Change () Ġelse Ġset ( value ) Ċ }