package Ġcom . jor gel . mar vel . views . generic Views Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . app . AlertDialog Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . graphics . drawable . Color Drawable Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġcom . jor gel . mar vel . R Ċ import Ġkotlinx . android . synt hetic . main . custom _ dialog _ search .* Ċ Ċ class ĠCustom Search Alert View Ġ( ĊĠĠĠ Ġactivity : ĠActivity ?, ĊĠĠĠ Ġprivate Ġval Ġtitle : ĠString ?, ĊĠĠĠ Ġprivate Ġval Ġtext Button Left : ĠString ?, ĊĠĠĠ Ġprivate Ġval Ġtext Button Right : ĠString ?, ĊĠĠĠ Ġprivate Ġval Ġdelegate : ĠCustom Dialog Callback ? Ċ ) Ġ: ĊĠĠĠ ĠAlertDialog ( activity ), ĠView . OnClickListener Ġ{ ĊĠĠĠ Ġinterface ĠCustom Dialog Callback Ġ{ ĊĠĠĠĠĠĠĠ Ġfun ĠonClick Cancel Button () ĊĠĠĠĠĠĠĠ Ġfun ĠonClick Search Button ( string Search : ĠString ?) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . show () ĊĠĠĠĠĠĠĠ Ġset Cancel able ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġconfigure UI () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġconfigure UI () Ġ{ ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . custom _ dialog _ search ) ĊĠĠĠĠĠĠĠ Ġwindow ?. setBackground Drawable ( Color Drawable ( Color . TRANSP ARENT )) ĊĠĠĠĠĠĠĠ Ġbutton Left Alert . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġbutton R ig th Alert . setOnClickListener ( this ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( title Ġ== Ġnull Ġ|| Ġ"" Ġ== Ġtitle ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Title Dialog Search . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Title Dialog Search . text Ġ= Ġtitle ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( text Button Left Ġ== Ġnull Ġ|| Ġ"" Ġ== Ġtext Button Left ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbutton Left Alert . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġguide line Button Alert . set Guide line Percent ( 0 . 0 . toFloat ()) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbutton Left Alert . text Ġ= Ġtext Button Left ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( text Button Right Ġ== Ġnull Ġ|| Ġ"" Ġ== Ġtext Button Right ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbutton R ig th Alert . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġguide line Button Alert . set Guide line Percent ( 1 . 0 . toFloat ()) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbutton R ig th Alert . text Ġ= Ġtext Button Right ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ(( text Button Left Ġ== Ġnull Ġ|| Ġ"" Ġ== Ġtext Button Left ) Ġ&& Ġ( text Button Right Ġ== Ġnull Ġ|| Ġ"" Ġ== Ġtext Button Right )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbutton R ig th Alert . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbutton Left Alert . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġguide line Button Alert . set Guide line Percent ( 1 . 0 . toFloat ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbutton Left Alert . text Ġ= Ġcontext . getText ( R . string . accept ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// window !!. attributes . window Animations Ġ= ĠR . style . Sl iding Dialog Animation ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonClick ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( view . id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . button Left Alert Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( delegate Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdelegate . onClick Cancel Button () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhide () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . button R ig th Alert Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( delegate Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdelegate . onClick Search Button ( edit Text Search . text . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhide () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }