package Ġcom . ul vi jab bar li . pr on ote . util Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . app . AlertDialog Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . View Ċ import Ġandroid . view . input method . Input Method Manager Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . lifecycle . Lifecycle Owner Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġcom . google . android . material . sn ackbar . Snackbar Ċ import Ġcom . ul vi jab bar li . pr on ote . R ĊĊ Ċ fun ĠFragment . hide Keyboard () Ġ{ ĊĠĠĠ Ġview ?. let Ġ{ Ġactivity ?. hide Keyboard ( it ) Ġ} Ċ } Ċ Ċ fun ĠActivity . hide Keyboard () Ġ{ ĊĠĠĠ Ġhide Keyboard ( current Focus Ġ?: ĠView ( this )) Ċ } Ċ Ċ fun ĠContext . hide Keyboard ( view : ĠView ) Ġ{ ĊĠĠĠ Ġval Ġinput Method Manager Ġ= Ġget System Service ( Activity . INPUT _ METHOD _ SERVICE ) Ġas ĠInput Method Manager ĊĠĠĠ Ġinput Method Manager . hide Soft Input From Window ( view . window Token , Ġ 0 ) Ċ } ĊĊ Ċ /** Ċ Ġ* ĠTrans forms Ġstatic Ġjava Ġfunction ĠSn ackbar . make () Ġto Ġan Ġextension Ġfunction Ġon ĠView . Ċ Ġ*/ Ċ fun ĠView . show Snackbar ( sn ackbar Text : ĠString , Ġtime Length : ĠInt ) Ġ{ ĊĠĠĠ ĠSn ackbar . make ( this , Ġsn ackbar Text , Ġtime Length ). show () Ċ } ĊĊ Ċ fun ĠView . show Alert ( ĊĠĠĠ Ġtitle : ĠString , ĊĠĠĠ Ġmessage : ĠString , ĊĠĠĠ Ġyes Callback : Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull , ĊĠĠĠ Ġno Callback : Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull Ċ ) Ġ{ ĊĠĠĠ ĠAlertDialog . Builder ( context ) ĊĠĠĠĠĠĠĠ Ġ. setTitle ( title ) ĊĠĠĠĠĠĠĠ Ġ. setMessage ( message ) ĊĠĠĠĠĠĠĠ Ġ. set Positive Button ( context . getString ( R . string . action _ yes )) Ġ{ Ġdialog , Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġyes Callback ?. invoke () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ. set Negative Button ( context . getString ( R . string . action _ no )) Ġ{ Ġdialog , Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog . dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġno Callback ?. invoke () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ. show () Ċ } Ċ Ċ /** Ċ Ġ* ĠT riggers Ġa Ġsn ackbar Ġmessage Ġwhen Ġthe Ġvalue Ġcontained Ġby Ġsn ackbar Task Message Live Event Ġis Ġmodified . Ċ Ġ*/ Ċ fun ĠView . setup Snackbar ( ĊĠĠĠ Ġlifecycle Owner : ĠLifecycle Owner , ĊĠĠĠ Ġsn ackbar Event : ĠLive Data < Event < Int >>, ĊĠĠĠ Ġtime Length : ĠInt Ċ ) Ġ{ ĊĊĠĠĠ Ġsn ackbar Event . observe ( lifecycle Owner , ĠObserver Ġ{ Ġevent Ġ-> ĊĠĠĠĠĠĠĠ Ġevent . getContent IfNot Handled ()?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Snackbar ( context . getString ( it ), Ġtime Length ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}) Ċ }