package Ġjp . j ug g ler . sub way to oter . dialog čĊč Ċ import Ġandroid . annotation . Suppress Lint č Ċ import Ġandroid . app . Activity č Ċ import Ġandroid . app . Dialog č Ċ import Ġandroid . view . View č Ċ import Ġandroid . view . WindowManager č Ċ import Ġandroid . widget . Button č Ċ import Ġandroid . widget . CheckBox č Ċ import Ġandroid . widget . EditText č Ċ import Ġandroid . widget . TextView č Ċ import Ġjp . j ug g ler . sub way to oter . App 1 č Ċ import Ġjp . j ug g ler . sub way to oter . R č Ċ import Ġjp . j ug g ler . util . Log Category č Ċ import Ġjp . j ug g ler . util . show Toast čĊč Ċ object ĠD lg Create Account Ġ{ čĊ ĉ private Ġval Ġlog Ġ= ĠLog Category (" Dlg Create Account ") čĊĉčĊ ĉ @ Suppress Lint (" Inf late Params ") čĊ ĉ fun Ġshow Create Account Form ( čĊĉ ĉ activity Ġ: ĠActivity , čĊĉ ĉ instance Ġ: ĠString , čĊĉ ĉ onClick Ok Ġ: Ġ( čĊĉĉ ĉ dialog Ġ: ĠDialog , čĊĉĉ ĉ username Ġ: ĠString , čĊĉĉ ĉ email Ġ: ĠString , čĊĉĉ ĉ password Ġ: ĠString , čĊĉĉ ĉ agreement Ġ: ĠBoolean čĊĉ ĉ ) Ġ-> ĠUnit čĊ ĉ ) Ġ{ čĊĉ ĉ val Ġview Ġ= Ġactivity . layout Inflater . inflate ( R . layout . dlg _ account _ create , Ġnull , Ġfalse ) čĊĉĉčĊĉ ĉ view . findViewById < TextView >( R . id . tv Instance ). text Ġ= Ġinstance čĊĉĉčĊĉ ĉ val Ġet UserName Ġ: ĠEditText Ġ= Ġview . findViewById ( R . id . et UserName ) čĊĉ ĉ val Ġet Email Ġ: ĠEditText Ġ= Ġview . findViewById ( R . id . et Email ) čĊĉ ĉ val Ġet Password Ġ: ĠEditText Ġ= Ġview . findViewById ( R . id . et Password ) čĊĉ ĉ val Ġcb Agreement Ġ: ĠCheckBox Ġ= Ġview . findViewById ( R . id . cb Agreement ) čĊĉĉčĊĉ ĉ val Ġdialog Ġ= ĠDialog ( activity ) čĊĉ ĉ dialog . set ContentView ( view ) čĊĉĉčĊĉ ĉ val Ġlistener Ġ: ĠView . OnClickListener Ġ= ĠView . OnClickListener Ġ{ Ġv Ġ-> čĊĉĉ ĉ when ( v . id ) Ġ{ čĊĉĉĉ ĉ R . id . btn Rules Ġ-> čĊĉĉĉĉ ĉ App 1 . open Custom Tab ( activity , Ġ" https :// $ instance / about / more ") čĊĉĉĉĉčĊĉĉĉ ĉ R . id . btn Terms Ġ-> čĊĉĉĉĉ ĉ App 1 . open Custom Tab ( activity , Ġ" https :// $ instance / terms ") čĊĉĉĉĉčĊĉĉĉ ĉ R . id . btn Cancel Ġ-> čĊĉĉĉĉ ĉ dialog . cancel () čĊĉĉĉĉčĊĉĉĉ ĉ R . id . btn Ok Ġ-> Ġ{ čĊĉĉĉĉ ĉ val Ġusername Ġ= Ġet UserName . text . toString (). trim Ġ{ Ġit Ġ<= Ġ' Ġ' Ġ} čĊĉĉĉĉ ĉ val Ġemail Ġ= Ġet Email . text . toString (). trim Ġ{ Ġit Ġ<= Ġ' Ġ' Ġ} čĊĉĉĉĉ ĉ val Ġpassword Ġ= Ġet Password . text . toString (). trim Ġ{ Ġit Ġ<= Ġ' Ġ' Ġ} čĊĉĉĉĉ ĉ val Ġagreement Ġ= Ġcb Agreement . isChecked čĊĉĉĉĉĉ čĊĉĉĉĉ ĉ when Ġ{ čĊĉĉĉĉĉĉ čĊĉĉĉĉĉ ĉ username . isEmpty () Ġ-> čĊĉĉĉĉĉĉ ĉ show Toast ( activity , Ġtrue , ĠR . string . username _ empty ) čĊĉĉĉĉĉĉ čĊĉĉĉĉĉ ĉ email . isEmpty () Ġ-> čĊĉĉĉĉĉĉ ĉ show Toast ( activity , Ġtrue , ĠR . string . email _ empty ) čĊĉĉĉĉĉĉ čĊĉĉĉĉĉ ĉ password . isEmpty () Ġ-> čĊĉĉĉĉĉĉ ĉ show Toast ( activity , Ġtrue , ĠR . string . password _ empty ) čĊĉĉĉĉĉĉ čĊĉĉĉĉĉ ĉ username . contains ("/") Ġ|| Ġusername . contains ("@ ") Ġ-> čĊĉĉĉĉĉĉ ĉ show Toast ( activity , Ġtrue , ĠR . string . username _ not _ need _ at mark ) čĊĉĉĉĉĉĉ čĊĉĉĉĉĉ ĉ else Ġ-> ĠonClick Ok ( čĊĉĉĉĉĉĉ ĉ dialog , čĊĉĉĉĉĉĉ ĉ username , čĊĉĉĉĉĉĉ ĉ email , čĊĉĉĉĉĉĉ ĉ password , čĊĉĉĉĉĉĉ ĉ agreement čĊĉĉĉĉĉ ĉ ) čĊĉĉĉĉĉĉ čĊĉĉĉĉ ĉ } čĊĉĉĉ ĉ } čĊĉĉĉĉ čĊĉĉ ĉ } čĊĉ ĉ } čĊĉĉčĊĉ ĉ array Of ( čĊĉĉ ĉ R . id . btn Rules , čĊĉĉ ĉ R . id . btn Terms , čĊĉĉ ĉ R . id . btn Cancel , čĊĉĉ ĉ R . id . btn Ok čĊĉ ĉ ). forEach Ġ{ čĊĉĉ ĉ view . findViewById < Button >( it )?. setOnClickListener ( listener ) čĊĉ ĉ } čĊĉĉčĊĉ ĉ dialog . window ?. setLayout ( čĊĉĉ ĉ WindowManager . LayoutParams . MATCH _ PARENT , čĊĉĉ ĉ WindowManager . LayoutParams . WRAP _ CONTENT čĊĉ ĉ ) čĊĉ ĉ dialog . show () čĊ ĉ } čĊĉč Ċ } čĊ