package Ġcom . sts lex 9 3 . notes . util ites Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . View Ċ import Ġandroid . view . input method . Input Method Manager Ċ import Ġandroidx . core . content . res . Resources Compat Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . fragment . app . Fragment Activity Ċ import Ġandroidx . lifecycle . Lifecycle Owner Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġcom . google . android . material . sn ackbar . Snackbar Ċ import Ġjava . util .* Ċ Ċ fun ĠFragment . get Drawable Icon ( id : ĠInt ) Ġ= ĊĠĠĠ ĠResources Compat . get Drawable ( resources , Ġid , Ġresources . new Theme ()) Ċ Ċ fun ĠFragment Activity . hide Keyboard () Ġ{ ĊĠĠĠ Ġval Ġimm : ĠInput Method Manager Ġ= ĊĠĠĠĠĠĠĠ Ġthis . getSystem Service ( Context . INPUT _ METHOD _ SERVICE ) Ġas ĠInput Method Manager ĊĠĠĠ Ġimm . hide Soft Input From Window ( this . window . decor View . window Token , Ġ 0 ) Ċ } Ċ Ċ fun ĠString . lower Contains ( text : ĠString ) Ġ= ĊĠĠĠ Ġthis . lowercase ( Locale . getDefault ()). contains ( text . lowercase ( Locale . getDefault ())) Ċ Ċ inline Ġfun ĠView . show Sn ackBar ( text : ĠString , Ġtext Action : ĠString , Ġcross inline Ġfunction : Ġ() Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ ĠSn ackbar . make ( this , Ġtext , ĠSn ackbar . LENGTH _ SHORT ). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġanchor View Ġ= Ġthis @ show Sn ackBar ĊĠĠĠĠĠĠĠ Ġset Action ( text Action ) Ġ{ Ġfunction () Ġ} ĊĠĠĠĠĠĠĠ Ġshow () ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġ< T > ĠLive Data < T >. observe Once ( ĊĠĠĠ Ġview Lifecycle Owner : ĠLifecycle Owner , ĊĠĠĠ Ġobserver : ĠObserver < T > Ċ ) Ġ{ ĊĠĠĠ Ġobserve ( view Lifecycle Owner , Ġobject Ġ: ĠObserver < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonChanged ( t : ĠT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( t Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobserver . on Changed ( t ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġremove Observer ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}) Ċ }