package Ġorg . tok end . template . features . invest . view Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . MenuItem Ċ import Ġandroid . view . View Ċ import Ġkotlinx . android . synt hetic . main . activity _ sale .* Ċ import Ġkotlinx . android . synt hetic . main . app bar _ with _ tabs .* Ċ import Ġkotlinx . android . synt hetic . main . toolbar .* Ċ import Ġorg . tok end . template . R Ċ import Ġorg . tok end . template . activities . Base Activity Ċ import Ġorg . tok end . template . features . invest . logic . Invest ment Info Holder Ċ import Ġorg . tok end . template . features . invest . model . Sale Record Ċ import Ġorg . tok end . template . features . invest . repository . Invest ment Info Repository Ċ import Ġorg . tok end . template . features . invest . view . fragments . Sale Pager Adapter Ċ import Ġorg . tok end . template . util . navigation . Navigator Ċ Ċ class ĠSale Activity Ġ: ĠBase Activity (), ĠInvest ment Info Holder Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Sale : ĠSale Record ĊĠĠĠ Ġoverride Ġval Ġsale : ĠSale Record ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġm Sale ĊĊĠĠĠ Ġoverride Ġval Ġinvestment Info Repository : ĠInvest ment Info Repository ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġrepository Provider . invest ment Info ( sale ) ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Allowed ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ sale ) ĊĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Sale Ġ= Ġintent . get Serializable Extra ( S ALE _ EXTRA ) Ġas ĠSale Record ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfinish WithError ( e ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġinvestment Info Repository . update () ĊĊĠĠĠĠĠĠĠ Ġsupport Post p one Enter Transition () ĊĊĠĠĠĠĠĠĠ Ġinit Toolbar () ĊĠĠĠĠĠĠĠ Ġinit ViewPager () ĊĠĠĠĠĠĠĠ Ġinit Invest Button () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Toolbar () Ġ{ ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar ) ĊĠĠĠĠĠĠĠ Ġsupport ActionBar ?. set Display Home As Up Enabled ( true ) ĊĠĠĠĠĠĠĠ Ġtitle Ġ= Ġsale . name ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit ViewPager () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĠSale Pager Adapter ( sale , Ġthis , Ġsupport FragmentManager ) ĊĠĠĠĠĠĠĠ Ġpager . adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠ Ġpager . off screen Page Limit Ġ= Ġadapter . count ĊĠĠĠĠĠĠĠ Ġapp bar _ tabs . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġapp bar _ tabs . setup With ViewPager ( pager ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Invest Button () Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠaccountId Ġ= Ġwallet Info Provider . get Wallet Info ()?. accountId ĊĊĠĠĠĠĠĠĠ Ġval Ġcan Invest Ġ= Ġsale . is Available ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ&& Ġsale . owner AccountId Ġ!= ĠaccountId ĊĊĠĠĠĠĠĠĠ Ġinvest _ button . visibility Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( can Invest ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView . GONE ĊĊĠĠĠĠĠĠĠ Ġinvest _ button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġopen Invest () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġopen Invest () Ġ{ ĊĠĠĠĠĠĠĠ ĠNavigator . from ( this ). open Invest ( sale ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmenu Inflater . inflate ( R . menu . share , Ġmenu ) ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . onCreate Options Menu ( menu ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . share Ġ-> Ġshare Data () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshare Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġurl Ġ= Ġ"${ url Config Provider . getConfig (). client } fund s /${ sale . id }/ campaign " ĊĠĠĠĠĠĠĠ Ġval Ġshare Text Ġ= Ġ"${ sale . name }\ n $ url " ĊĠĠĠĠĠĠĠ Ġval Ġsharing Intent Ġ= ĠIntent ( Intent . ACTION _ SEND ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġflags Ġ= ĠIntent . FLAG _ ACTIVITY _ NEW _ TASK Ġor ĠIntent . FLAG _ GRANT _ READ _ URI _ PERMISSION ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= Ġ" text / plain " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( Intent . EXTRA _ SUBJECT , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetString ( R . string . app _ name )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( Intent . EXTRA _ TEXT , Ġshare Text ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠstartActivity ( Intent . create Chooser ( sharing Intent , ĠgetString ( R . string . share _ sale ))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠS ALE _ EXTRA Ġ= Ġ" sale " ĊĊĠĠĠĠĠĠĠ Ġfun Ġget Bundle ( sale : ĠSale Record ) Ġ= ĠBundle (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput Serializable ( S ALE _ EXTRA , Ġsale ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }