package Ġcom . ma u zer ov . mobile . ui Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget .* Ċ import Ġandroidx . fragment . app . Dialog Fragment Ċ import Ġcom . ma u zer ov . mobile . MainActivity Ċ import Ġcom . ma u zer ov . mobile . R Ċ import Ġcom . ma u zer ov . mobile . databinding . Select Dialog Binding Ċ import Ġcom . ma u zer ov . mobile . scripts . Where Ċ import Ġcom . ma u zer ov . mobile . views . Where Statement Ċ Ċ class ĠSelect Dialog ( private Ġval ĠtableName : ĠString ) Ġ: ĠDialog Fragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġ_ binding : ĠSelect Dialog Binding ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġgroup : ĠRadio Group ĊĠĠĠ Ġvar Ġwh eres Ġ= Ġmutable ListOf < Where >() ĊĠĠĠ Ġ// ĠThis Ġproperty Ġis Ġonly Ġvalid Ġbetween ĠonCreate View Ġand ĊĠĠĠ Ġ// Ġon Destroy View . ĊĠĠĠ Ġval Ġbinding Ġget () Ġ= Ġ_ binding !! ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ binding Ġ= ĠSelect Dialog Binding . inflate ( in flater , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġval Ġroot View : ĠView Ġ= Ġbinding . root ĊĠĠĠĠĠĠĠ Ġval Ġtable Ġ= Ġ( activity Ġas ĠMainActivity ). school Data [ tableName ] !! ĊĠĠĠĠĠĠĠ Ġgroup Ġ= ĠRadio Group ( context ) ĊĊĠĠĠĠĠĠĠ Ġfor Ġ( key Ġin Ġtable [ 0 ]. keys . filter Ġ{ Ġe Ġ-> Ġe Ġ!= Ġ" UUID " Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbox Ġ= ĠRadio Button ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbox . text Ġ= Ġkey ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgroup . addView ( box ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbinding . fields Layout . addView ( group ) ĊĊĠĠĠĠĠĠĠ Ġbinding . close Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbinding . add Button . setOnClickListener Ġ{ Ġit Ġas ĠImage Button ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( group . checked RadioButton Id Ġ== Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( activity Ġas ĠMainActivity ). make Error Toast ( R . string . toast _ error _ no _ field _ selected ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ setOnClickListener ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġwhere Ġ= ĠWhere () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhere . Key Ġ= Ġbinding . root . findViewById < RadioButton >( group . checked RadioButton Id ). text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhere . Value Ġ= Ġbinding . where Field Insert . text . toString () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġop Ġ= Ġbinding . operand Insert . text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! Where . Oper ands . contains ( op )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( activity Ġas ĠMainActivity ). make Error Toast ( R . string . toast _ error _ no _ operand ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ setOnClickListener ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhere . Op Ġ= Ġop ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwh eres . add ( where ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWhere Statement ( context , Ġthis , Ġbinding . where Statements , Ġwhere ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġroot View ĊĠĠĠ Ġ} Ċ Ċ }