package Ġcom . ghost wan . sample . ge of encing . ui . maps Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . location . Location Ċ import Ġandroid . net . Uri Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . provider . Settings Ċ import Ġandroid . util . Log Ċ import Ġandroid . view .* Ċ import Ġandroid . widget . Number Picker Ċ import Ġandroidx . appcompat . app . AlertDialog Ċ import Ġandroidx . appcompat . view . Context Theme Wrapper Ċ import Ġcom . ghost wan . sample . ge of encing . Location Permission Compat Ċ import Ġcom . ghost wan . sample . ge of encing . R Ċ import Ġcom . ghost wan . sample . ge of encing . data . Home Manager Ċ import Ġcom . ghost wan . sample . ge of encing . ui . Base Contract Ċ import Ġcom . ghost wan . sample . ge of encing . ui . Base Fragment Ċ import Ġcom . ghost wan . sample . ge of encing . utils . else Null Ċ import Ġcom . ghost wan . sample . ge of encing . utils . get Google Map Ċ import Ġcom . ghost wan . sample . ge of encing . utils . if NotNull Ċ import Ġcom . google . android . gms . location . Ge of encing Request . INITIAL _ TRIGGER _ ENTER Ċ import Ġcom . google . android . gms . location . Ge of encing Request . INITIAL _ TRIGGER _ EXIT Ċ import Ġcom . google . android . gms . location . Location Services Ċ import Ġcom . google . android . gms . maps . Camera Update Factory Ċ import Ġcom . google . android . gms . maps . Google Map Ċ import Ġcom . google . android . gms . maps . Support Map Fragment Ċ import Ġcom . google . android . gms . maps . model .* Ċ import Ġcom . google . android . material . sn ackbar . Snackbar Ċ import Ġkotlinx . coroutines . launch Ċ import Ġkotlinx . coroutines . tasks . await Ċ import Ġorg . k oin . android . ext . android . inject Ċ import Ġkotlin . reflect . K Mutable Property 0 ĊĊ Ċ class ĠMap Fragment Ġ: ĠBase Fragment (), ĠMap Contract . View Ġ{ ĊĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠEX TRA _ LAT IT UDE Ġ= Ġ" EXTRA _ LAT IT UDE " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠEX TRA _ LONG IT UDE Ġ= Ġ" EXTRA _ LONG IT UDE " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġmap Fragment Ġby Ġlazy Ġ{ Ġchild FragmentManager . find Fragment ById ( R . id . map ) Ġas ĠSupport Map Fragment Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġhome Manager Ġby Ġinject < Home Manager >() ĊĊĠĠĠ Ġvar Ġcurrent Home Marker : ĠPair < Marker , ĠCircle >? Ġ= Ġnull ĊĠĠĠ Ġvar Ġcurrent Tmp Marker : ĠPair < Marker , ĠCircle >? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġval Ġpresenter Ġby Ġinject < Map Contract . Presenter >() ĊĠĠĠ Ġprivate Ġvar Ġgoogle Map : ĠGoogle Map ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġroot : ĠView ĊĊĠĠĠ Ġprivate Ġval Ġctx : ĠContext Ġby Ġlazy Ġ{ Ġrequire Context () Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Presenter (): ĠBase Contract . Base Presenter Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġpresenter ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( p 0 : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( p 0 ) ĊĠĠĠĠĠĠĠ Ġset Has Options Menu ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġroot Ġ= Ġinflater . inflate ( R . layout . fragment _ map , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn Ġroot ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu , Ġinflater : ĠMenu Inflater ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinflater . inflate ( R . menu . menu _ map , Ġmenu ) ĊĠĠĠĠĠĠĠ Ġmenu . find Item ( R . id . action _ validate _ tmp ). isVisible Ġ= Ġcurrent Tmp Marker Ġ!= Ġnull ĊĠĠĠĠĠĠĠ Ġmenu . find Item ( R . id . action _ clear _ tmp ). isVisible Ġ= Ġcurrent Tmp Marker Ġ!= Ġnull ĊĠĠĠĠĠĠĠ Ġmenu . find Item ( R . id . action _ clear _ current ). isVisible Ġ= Ġcurrent Home Marker Ġ!= Ġnull ĊĊĠĠĠĠĠĠĠ Ġlaunch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactivity ?. title Ġ= Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Home Marker Ġ== Ġnull Ġ-> ĠgetString ( R . string . select _ home _ location ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter . is Home () Ġ-> ĠgetString ( R . string . i _ am _ home ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠgetString ( R . string . i _ left _ home ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsuper . onCreate Options Menu ( menu , Ġinflater ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action _ validate _ tmp Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter . save Home Position () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action _ clear _ tmp Ġ-> Ġpresenter . clear Tmp Position () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action _ clear _ current Ġ-> Ġpresenter . clear Saved Position () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action _ set _ radius Ġ-> Ġpresenter . ask Radius () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action _ set _ ge of encing _ initial Ġ-> Ġpresenter . ask Initial Trigger () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġreturn Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Attach ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Attach ( context ) ĊĠĠĠĠĠĠĠ Ġpresenter . attach View ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Detach () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Detach () ĊĠĠĠĠĠĠĠ Ġpresenter . detach View ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġcheck And Ask Permissions (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġ Ġcontext ?. let Ġ{ ĠLocation Permission Compat . is Background Location Granted ( it ) Ġ} Ġ?: Ġfalse ĊĠĠĠĠĠĠĠ ĠLog . d (" Sample ", Ġ" result Ġis Ġ$ result ") ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdisplay Marker ( ĊĠĠĠĠĠĠĠ Ġlat Lng : ĠLat Lng , ĊĠĠĠĠĠĠĠ Ġradius : ĠDouble , ĊĠĠĠĠĠĠĠ Ġtext : ĠInt , ĊĠĠĠĠĠĠĠ Ġicon : ĠInt , ĊĠĠĠĠĠĠĠ Ġfill Color : ĠInt , ĊĠĠĠĠĠĠĠ Ġstroke Color : ĠInt , ĊĠĠĠĠĠĠĠ Ġpair : ĠK Mutable Property 0 < out ĠPair < Marker , ĠCircle > ?> ĊĠĠĠ Ġ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġmarker Ġ= Ġgoogle Map ?. add Marker ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMarker Options () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. position ( lat Lng ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. icon ( Bitmap Descriptor Factory . from Resource ( icon )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. title ( getString ( text )) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġcircle Ġ= Ġgoogle Map ?. add Circle ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCircle Options () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Color ( ctx . getColor ( fill Color )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. stroke Color ( ctx . getColor ( stroke Color )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. stroke Width ( 3 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. center ( lat Lng ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. radius ( radius ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( circle Ġ!= Ġnull Ġ&& Ġmarker Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpair . get ()?. first ?. remove () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpair . get ()?. second ?. remove () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpair . setter . call ( Pair ( marker , Ġcircle )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate ActionBar () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdisplay Home Marker ( lat Lng : ĠLat Lng , Ġradius : ĠDouble ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlaunch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisplay Marker ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlat Lng , Ġradius , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . current _ saved _ position , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . drawable . home , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( presenter . is Home ()) ĠR . color . home Primary Ġelse ĠR . color . left Primary , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( presenter . is Home ()) ĠR . color . home Primary Dark Ġelse ĠR . color . left Primary Dark , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ:: current Home Marker ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdisplay Tmp Marker ( lat Lng : ĠLat Lng , Ġradius : ĠDouble ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdisplay Marker ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlat Lng , Ġradius , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . home _ position _ question , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . drawable . home _ tmp , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . color . tmp Primary , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . color . tmp Primary Dark , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ:: current Tmp Marker ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġclear Position ( pair : ĠK Mutable Property 0 < out ĠPair < Marker , ĠCircle > ?> ) Ġ{ ĊĠĠĠĠĠĠĠ Ġpair . get ()?. first ?. remove () ĊĠĠĠĠĠĠĠ Ġpair . get ()?. second ?. remove () ĊĠĠĠĠĠĠĠ Ġpair . setter . call ( null ) ĊĠĠĠĠĠĠĠ Ġupdate ActionBar () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġclear Tmp Position () Ġ{ ĊĠĠĠĠĠĠĠ Ġclear Position (:: current Tmp Marker ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġclear Home Position () Ġ{ ĊĠĠĠĠĠĠĠ Ġhome Manager . delete Home () ĊĠĠĠĠĠĠĠ Ġclear Position (:: current Home Marker ) ĊĠĠĠĠĠĠĠ Ġmessage ( R . string . ge of encing _ added _ removed ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġmove Camera ( lat Lng : ĠLat Lng ) Ġ{ ĊĠĠĠĠĠĠĠ Ġgoogle Map ?. move Camera ( Camera Update Factory . new LatLng ( lat Lng )) ĊĠĠĠĠĠĠĠ Ġgoogle Map ?. animate Camera ( Camera Update Factory . new LatLng Zoom ( lat Lng , Ġ 1 8 . 0 f )) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Suppress Lint (" Missing Permission ") ĊĠĠĠ Ġoverride Ġsuspend Ġfun ĠgetLast Location (): ĠLocation ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠLocation Services . getF used Location Provider Client ( ctx ). last Location . await () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress Lint (" Missing Permission ") ĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġprepare Map ( has Permission : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġgoogle Map Ġ= Ġmap Fragment . get Google Map () ĊĠĠĠĠĠĠĠ Ġif Ġ( has Permission ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgoogle Map ?. is My Location Enabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgoogle Map ?. ui Settings ?. is My Location Button Enabled Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgoogle Map ?. is My Location Enabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgoogle Map ?. ui Settings ?. is My Location Button Enabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġgoogle Map ?. setOn Map ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter . set Temporary Marker ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġmessage ( ĊĠĠĠĠĠĠĠ Ġres Message : ĠInt , ĊĠĠĠĠĠĠĠ Ġduration : ĠInt Ġ= ĠSn ackbar . LENGTH _ LONG , ĊĠĠĠĠĠĠĠ Ġerror : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġres Action : ĠInt ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġaction : Ġ(() Ġ-> ĠUnit )? Ġ= Ġnull ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmessage Ġ= Ġerror ?. if NotNull Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ getString ( res Message )} Ġ: Ġ$ error " ĊĠĠĠĠĠĠĠ Ġ} Ġ?: Ġelse Null Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠgetString ( res Message ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġsn ack Ġ= ĠSn ackbar . make ( root , Ġmessage , Ġduration ) ĊĠĠĠĠĠĠĠ Ġres Action ?. if NotNull Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsn ack . setAction ( res Action ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaction ?. invoke () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsn ack . show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdisplay Permission Ref used () Ġ{ ĊĠĠĠĠĠĠĠ Ġmessage ( R . string . permission _ den ied , Ġres Action Ġ= ĠR . string . fix ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAlertDialog ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. Builder ( Context Theme Wrapper ( ctx , ĠR . style . App Theme _ No ActionBar )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMessage ( R . string . enable _ permission ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Positive Button ( R . string . yes ) Ġ{ Ġ_, Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( Settings . ACTION _ APPLICATION _ DETAILS _ SETTINGS ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . add Flags ( Intent . FLAG _ ACTIVITY _ NEW _ TASK ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuri Ġ= ĠUri . from Parts (" package ", Ġactivity ?. packageName , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . data Ġ= Ġuri ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate ActionBar () Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity ?. invalidate Options Menu () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġregister Ge of encing () Ġ{ ĊĠĠĠĠĠĠĠ Ġhome Manager . force Ge of encing Registration () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdisplay Number Picker ( initial Value : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnumber Picker Ġ= ĠNumber Picker ( require Context ()) ĊĠĠĠĠĠĠĠ Ġnumber Picker . max Value Ġ= Ġ 3 0 0 ĊĠĠĠĠĠĠĠ Ġnumber Picker . min Value Ġ= Ġ 5 ĊĠĠĠĠĠĠĠ Ġnumber Picker . value Ġ= Ġinitial Value ĊĊĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠAlertDialog . Builder ( require Context ()) ĊĠĠĠĠĠĠĠ Ġbuilder . setView ( number Picker ) ĊĠĠĠĠĠĠĠ Ġbuilder . setTitle ( R . string . changing _ radius _ title ) ĊĠĠĠĠĠĠĠ Ġbuilder . setMessage ( R . string . changing _ radius _ message ) ĊĠĠĠĠĠĠĠ Ġbuilder . set Positive Button ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" OK " ĊĠĠĠĠĠĠĠ Ġ) Ġ{ Ġdialog , Ġwhich Ġ-> Ġpresenter . set Radius ( number Picker . value ) Ġ} ĊĠĠĠĠĠĠĠ Ġbuilder . set Negative Button ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" CANCEL " ĊĠĠĠĠĠĠĠ Ġ) Ġ{ Ġdialog , Ġwhich Ġ-> Ġdialog . dismiss () Ġ} ĊĠĠĠĠĠĠĠ Ġbuilder . create (). show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdisplay Initial Trigger Chooser ( current Trigger : ĠInt ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġmessage : ĠString Ġ= Ġ"${ getString ( R . string . changing _ initial _ trigger _ message )}. Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ getString ( R . string . changing _ initial _ trigger _ current )} Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( current Trigger Ġ== ĠINITIAL _ TRIGGER _ ENTER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ getString ( R . string . initial _ trigger _ enter )} Ġ" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ getString ( R . string . initial _ trigger _ exit )} Ġ" ĊĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠAlertDialog . Builder ( require Context ()) ĊĠĠĠĠĠĠĠ Ġbuilder . setTitle ( R . string . changing _ initial _ trigger _ title ) ĊĠĠĠĠĠĠĠ Ġbuilder . setMessage ( message ) ĊĠĠĠĠĠĠĠ Ġbuilder . set Positive Button ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . initial _ trigger _ enter ĊĠĠĠĠĠĠĠ Ġ) Ġ{ Ġdialog , Ġwhich Ġ-> Ġpresenter . setInitial Trigger ( INITIAL _ TRIGGER _ ENTER ) Ġ} ĊĠĠĠĠĠĠĠ Ġbuilder . set Negative Button ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . initial _ trigger _ exit ĊĠĠĠĠĠĠĠ Ġ) Ġ{ Ġdialog , Ġwhich Ġ-> Ġpresenter . setInitial Trigger ( INITIAL _ TRIGGER _ EXIT ) Ġ} ĊĠĠĠĠĠĠĠ Ġbuilder . create (). show () ĊĠĠĠ Ġ} Ċ Ċ } Ċ