package Ġcom . fan r ong . fr wallet . ui . node čĊč Ċ import Ġandroid . os . Bundle č Ċ import Ġandroid . view . LayoutInflater č Ċ import Ġandroid . view . View č Ċ import Ġandroid . view . WindowManager č Ċ import Ġandroid . widget . TextView č Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager č Ċ 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 . Chain Node Dao č Ċ import Ġcom . fan r ong . fr wallet . dao . database . Chain Node Operator č Ċ import Ġcom . fan r ong . fr wallet . dao . event bus . Node ChangeEvent č Ċ import Ġcom . fan r ong . fr wallet . found . ext Init Common Bg Auto Back č Ċ import Ġcom . fan r ong . fr wallet . main . MainActivity č Ċ import Ġcom . fan r ong . fr wallet . tools . Open Lock App Dialog Utils č Ċ import Ġcom . fan r ong . fr wallet . ui . activity . Import Account Activity č Ċ import Ġcom . fan r ong . fr wallet . ui . backup . Back Up Hint Activity č Ċ import Ġcom . fan r ong . fr wallet . ui . dialog . Add Node Dialog č Ċ import Ġcom . fan r ong . fr wallet . ui . dialog . Lock App Dialog č Ċ import Ġcom . fan r ong . fr wallet . ui . dialog . Password Dialog č Ċ import Ġcom . fan r ong . fr wallet . view . show Top Toast č Ċ import Ġkotlinx . android . synt hetic . main . activity _ wallet _ m anger .* č Ċ import Ġkotlinx . android . synt hetic . main . change _ node _ activity .* č Ċ import Ġkotlinx . android . synt hetic . main . change _ node _ activity . ac _ title č Ċ import Ġkotlinx . android . synt hetic . main . custom _ node _ activity .* č Ċ import Ġorg . green robot . event bus . EventBus č Ċ import Ġxc . common . kotlin ext . ext Finish With Anim č Ċ import Ġxc . common . kotlin ext . ext Start Activity č Ċ import Ġxc . common . kotlin ext . show Toast č Ċ import Ġxc . common . tool . utils . App Manager č Ċ import Ġxc . common . tool . utils . check IsEmpty č Ċ import Ġxc . common . view lib . extension . ext Show Or Dismiss Dialog č Ċ import Ġxc . common . view lib . view . custom view . FullScreen Dialog čĊčĊč Ċ class ĠChange Node Activity Ġ: ĠBase Activity () Ġ{ čĊĠĠĠ Ġvar Ġinput Node Url Ġ= Ġ"" čĊĠĠĠ Ġval Ġview model : ĠNode View model Ġby Ġlazy Ġ{ čĊĠĠĠĠĠĠĠ ĠNode View model () čĊĠĠĠ Ġ} čĊĠĠĠ Ġval Ġlist Adapter : ĠNode ListAdapter Ġby Ġlazy Ġ{ čĊĠĠĠĠĠĠĠ ĠNode ListAdapter (). apply Ġ{ čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġset On Item Child ClickListener Ġ{ Ġadapter , Ġview , Ġposition Ġ-> čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( view . id Ġ== Ġ( adapter Ġas ĠNode ListAdapter ). more View Id ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġext Start Activity ( Custom Node Activity :: class . java , ĠBundle (). apply Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput String ( Fr Constants . CHAIN _ TYPE , Ġintent . getString Extra ( Fr Constants . CHAIN _ TYPE )) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Serializable ( Fr Constants . PARAMS _ NODE _ INFO , list Adapter . getItem ( position ) !! ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġset On ItemClickListener Ġ{ Ġadapter , Ġview , Ġposition Ġ-> čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChain Node Operator . change Node ( list Adapter . getItem ( position ) !! ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEvent Bus . getDefault (). post ( Node ChangeEvent ( list Adapter . getItem ( position ) !! )) čĊčĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp Manager . getApp Manager (). find Activity ( MainActivity :: class . java )?. back Home () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġget Layout Id (): ĠInt Ġ{ čĊĠĠĠĠĠĠĠ Ġget Window (). set Soft Input Mode ( WindowManager . LayoutParams . SOFT _ INPUT _ ADJ UST _ PAN ); čĊĠĠĠĠĠĠĠ Ġreturn ĠR . layout . change _ node _ activity čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġinit View () Ġ{ čĊĠĠĠĠĠĠĠ Ġac _ title . apply Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġext Init Common Bg Auto Back ( this @ Change Node Activity , Ġ"${ intent . getString Extra ( Fr Constants . CHAIN _ TYPE )} Ġ èĬĤçĤ¹ è®¾ç½® ") č Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġset Right Btn Icon And Click ( R . mip map . src _ lib _ e ui _ icon _ add contact ) Ġ{ č Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġext Start Activity ( Custom Node Activity :: class . java , Ġintent . extras !! ) č Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġre cycler view . apply Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Manager Ġ= ĠLinearLayoutManager ( this @ Change Node Activity ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Ġ= Ġlist Adapter čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġval Ġfooter : ĠView ? Ġ= ĠLayoutInflater . from ( this )?. inflate ( R . layout . layout _ wallet _ footer , Ġr cv _ wm _ wallet , Ġfalse ) čĊĠĠĠĠĠĠĠ Ġval Ġtv _ title Ġ= Ġfooter ?. findViewById < TextView >( R . id . tv _ title ) čĊĠĠĠĠĠĠĠ Ġtv _ title ?. setText ( resources . getString ( R . string . t jz dy jd )) čĊĠĠĠĠĠĠĠ Ġlist Adapter . set Footer View ( footer ) čĊĠĠĠĠĠĠĠ Ġfooter !!. setOnClickListener { č Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġext Start Activity ( Custom Node Activity :: class . java , Ġintent . extras !! ) čĊĠĠĠĠĠĠĠĠĠĠĠ ĠAdd Node Dialog ( this ). apply Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Conf rim Ġ= Ġobject Ġ: čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFull Screen Dialog . On Confirm Listener Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġconfirm ( params : ĠAny ?) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinput Node Url Ġ= Ġparams Ġas ĠString čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Node () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. show () čĊĠĠĠĠĠĠĠ Ġ} čĊčĊčĊĠĠĠĠĠĠĠ Ġview model . observer Data Change ( this , Ġthis :: state Change ) čĊĠĠĠ Ġ} čĊĠĠĠ Ġvar Ġnode Info : ĠChain Node Dao ? Ġ= Ġnull čĊĠĠĠ Ġfun Ġadd Node (){ čĊĠĠĠĠĠĠĠ Ġnode Info Ġ= ĠChain Node Dao () čĊĠĠĠĠĠĠĠ Ġval Ġget list Ġ= ĠChain Node Operator . query NodeList ( intent . getString Extra ( Fr Constants . CHAIN _ TYPE )) čĊĠĠĠĠĠĠĠ Ġif Ġ( get list != null Ġ&& Ġget list ?. size !! Ġ> Ġ 0 ){ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġitem Ġ= Ġget list . get ( 0 ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġnode Info !!. run Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchain Type Ġ= Ġintent . getString Extra ( Fr Constants . CHAIN _ TYPE ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠnodeName Ġ= Ġitem . nodeName čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnode Url Ġ= Ġinput Node Url // item . node Url čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchain Id Ġ= Ġitem . chain Id čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsymbol Ġ= Ġitem . symbol čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbrowser Ġ= Ġitem . browser čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Current Ġ= Ġ 0 čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnet Type Ġ= Ġ 2 čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊčĊč ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( node Info !!. nodeName . check IsEmpty ()) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Toast (" è¯·è¾ĵåħ¥ èĬĤçĤ¹ åĲįç§° ") čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( node Info !!. node Url . check IsEmpty ()) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Toast (" è¯·è¾ĵåħ¥ RPC åľ°åĿĢ ") čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( node Info !!. chain Id . check IsEmpty ()) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Toast (" è¯·è¾ĵåħ¥ Chain Id ") čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠĠĠĠĠ Ġview model . verify Node ( čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent . getString Extra ( Fr Constants . CHAIN _ TYPE ), Ġnode Info !!. node Url !! , Ġnode Info !!. chain Id !! čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊčĊĠĠĠ Ġoverride Ġfun Ġload Data () Ġ{ čĊĠĠĠĠĠĠĠ Ġval Ġget Ġ= ĠChain Node Operator . query NodeList ( intent . getString Extra ( Fr Constants . CHAIN _ TYPE )) čĊĠĠĠĠĠĠĠ Ġlist Adapter . set New Data ( get ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġon Restart () Ġ{ čĊĠĠĠĠĠĠĠ Ġsuper . on Restart () čĊĠĠĠĠĠĠĠ Ġload Data () čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġfun Ġstate Change ( state : ĠNode View model . State ) Ġ{ čĊĠĠĠĠĠĠĠ Ġext Show Or Dismiss Dialog ( state . is Show Loading ) čĊĠĠĠĠĠĠĠ Ġstate . error info ?. run Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġshow Top Toast ( this @ Change Node Activity , msg , false ) čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġstate . verify Result ?. run Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( result Data Ġ?: Ġfalse ) Ġ{ čĊčĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġold Node Ġ= Ġintent . get Serializable Extra ( Fr Constants . PARAMS _ NODE _ INFO ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġoperator Result Ġ= Ġfalse čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( old Node Ġ== Ġnull ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoperator Result Ġ= ĠChain Node Operator . add Node ( node Info !! ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoperator Result Ġ= ĠChain Node Operator . update Node ( node Info !! , Ġ( old Node Ġas ĠChain Node Dao ). id ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( operator Result ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġext Finish With Anim () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Toast (" å·² åŃĺåľ¨ çĽ¸åĲĮ éħįç½® èĬĤçĤ¹ ") čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ čĊĠĠĠĠĠĠĠ Ġsuper . on Resume () čĊĠĠĠĠĠĠĠ ĠOpen Lock App Dialog Utils . Open Dialog ( this ) čĊĠĠĠ Ġ} č Ċ }