package Ġnet . sub ro h 0 5 0 8 . oton ashi . android app . ui . fragment Ċ Ċ import Ġandroid . app . Dialog Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . lifecycle . ViewModel Providers Ċ import Ġcom . google . android . material . bottom sheet . Bottom Sheet Dialog Fragment Ċ import Ġkotlinx . android . synt hetic . main . dialog _ city _ search _ conditions . view .* Ċ import Ġnet . sub ro h 0 5 0 8 . oton ashi . R Ċ import Ġnet . sub ro h 0 5 0 8 . oton ashi . android app . ui . view model . City ViewModel Ċ Ċ class ĠCity Search Conditions Dialog Ġ: ĠBottom Sheet Dialog Fragment () Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠREQUEST _ CODE Ġ= Ġ 2 2 2 ĊĊĠĠĠĠĠĠĠ Ġoperator Ġfun Ġinvoke ( target : ĠFragment ): ĠCity Search Conditions Dialog Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠCity Search Conditions Dialog (). also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . setTarget Fragment ( target , ĠREQUEST _ CODE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġcity ViewModel : ĠCity ViewModel Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠViewModel Providers . of ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtarget Fragment Ġ?: Ġthrow ĠIllegalStateException () ĊĠĠĠĠĠĠĠ Ġ) [ City ViewModel :: class . java ] ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Dialog ( savedInstanceState : ĠBundle ?): ĠDialog ĊĠĠĠĠĠĠĠ Ġ= Ġsuper . onCreate Dialog ( savedInstanceState ). also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . set ContentView ( bind View ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġbind View (): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĠLayoutInflater . from ( require Context ()). inflate ( R . layout . dialog _ city _ search _ conditions , Ġnull , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġview . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpref ecture Name . setText ( city ViewModel . pref ecture Name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcity Name . setText ( city ViewModel . city Name ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcancel . setOnClickListener Ġ{ Ġcancel () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsearch . setOnClickListener Ġ{ Ġsearch () Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠView . cancel () Ġ{ ĊĠĠĠĠĠĠĠ Ġtarget Fragment ?. on Activity Result ( REQUEST _ CODE , ĠAppCompatActivity . RESULT _ C ANCE LED , Ġnull ) ĊĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠView . search () Ġ{ ĊĠĠĠĠĠĠĠ Ġcity ViewModel . pref ecture Name Ġ= Ġpref ecture Name . text . toString () ĊĠĠĠĠĠĠĠ Ġcity ViewModel . city Name Ġ= Ġcity Name . text . toString () ĊĊĠĠĠĠĠĠĠ Ġtarget Fragment ?. on Activity Result ( REQUEST _ CODE , ĠAppCompatActivity . RESULT _ OK , Ġnull ) ĊĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠ Ġ} Ċ }