package Ġcom . ail len . shop mall . module . order Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . app . Progress Dialog Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . graphics . Bitmap Factory Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . text . Editable Ċ import Ġandroid . text . Text Watcher Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . LinearLayout Ċ import Ġcn . b mob . v 3 . datatype . B mob File Ċ import Ġcn . b mob . v 3 . exception . B mob Exception Ċ import Ġcn . b mob . v 3 . listener . Save Listener Ċ import Ġcn . b mob . v 3 . listener . Upload Batch Listener Ċ import Ġcom . ail len . shop mall . R Ċ import Ġcom . ail len . shop mall . base . Base Activity Ċ import Ġcom . ail len . shop mall . module . main . dis voc ery . Find Ċ import Ġcom . ail len . shop mall . module . main . dis voc ery . ItemType Ċ import Ġcom . ail len . shop mall . module . user . User Manager Ċ import Ġcom . ail len . shop mall . module . store . Shop Ċ import Ġcom . ail len . shop mall . utils . Common Utils Ċ import Ġkotlinx . android . synt hetic . main . activity _ evaluate .* Ċ import Ġme . iw f . phot op icker . Photo Picker Ċ import Ġme . iw f . phot op icker . Photo Preview Ċ import Ġorg . jetbrains . ank o . progress Dialog Ċ import Ġjava . util . ArrayList Ċ Ċ class ĠEvaluate Activity Ġ: ĠBase Activity (), ĠText Watcher , ĠView . OnClickListener Ġ{ ĊĊĊĠĠĠ Ġprivate Ġval Ġshop : ĠShop Ġby Ġlazy Ġ{ Ġget Intent Extra (). get Serializable Extra ( SH OP ) Ġas ĠShop Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġlist : ArrayList < String >? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġafter TextChanged ( s : ĠEdit able ) Ġ{ ĊĠĠĠĠĠĠĠ Ġword _ count . text Ġ= Ġresources . getString ( R . string . word _ count , s . toString (). length . toString ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġbefore TextChanged ( s : ĠCharSequence ?, Ġstart : ĠInt , Ġcount : ĠInt , Ġafter : ĠInt ) Ġ{ ĊĊĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon TextChanged ( s : ĠCharSequence ?, Ġstart : ĠInt , Ġbefore : ĠInt , Ġcount : ĠInt ) Ġ{ ĊĊĠĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠSH OP Ġ= Ġ" shop " ĊĠĠĠĠĠĠĠ Ġfun Ġstart ( ctx : ĠContext , Ġshop : ĠShop ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( ctx , ĠEvaluate Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( SH OP , shop ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġctx . startActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit View () Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Listener () Ġ{ ĊĠĠĠĠĠĠĠ Ġet _ comment . add TextChanged Listener ( this ) ĊĠĠĠĠĠĠĠ Ġly _ add _ img . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġtv _ good _ goods . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġbt _ send . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġiv _ back . setOnClickListener ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonClick ( v : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġwhen ( v . id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . ly _ add _ img Ġ-> { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPhoto Picker . builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Photo Count ( 3 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Show Camera ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Preview Enabled ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. start ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . tv _ good _ goods Ġ-> { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ good _ goods . setBackground Resource ( R . drawable . common _ bg _ orange _ 8 x 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtv _ good _ goods . setTextColor ( Color . WHITE )} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . bt _ send Ġ-> { insert E va ()} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . iv _ back Ġ-> { finish ()} ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġval ĠprogressBar : Progress Dialog Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠ Ġprogress Dialog (" æŃ£åľ¨ ä¸Ĭä¼ł "," ä¸Ĭä¼ł åĽ¾çīĩ "){ progress Ġ= Ġ 0 } ĊĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġfun Ġinsert E va () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( et _ comment . text . toString (). trim (). isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" è¯Ħ ä»· ä¸įèĥ½ä¸ºç©º ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ(!( null Ġ!= Ġlist Ġ&& Ġ! list !!. isEmpty ())) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" åĽ¾çīĩ ä¸įèĥ½ä¸ºç©º ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( list !!. size Ġ!= Ġ 3 ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" åĽ¾çīĩ å¿ħé¡» ä¸º 3 å¼ł ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġfind Ġ= ĠFind ( shop . S _ OID , et _ comment . text . toString (). trim (), ĠUser Manager . userName , bt _ send . text . toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist , 1 2 0 , ĠItem Type . TYPE _ USER . getType Code (), Ġarray ListOf (), array ListOf ()) ĊĠĠĠĠĠĠĠ ĠB mob File . upload Batch ( list ?. toArray ( array Of < String > ()), object Ġ: ĠUpload Batch Listener { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonSuccess ( b mob FileList : ĠMutable List < B mob File >, Ġurls : ĠMutable List < String >) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( b mob FileList . size Ġ== Ġlist ?. size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" ä¸Ĭä¼ł ç»ĵæĿŁ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠprogressBar . dismiss () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsave Find Ġ= Ġfind . copy ( user _ pic _ url Ġ= Ġb mob FileList . flatMap Ġ{ Ġarray ListOf ( it . file Url ) Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsave Find . save ( object Ġ: Save Listener < String > (){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdone ( obj Id : ĠString ?, Ġe : ĠB mob Exception ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( null Ġ!= Ġe ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" æľįåĬ¡åĻ¨ å¼Ĥå¸¸ ï¼Į è¯Ħ ä»· å¤±è´¥ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Progress ( index : ĠInt , Ġprogress : ĠInt , Ġpic Count : ĠInt , Ġtotal Progress : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠprogressBar . setMessage (" æŃ£åľ¨ ä¸Ĭä¼ł ä½İ ${ index } å¼ł åĽ¾çīĩ ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠprogressBar . progress Ġ= Ġtotal Progress ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonError ( code : ĠInt , Ġmsg : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast ( msg ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĠĠĠĠĠĠĠ Ġif ( result Code Ġ== ĠActivity . RESULT _ OK Ġ&& ( request Code Ġ== ĠPhoto Picker . REQUEST _ CODE Ġ|| Ġrequest Code Ġ== ĠPhoto Preview . REQUEST _ CODE )){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist Ġ= Ġdata ?. getString ArrayList Extra ( Photo Picker . KEY _ SELECTED _ PH OT OS ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( null Ġ!= Ġlist ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate ImageView ( list !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate ImageView ( list Extra : ĠArrayList < String >) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( ly _ pic . child Count Ġ!= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġly _ pic . removeAll Views () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġvar ĠimageView : ImageView ĊĠĠĠĠĠĠĠ Ġval Ġlp Ġ= ĠLinearLayout . LayoutParams ( Common Utils . dp 2 Px ( this , 1 0 0 ), Common Utils . dp 2 Px ( this , 1 0 0 )) ĊĠĠĠĠĠĠĠ Ġlist Extra . forEach Ġ{ ĠimageView Ġ= ĠImageView ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( imageView ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Params Ġ= Ġlp ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Padding ( 0 , 0 , Common Utils . dp 2 Px ( this @ Evaluate Activity , 1 0 ), 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscale Type Ġ= ĠImageView . Scale Type . FIT _ XY ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Image Bitmap ( Bitmap Factory . decode File ( it )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġly _ pic . addView ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Layout Id () Ġ= ĠR . layout . activity _ evaluate Ċ Ċ } Ċ