package Ġcom . fan r ong . fr wallet . ui . contract . custom čĊč Ċ import Ġandroid . text . Editable č Ċ import Ġcom . basic lib . base . Base Activity č Ċ import Ġcom . fan r ong . fr wallet . R č Ċ import Ġcom . fan r ong . fr wallet . dao . Fr Constants č Ċ import Ġcom . fan r ong . fr wallet . dao . database . Coin Dao č Ċ import Ġcom . fan r ong . fr wallet . dao . database . Coin Operator č Ċ import Ġcom . fan r ong . fr wallet . dao . database . Wallet Dao č Ċ import Ġcom . fan r ong . fr wallet . dao . event bus . Current Wallet Change č Ċ import Ġcom . fan r ong . fr wallet . tools . Open Lock App Dialog Utils č Ċ import Ġcom . fan r ong . fr wallet . tools . ext Check Is Contract Addr č Ċ import Ġcom . fan r ong . fr wallet . ui . dialog . Lock App Dialog č Ċ import Ġcom . fan r ong . fr wallet . view . show Top Toast č Ċ import Ġkotlinx . android . synt hetic . main . activity _ custom _ tokens .* č Ċ import Ġorg . green robot . event bus . EventBus č Ċ import Ġxc . common . kotlin ext . ext Finish With Anim č Ċ import Ġxc . common . kotlin ext . show Toast č Ċ import Ġxc . common . tool . Common Tool č Ċ import Ġxc . common . tool . listener . Text Watcher After č Ċ import Ġxc . common . tool . utils . Lib View Utils č Ċ import Ġxc . common . tool . utils . check IsEmpty č Ċ import Ġxc . common . tool . utils . check NotEmpty č Ċ import Ġxc . common . view lib . extension . ext Show Or Dismiss Dialog čĊč Ċ class ĠCustom Tokens Activity Ġ: ĠBase Activity () Ġ{ čĊĠĠĠ Ġval Ġwallet Info : ĠWallet Dao Ġby Ġlazy Ġ{ čĊĠĠĠĠĠĠĠ Ġintent . get Serializable Extra ( Fr Constants . WAL LET _ INFO ) Ġas ĠWallet Dao čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġval Ġview model : ĠToken ViewModel Ġby Ġlazy Ġ{ čĊĠĠĠĠĠĠĠ ĠToken ViewModel () čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġvar Ġinput Listener Ġ= ĠRunnable Ġ{ čĊĠĠĠĠĠĠĠ Ġif Ġ( et _ token _ addr . text . toString (). ext Check Is Contract Addr ( this , getString ( R . string . hy dz gs bz q ))) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġview model . getToken Info ( wallet Info , Ġet _ token _ addr . text . toString ()) čĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Top Toast ( this , getString ( R . string . hy dz gs bz q ), false ) čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġget Layout Id (): ĠInt Ġ{ čĊĠĠĠĠĠĠĠ Ġreturn ĠR . layout . activity _ custom _ tokens čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġinit View () Ġ{ čĊĠĠĠĠĠĠĠ Ġct _ title . apply Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ ĠsetTitle Text ( getString ( R . string . z dy db )) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Back Icon ( R . mip map . src _ lib _ e ui _ icon _ back ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Right Text ClickListener ( getString ( R . string . save )) Ġ{ čĊčĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! et _ token _ addr . text . toString (). ext Check Is Contract Addr ( this @ Custom Tokens Activity , getString ( R . string . hy dz gs bz q ))) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ set Right Text ClickListener čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( et _ decimal . text . toString (). check IsEmpty ()) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Top Toast ( this @ Custom Tokens Activity , getString ( R . string . dic imal _ no empty ), false ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ set Right Text ClickListener čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( et _ symbol . text . toString (). check IsEmpty ()) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Top Toast ( this @ Custom Tokens Activity , getString ( R . string . symbol _ no empty ), false ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ set Right Text ClickListener čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġcoins Ġ= ĠCoin Operator . query Contract Asset With Wallet ( wallet Info ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( coins . check NotEmpty ()) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( coin Ġin Ġcoins !! ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( coin . contract _ addr . equals ( et _ token _ addr . text . toString ())) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Top Toast ( this @ Custom Tokens Activity , getString ( R . string . current _ wallet _ is _ save _ coin ), false ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ set Right Text ClickListener čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCoin Operator . add Contract Asset ( wallet Info , ĠCoin Dao ( et _ symbol . text . toString ()). apply Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . contract _ addr Ġ= Ġet _ token _ addr . text . toString () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . coin _ decimals Ġ= Ġet _ decimal . text . toString () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . coin _ name Ġ= Ġet _ symbol . text . toString () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEvent Bus . getDefault (). post ( Current Wallet Change ()) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġext Finish With Anim () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ Ġset On Back ClickListener Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġext Finish With Anim () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġet _ token _ addr . add TextChanged Listener ( object Ġ: ĠText Watcher After () Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġtry After TextChanged ( s : ĠEdit able ?) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . try After TextChanged ( s ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġet _ decimal . setText ("") čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġet _ symbol . setText ("") čĊčĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCommon Tool . main Handler . remove Callbacks ( input Listener ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCommon Tool . main Handler . post Delayed ( input Listener , Ġ 1 5 0 0 ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġ}) čĊčĊčĊĠĠĠĠĠĠĠ ĠLib View Utils . disable Input ( et _ decimal ) čĊĠĠĠĠĠĠĠ ĠLib View Utils . disable Input ( et _ symbol ) čĊčĊĠĠĠĠĠĠĠ Ġview model . observer Data Change ( this , Ġthis :: state Change ) čĊĠĠĠ Ġ} čĊčĊčĊĠĠĠ Ġfun Ġstate Change ( state : ĠToken ViewModel . State ) Ġ{ čĊĠĠĠĠĠĠĠ Ġext Show Or Dismiss Dialog ( state . is Show Loading ) čĊčĊĠĠĠĠĠĠĠ Ġstate . error info ?. run Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Toast ( msg ) čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġstate . decimal Result ?. run Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Exc ute Success ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġet _ decimal . setText ( result Data ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġstate . symbol Result ?. run Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Exc ute Success ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġet _ symbol . setText ( result Data ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠ Ġ} čĊčĊčĊĠĠĠ Ġoverride Ġfun Ġload Data () Ġ{ čĊĠĠĠ Ġ} čĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ čĊĠĠĠĠĠĠĠ Ġsuper . on Resume () čĊĠĠĠĠĠĠĠ ĠOpen Lock App Dialog Utils . Open Dialog ( this ) čĊĠĠĠ Ġ} č Ċ }