package Ġcom . mo yin ol u wa . ank o alert Ċ Ċ import Ġandroid . content . DialogInterface Ċ import Ġandroid . support . design . widget . TextInput EditText Ċ import Ġandroid . support . design . widget . TextInput Layout Ċ import Ġandroid . view . Gravity Ċ import Ġandroid . view . View Ċ import Ġandroid . view . View Manager Ċ import Ġandroid . widget . LinearLayout Ċ import Ġandroid . widget . TextView Ċ import Ġorg . jetbrains . ank o . An ko Context Ċ import Ġorg . jetbrains . ank o . alert Ċ import Ġorg . jetbrains . ank o . custom . ank o View Ċ import Ġorg . jetbrains . ank o . custom View Ċ import Ġorg . jetbrains . ank o . dip Ċ import Ġorg . jetbrains . ank o . horizontal Gravity Ċ import Ġorg . jetbrains . ank o . linear Layout Ċ import Ġorg . jetbrains . ank o . padding Ċ import Ġorg . jetbrains . ank o . textColor Ċ import Ġorg . jetbrains . ank o . textView Ċ import Ġorg . jetbrains . ank o . top Padding Ċ import Ġorg . jetbrains . ank o . verticalLayout Ċ Ċ private Ġconst Ġval ĠACT IVITY _ P ADDING Ġ= Ġ 1 6 Ċ Ċ class ĠFeedback Dialog ( ui : ĠAn ko Context < View >) Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġdialog : ĠDialog Interface ĊĠĠĠ Ġlateinit Ġvar Ġfeedback Text : ĠText Input EditText ĊĠĠĠ Ġlateinit Ġvar Ġcancel Button : ĠTextView ĊĠĠĠ Ġlateinit Ġvar Ġok Button : ĠTextView ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( ui ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog Ġ= Ġalert Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcustom View Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvertical Layout Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpadding Ġ= Ġdip ( ACTIVITY _ P ADDING ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView ( R . string . some _ title ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Size Ġ= Ġ 2 4 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextColor Ġ= Ġcontext . getColor ( R . color . black ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. l params Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Margin Ġ= Ġdip ( ACTIVITY _ P ADDING ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView ( R . string . some _ message ). l params Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Margin Ġ= Ġdip ( ACTIVITY _ P ADDING ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Input Layout Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhint Ġ= Ġcontext . getString ( R . string . hint ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfeedback Text Ġ= Ġtext Input EditText Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Size Ġ= Ġ 1 6 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlinear Layout Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Padding Ġ= Ġdip ( 2 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġorientation Ġ= ĠLinearLayout . HORIZONTAL ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhorizontal Gravity Ġ= ĠGr avity . END ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcancel Button Ġ= ĠtextView ( R . string . cancel _ label ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Size Ġ= Ġ 1 4 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextColor Ġ= Ġcontext . getColor ( R . color . color Accent ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. l params Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmargin End Ġ= Ġdip ( ACTIVITY _ P ADDING ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġok Button Ġ= ĠtextView ( R . string . submit ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Size Ġ= Ġ 1 4 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextColor Ġ= Ġcontext . getColor ( R . color . color Accent ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ inline Ġfun ĠView Manager . textInput EditText ( theme : ĠInt Ġ= Ġ 0 , Ġinit : ĠText Input EditText . () Ġ-> ĠUnit ) Ġ= ĊĠĠĠĠĠĠĠ Ġan ko View ({ ĠText Input EditText ( it ) Ġ}, Ġtheme , Ġinit ) Ċ inline Ġfun ĠView Manager . textInput Layout ( theme : ĠInt Ġ= Ġ 0 , Ġinit : ĠText Input Layout . () Ġ-> ĠUnit ) Ġ= ĊĠĠĠĠĠĠĠ Ġan ko View ({ ĠText Input Layout ( it ) Ġ}, Ġtheme , Ġinit )