package Ġim . clazz . ui Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġcom . h alo . base . Base Activity Ċ import Ġcom . h alo . component . Dialog Ċ import Ġcom . h alo . helper . Resources Helper Ċ import Ġcom . h alo . model . Data Ċ import Ġcom . h alo . net . Request Ċ import Ġcom . h alo . net . Response X Listener Ċ import Ġcom . h alo . util . Input Method Util Ċ import Ġim . clazz . R Ċ import Ġim . clazz . extension . onClick Ċ import Ġim . clazz . extension . tip Ċ import Ġim . clazz . ui . component . Submit ting View Ċ import Ġim . clazz . view . Settings Item View Ċ import Ġkotlinx . android . synt hetic . main . report _ activity .* Ċ import Ġorg . jetbrains . ank o . forEach Child Ċ Ċ class ĠReport Activity Ġ: ĠBase Activity () Ġ{ ĊĠĠĠ Ġvar Ġsubmitting View : ĠSubmit ting View ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġdialog : ĠDialog ? Ġ= Ġnull ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġtype : ĠString ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġvar Ġid : ĠInt ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġvar Ġtitle : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( bundle : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( bundle ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . report _ activity ) ĊĠĠĠĠĠĠĠ Ġinit Views () ĊĠĠĠĠĠĠĠ Ġm Img Confirm . isEnabled Ġ= Ġfalse ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġinit Views () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Img Back . onClick Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġback () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġm Img Confirm . onClick Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpublish () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġm Img Confirm . isEnabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġm Layout Content . forEach Child Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġitem Ġ= Ġit Ġas ĠSettings Item View ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem . activity Ġ= Ġthis ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem . onClick Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġselect ( item ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Img Confirm . isEnabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġreason : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġfun Ġselect ( selected : ĠSettings Item View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Layout Content . forEach Child Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġitem Ġ= Ġit Ġas ĠSettings Item View ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( item Ġ== Ġselected ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem . check () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreason Ġ= Ġitem . title ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem . uncheck () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġshould Ob serve Keyboard (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Back Pressed () Ġ{ ĊĠĠĠĠĠĠĠ Ġback () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġback () Ġ{ ĊĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġpublish () Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Sending Dialog () ĊĠĠĠĠĠĠĠ ĠRequest . report ( id , Ġtype , Ġreason , Ġobject Ġ: ĠResponse X Listener < Data >() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonSuccess ( t : ĠData ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Success ( t ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog ?. dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . reported . tip ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Fail ( t : ĠData ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Fail ( t ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdialog ?. dismiss () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( t ?. status Ġ== Ġ- 1 0 0 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . report _ duplicate . tip ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . operation _ fail . tip ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġshow Sending Dialog () Ġ{ ĊĠĠĠĠĠĠĠ ĠInput Method Util . hide Input Method ( current Focus ) ĊĊĠĠĠĠĠĠĠ Ġsubmitting View Ġ= ĠSubmit ting View ( this ) ĊĠĠĠĠĠĠĠ Ġsubmitting View !!. set BackgroundColor ( Resources Helper . getColor ( R . color . transparent )) ĊĠĠĠĠĠĠĠ Ġsubmitting View !!. set Tip ( R . string . submit ing ) ĊĊĠĠĠĠĠĠĠ Ġdialog Ġ= ĠDialog ( window . decor View , Ġsubmitting View ) ĊĠĠĠĠĠĠĠ Ġdialog !!. set BackgroundColor Res Id ( R . color . dialog _ background ) ĊĠĠĠĠĠĠĠ Ġdialog !!. setOn Dismiss Listener Ġ{ Ġ} ĊĠĠĠĠĠĠĠ Ġdialog !!. setAuto Cancel ( false ) ĊĠĠĠĠĠĠĠ Ġdialog !!. show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( result Code Ġ!= ĠActivity . RESULT _ OK ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĊĠĠĠĠĠĠĠ Ġm Layout Content . forEach Child Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġitem Ġ= Ġit Ġas ? ĠSettings Item View ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem ?. on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ Ġid Ġ= Ġnull ĊĠĠĠĠĠĠĠ ĠReport Activity . title Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġtype Ġ= Ġnull ĊĠĠĠ Ġ} Ċ }