/* Ċ Ġ* ĠCreated Ġby ĠE du ard ĠZ ay del Ġon Ġ 1 / 4 / 2 0 1 9 Ċ Ġ* ĠCopyright ĠÂ© Ġ 2 0 1 9 ĠW aves ĠPlatform . ĠAll Ġrights Ġreserved . Ċ Ġ*/ Ċ Ċ package Ġcom . waves platform . wallet . v 2 . ui . home . profile . addresses . alias Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 7 . widget . Linear LayoutManager Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . TextView Ċ import Ġcom . are l lo mobile . mvp . presenter . Inject Presenter Ċ import Ġcom . are l lo mobile . mvp . presenter . Provide Presenter Ċ import Ġcom . waves platform . wallet . R Ċ import Ġcom . waves platform . sdk . utils . Money Util Ċ import Ġcom . waves platform . wallet . v 2 . data . Constants Ċ import Ġcom . waves platform . sdk . model . response . node . transaction . Alias Transaction Response Ċ import Ġcom . waves platform . wallet . v 2 . data . analytics . An alytic Events Ċ import Ġcom . waves platform . wallet . v 2 . data . analytics . analytics Ċ import Ġcom . waves platform . wallet . v 2 . ui . base . view . Base Super Bottom Sheet Dialog Fragment Ċ import Ġcom . waves platform . wallet . v 2 . ui . custom . Image ProgressBar Ċ import Ġcom . waves platform . wallet . v 2 . ui . home . profile . addresses . alias . create . Create Alias Activity Ċ import Ġcom . waves platform . wallet . v 2 . util . launch Activity Ċ import Ġcom . waves platform . sdk . utils . notNull Ċ import Ġcom . waves platform . wallet . v 2 . util . show Error Ċ import Ġkotlinx . android . synt hetic . main . bottom _ sheet _ dialog _ aliases _ layout . view .* Ċ import Ġpers . v ictor . ext . click Ċ import Ġpers . v ictor . ext . g one Ċ import Ġpers . v ictor . ext . vis iable Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠAlias Bottom Sheet Fragment Ġ: ĠBase Super Bottom Sheet Dialog Fragment (), ĠAlias View Ġ{ ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġadapter : ĠAli ases Adapter ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġ@ Inject Presenter ĊĠĠĠ Ġlateinit Ġvar Ġpresenter : ĠAlias Presenter ĊĊĠĠĠ Ġ@ Provide Presenter ĊĠĠĠ Ġfun Ġprovide Presenter (): ĠAlias Presenter Ġ= Ġpresenter ĊĊĠĠĠ Ġvar ĠonCreate Alias Listener : ĠOn Create Alias Listener ? Ġ= Ġnull ĊĊĠĠĠ Ġvar Ġtype Ġ= ĠTYPE _ EMPTY ĊĠĠĠ Ġvar Ġfrom Ġ= ĠFROM _ WAL LET ĊĊĠĠĠ Ġlateinit Ġvar Ġroot View : ĠView ĊĠĠĠ Ġlateinit Ġvar ĠprogressBar Fee : ĠImage ProgressBar ĊĠĠĠ Ġlateinit Ġvar Ġfee Transaction : ĠTextView ĊĠĠĠ Ġlateinit Ġvar Ġbutton Create Alias : ĠView ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate View ( in flater , Ġcontainer , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTYPE _ EMPTY Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View Ġ= Ġinflater . inflate ( R . layout . bottom _ sheet _ dialog _ aliases _ empty _ layout , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbutton Create Alias Ġ= Ġroot View . findViewById < View >( R . id . button _ create _ alias ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbutton Create Alias . click Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlaunch Activity < Create Alias Activity >( REQUEST _ CREATE _ ALIAS ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( Create Alias Activity . B UNDLE _ BLOCK CHAIN _ COMM IS SION , Ġpresenter . fee ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTYPE _ CONTENT Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Ġ= ĠAli ases Adapter () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . subscriptions Ġ= Ġevent Subscriptions ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View Ġ= Ġinflater . inflate ( R . layout . bottom _ sheet _ dialog _ aliases _ layout , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . recycle _ aliases . layout Manager Ġ= ĠLinearLayoutManager ( this . context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . recycle _ aliases . is Nested Scrolling Enabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . recycle _ aliases . adapter Ġ= Ġadapter ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbutton Create Alias Ġ= Ġroot View . findViewById < View >( R . id . button _ create _ alias ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . relative _ about _ alias . click Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( root View . expand able _ layout _ hidden . is Expanded ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . expand able _ layout _ hidden . collapse () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . image _ arrow up . animate () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. rotation ( 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Duration ( 5 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. start () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . expand able _ layout _ hidden . expand () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot View . image _ arrow up . animate () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. rotation ( 1 8 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Duration ( 5 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. start () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbutton Create Alias . click Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog Event () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlaunch Activity < Create Alias Activity >( REQUEST _ CREATE _ ALIAS ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( Create Alias Activity . B UNDLE _ BLOCK CHAIN _ COMM IS SION , Ġpresenter . fee ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter . load Aliases Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . set New Data ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠprogressBar Fee Ġ= Ġroot View . findViewById < Image ProgressBar >( R . id . progress _ bar _ fee _ transaction ) ĊĠĠĠĠĠĠĠ Ġfee Transaction Ġ= Ġroot View . findViewById ( R . id . text _ fee _ transaction ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġroot View ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġlog Event () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( from Ġ== ĠFROM _ WAL LET ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġanalytics . track Event ( An alytic Events . Alias Create V card Event ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġanalytics . track Event ( An alytic Events . Alias Create Profile Event ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġpresenter . load Com mission ( object Ġ: ĠAlias Presenter . On Com mission Get Listener Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġshow Com mission Loading () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠprogressBar Fee . show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfee Transaction . g one () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbutton Create Alias . isEnabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġshow Com mission Success ( un scaled Amount : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfee Transaction . text Ġ= ĠMoney Util . getS ca led Text ( un scaled Amount , Ġ 8 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠprogressBar Fee . hide () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfee Transaction . vis iable () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbutton Create Alias . isEnabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġshow Com mission Error () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfee Transaction . text Ġ= Ġ"-" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Error ( R . string . common _ error _ commission _ re ceiving , ĠR . id . root ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠprogressBar Fee . hide () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfee Transaction . vis iable () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġconfigure Dialog ( empty Type : ĠBoolean , Ġfrom : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtype Ġ= Ġif Ġ( empty Type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTYPE _ EMPTY ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTYPE _ CONTENT ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġthis . from Ġ= Ġfrom ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy View () Ġ{ ĊĠĠĠĠĠĠĠ ĠprogressBar Fee . hide () ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy View () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĠĠĠĠĠĠĠ Ġif Ġ( request Code Ġ== ĠREQUEST _ CREATE _ ALIAS Ġ&& ĠresultCode Ġ== ĠConstants . RESULT _ OK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġalias Model Ġ= Ġdata ?. get Parcelable Extra < Alias Transaction Response >( Create Alias Activity . RESULT _ ALIAS ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġalias Model . notNull Ġ{ Ġalias Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonCreate Alias Listener ?. on Success ( alias ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Network Connection Changed ( network Connected : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbutton Create Alias . isEnabled Ġ= Ġnetwork Connected ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġafter Success Load Aliases ( own Aliases : ĠList < Alias Transaction Response >) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠOn Create Alias Listener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun ĠonSuccess ( alias : ĠAlias Transaction Response ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠTYPE _ EMPTY Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠTYPE _ CONTENT Ġ= Ġ 2 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠREQUEST _ CREATE _ ALIAS Ġ= Ġ 4 3 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠFROM _ WAL LET Ġ= Ġ" wallet " ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠFROM _ PROFILE Ġ= Ġ" profile " ĊĠĠĠ Ġ} Ċ }