package Ġcom . bt spl us plus . f ow allet Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . text . TextUtils Ċ import Ġandroid . util . Typed Value Ċ import Ġandroid . view . Gravity Ċ import Ġandroid . widget . CheckBox Ċ import Ġandroid . widget . LinearLayout Ċ import Ġandroid . widget . TextView Ċ import Ġbit shares .* Ċ import Ġcom . f ow allet . wallet core . b ts . Chain Object Manager Ċ import Ġorg . json . JSONObject Ċ Ċ class ĠView Bl ind Receipt Cell Ġ: ĠLinearLayout Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġ_ ctx : ĠContext ĊĠĠĠ Ġprivate Ġvar Ġ_ bl ind _ balance : ĠJSONObject ĊĠĠĠ Ġprivate Ġvar Ġ_ can _ check : ĠBoolean Ġ= Ġfalse ĊĠĠĠ Ġprivate Ġvar Ġ_ index : ĠInt Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġvar Ġ_ on Checked : Ġ(( index : ĠInt , Ġchecked : ĠBoolean ) Ġ-> ĠUnit )? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġ_ check _ box : ĠCheckBox ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġ_ tv _ receipt _ number : ĠTextView ? Ġ= Ġnull ĊĊĠĠĠ Ġconstructor ( ctx : ĠContext , Ġblind _ balance : ĠJSONObject , Ġindex : ĠInt , Ġcan _ check : ĠBoolean , Ġon Checked : Ġ(( index : ĠInt , Ġchecked : ĠBoolean ) Ġ-> ĠUnit )? Ġ= Ġnull ) Ġ: Ġsuper ( ctx ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ ctx Ġ= Ġctx ĊĠĠĠĠĠĠĠ Ġ_ bl ind _ balance Ġ= Ġblind _ balance ĊĠĠĠĠĠĠĠ Ġ_ can _ check Ġ= Ġcan _ check ĊĠĠĠĠĠĠĠ Ġ_ index Ġ= Ġindex ĊĠĠĠĠĠĠĠ Ġ_ on Checked Ġ= Ġon Checked ĊĊĠĠĠĠĠĠĠ Ġthis . layout Params Ġ= ĠLinearLayout . LayoutParams ( LL AY OUT _ MATCH , ĠL LAYOUT _ WAR P ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Margins ( 0 , Ġ 1 5 . dp , Ġ 0 , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġthis . orientation Ġ= ĠLinearLayout . HORIZONTAL ĊĊĠĠĠĠĠĠĠ Ġrefresh UI () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ Ġè®¾ç½® é»ĺè®¤ æĺ¯åĲ¦ éĢī ä¸Ń çĬ¶æĢģ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun ĠsetDefault Selected Status ( selected : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ check _ box ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . isChecked Ġ= Ġselected ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( selected ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ tv _ receipt _ number ?. setTextColor ( resources . getColor ( R . color . theme 0 1 _ textColor Main )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ tv _ receipt _ number ?. setTextColor ( resources . getColor ( R . color . theme 0 1 _ textColor Normal )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ let ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġrefresh UI () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġ Ġ åĩĨå¤ĩ æķ°æį® ĊĠĠĠĠĠĠĠ Ġval Ġdecrypted _ memo Ġ= Ġ_ bl ind _ balance . getJSONObject (" de crypted _ memo ") ĊĠĠĠĠĠĠĠ Ġval Ġamount _ item Ġ= Ġdecrypted _ memo . getJSONObject (" amount ") ĊĠĠĠĠĠĠĠ Ġval Ġcheck _ sum Ġ= Ġdecrypted _ memo . getLong (" check ") ĊĠĠĠĠĠĠĠ Ġval Ġhex _ check _ num Ġ= ĠBin Serializer (). write _ u 3 2 ( check _ sum ). get _ data (). hex Encode (). toUpperCase () ĊĠĠĠĠĠĠĠ Ġval Ġasset Ġ= ĠChain Object Manager . shared Chain Object Manager (). get Chain Object ByID ( amount _ item . getString (" asset _ id ")) ĊĠĠĠĠĠĠĠ Ġval Ġn _ amount Ġ= Ġbig Decimal from Amount ( amount _ item . getString (" amount "), Ġasset . getInt (" precision ")) ĊĠĠĠĠĠĠĠ Ġval Ġreal _ to _ key Ġ= Ġ_ bl ind _ balance . getString (" real _ to _ key ") ĊĊĠĠĠĠĠĠĠ Ġ// Ġ Ġæı ı ç»ĺ ï¼Ī éĢīæĭ© æ¡Ĩ ãĢģ åı¯èĥ½ ä¸įåŃĺåľ¨ ï¼ī ĊĠĠĠĠĠĠĠ Ġvar Ġright _ content _ margin _ value Ġ= Ġ 0 . dp ĊĠĠĠĠĠĠĠ Ġif Ġ(_ can _ check ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcheckbox Ġ= ĠCheckBox (_ ctx ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcheckbox _ layout _ params Ġ= ĠLinearLayout . LayoutParams ( LL AY OUT _ WAR P , ĠL LAYOUT _ MATCH ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgravity Ġ= ĠGr avity . LEFT ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Margins ( 0 , Ġ 0 , Ġ 0 , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheckbox _ layout _ params . gravity Ġ= ĠLinearLayout . VERTICAL ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheckbox . set Padding ( 0 , Ġ 0 , Ġ 0 , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheckbox . layout Params Ġ= Ġcheckbox _ layout _ params ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheckbox . text Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheckbox . isChecked Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheckbox . tag Ġ= Ġ" checkbox .$ _ index " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheckbox . scale X Ġ= Ġ 0 . 5 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheckbox . scale Y Ġ= Ġ 0 . 5 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheckbox . gravity Ġ= ĠGr avity . LEFT Ġor ĠGr avity . CENTER _ VERTICAL ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcheckbox _ drawable Ġ= Ġresources . get Drawable ( R . drawable . checkbox _ drawable ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheckbox . button Drawable Ġ= Ġcheckbox _ drawable ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheckbox . setOn Checked ChangeListener Ġ{ Ġ_, Ġis Checked Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( isChecked ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ tv _ receipt _ number ?. setTextColor ( resources . getColor ( R . color . theme 0 1 _ textColor Main )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ tv _ receipt _ number ?. setTextColor ( resources . getColor ( R . color . theme 0 1 _ textColor Normal )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ on Checked ?. invoke (_ index , Ġis Checked ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . addView ( checkbox ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġright _ content _ margin _ value Ġ= Ġ 1 0 . dp ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ check _ box Ġ= Ġcheckbox ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġ Ġæķ°æį® å±ķç¤º ĊĠĠĠĠĠĠĠ Ġval Ġlayout _ wrapper Ġ= ĠLinearLayout (_ ctx ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Params Ġ= ĠLinearLayout . LayoutParams ( LL AY OUT _ MATCH , ĠL LAYOUT _ WAR P ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Margins ( right _ content _ margin _ value , Ġ 0 , Ġ 0 , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġorientation Ġ= ĠLinearLayout . VERTICAL ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ Ġ ç¬¬ä¸Ģ è¡Į Ġ- Ġ æĶ¶ æį® ç¼ĸåı· ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ tv _ receipt _ number Ġ= ĠTextView (_ ctx ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgravity Ġ= ĠGr avity . CENTER _ VERTICAL ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Params Ġ= ĠLinearLayout . LayoutParams ( LL AY OUT _ WAR P , ĠL LAYOUT _ WAR P ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= ĠString . format ( resources . getString ( R . string . k Vc St Cell Title Receipt Name ), Ġ(_ index Ġ+ Ġ 1 ). toString (), Ġhex _ check _ num ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Text Size ( Typed Value . COMPLEX _ UNIT _ DIP , Ġ 1 6 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset TextColor ( resources . getColor ( R . color . theme 0 1 _ textColor Main )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ Ġ ç¬¬äºĮ è¡Į Ġ- Ġ å·¦ : Ġ åľ°åĿĢ , Ġ åı³ : Ġ éĩĳé¢Ŀ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlayout _ header Ġ= ĠLinearLayout (_ ctx ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Params Ġ= ĠLinearLayout . LayoutParams ( LL AY OUT _ MATCH , ĠL LAYOUT _ WAR P ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Margins ( 0 , Ġ 8 . dp , Ġ 0 , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġorientation Ġ= ĠLinearLayout . HORIZONTAL ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ Ġ åľ°åĿĢ ( åĲįç§° ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġalias _ name Ġ= ĠView Utils . gen Bl ind Account DisplayName (_ ctx , Ġreal _ to _ key ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtv _ address Ġ= ĠTextView (_ ctx ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Params Ġ= ĠLinearLayout . LayoutParams ( 0 , ĠL LAYOUT _ WAR P , Ġ 3 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( alias _ name Ġ!= Ġnull Ġ&& Ġalias _ name . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= ĠString . format ( resources . getString ( R . string . k Vc St Cell Title Receipt Addr With Alias Name ), Ġalias _ name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġresources . getString ( R . string . k Vc St Cell Title Receipt Addr ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Text Size ( Typed Value . COMPLEX _ UNIT _ DIP , Ġ 1 3 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset TextColor ( resources . getColor ( R . color . theme 0 1 _ textColor Gray )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ éĩĳé¢Ŀ ( åĲįç§° ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtv _ amount Ġ= ĠTextView (_ ctx ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Params Ġ= ĠLinearLayout . LayoutParams ( 0 , ĠL LAYOUT _ WAR P , Ġ 2 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġresources . getString ( R . string . k Vc St Cell Title Receipt Amount Value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Text Size ( Typed Value . COMPLEX _ UNIT _ DIP , Ġ 1 3 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset TextColor ( resources . getColor ( R . color . theme 0 1 _ textColor Gray )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgravity Ġ= ĠGr avity . RIGHT ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd View ( tv _ address ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd View ( tv _ amount ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ Ġ ç¬¬ä¸ī è¡Į Ġ- Ġ å·¦ : Ġ åľ°åĿĢ ( åĢ¼ ), Ġ åı³ : Ġ éĩĳé¢Ŀ ( åĢ¼ ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlayout _ body Ġ= ĠLinearLayout (_ ctx ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Params Ġ= ĠLinearLayout . LayoutParams ( LL AY OUT _ MATCH , ĠL LAYOUT _ WAR P ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Margins ( 0 , Ġ 8 . dp , Ġ 0 , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġorientation Ġ= ĠLinearLayout . HORIZONTAL ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ Ġ åľ°åĿĢ ( value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtv _ address _ value Ġ= ĠTextView (_ ctx ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Params Ġ= ĠLinearLayout . LayoutParams ( 0 , ĠL LAYOUT _ WAR P , Ġ 3 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġreal _ to _ key ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Text Size ( Typed Value . COMPLEX _ UNIT _ DIP , Ġ 1 3 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset TextColor ( resources . getColor ( R . color . theme 0 1 _ textColor Normal )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Single Line ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax Lines Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġel lip size Ġ= ĠText Utils . Truncate At . MIDDLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ Ġ éĩĳé¢Ŀ ( value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtv _ amount _ value Ġ= ĠTextView (_ ctx ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Params Ġ= ĠLinearLayout . LayoutParams ( 0 , ĠL LAYOUT _ WAR P , Ġ 2 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= ĠString . format ("% s Ġ% s ", Ġn _ amount . to Price Amount String (), Ġasset . getString (" symbol ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Text Size ( Typed Value . COMPLEX _ UNIT _ DIP , Ġ 1 3 . 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset TextColor ( resources . getColor ( R . color . theme 0 1 _ textColor Normal )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgravity Ġ= ĠGr avity . RIGHT ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd View ( tv _ address _ value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd View ( tv _ amount _ value ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd View (_ tv _ receipt _ number ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd View ( layout _ header ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd View ( layout _ body ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġthis . addView ( layout _ wrapper ) ĊĠĠĠ Ġ} Ċ }