/* Ċ Ġ* ĠCopyright Ġ 2 0 1 8 ĠCoin base , ĠInc . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . coin base . sample Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . support . v 7 . widget . Linear LayoutManager Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . TextView Ċ import Ġcom . coin base . resources . payment methods . models . PaymentMethod Ċ import Ġio . reactivex . android . schedul ers . Android Schedulers Ċ import Ġio . reactivex . dis pos ables . Composite Disposable Ċ import Ġkotlinx . android . synt hetic . main . activity _ payment _ methods .* Ċ import Ġkotlinx . android . synt hetic . main . item _ payment _ method . view .* Ċ import Ġjava . util .* Ċ Ċ class ĠPayment Methods Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġon Destroy Disposable Ġ= ĠComposite Disposable () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ payment _ methods ) ĊĠĠĠĠĠĠĠ Ġsupport ActionBar ?. set Display Home As Up Enabled ( true ) ĊĊĠĠĠĠĠĠĠ Ġre cyclerView . layout Manager Ġ= ĠLinearLayoutManager ( this ) ĊĊĠĠĠĠĠĠĠ Ġcoin base . payment Method Resource ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. get Payment Methods Rx () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Android Schedulers . main Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Progress ( this :: show Progress ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. addTo Disposable ( on Destroy Disposable ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ({ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġre cyclerView . adapter Ġ= ĠRe cycler Adapter ( this @ Payment Methods Activity , Ġit . data ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġthis :: show Error ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġon Destroy Disposable . dispose () ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Progress ( show : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġre cyclerView . isVisible Ġ= Ġ! show ĊĠĠĠĠĠĠĠ ĠprogressBar . isVisible Ġ= Ġshow ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġclass ĠRe cycler Adapter ( context : ĠContext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġpayment Methods : ĠList < PaymentMethod >) Ġ: ĠRecyclerView . Adapter < ViewHolder >() Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġlayout Inflater Ġ= ĠLayoutInflater . from ( context ) ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠViewHolder ( layout Inflater . inflate ( R . layout . item _ payment _ method , Ġparent , Ġfalse )) ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpayment Methods . size ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . bind ( payment Methods [ position ]) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġclass ĠViewHolder ( view : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( view ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġcurrency : ĠTextView Ġ= ĠitemView . currency ĊĠĠĠĠĠĠĠ Ġval Ġpayment MethodName : ĠTextView Ġ= ĠitemView . payment MethodName ĊĠĠĠĠĠĠĠ Ġval Ġbuy Info : ĠTextView Ġ= ĠitemView . buy Info ĊĠĠĠĠĠĠĠ Ġval Ġsell Info : ĠTextView Ġ= ĠitemView . sell Info ĊĠĠĠĠĠĠĠ Ġval Ġdeposit Info : ĠTextView Ġ= ĠitemView . deposit Info ĊĠĠĠĠĠĠĠ Ġval Ġwithdraw al Info : ĠTextView Ġ= ĠitemView . withdraw al Info ĊĠĠĠĠĠĠĠ Ġval Ġprimary Info : ĠTextView Ġ= ĠitemView . primary Info ĊĊĠĠĠĠĠĠĠ Ġfun Ġbind ( payment Method : ĠPayment Method ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= ĠitemView . context ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrency . text Ġ= Ġpayment Method . currency ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpayment MethodName . text Ġ= Ġpayment Method . type And Name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuy Info . text Ġ= Ġcontext . getString ( R . string . format _ buy _ info , Ġpayment Method . allow Buy . icon , Ġpayment Method . instant Buy . icon ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsell Info . text Ġ= Ġcontext . getString ( R . string . format _ sell _ info , Ġpayment Method . allow Sell . icon , Ġpayment Method . instant Sell . icon ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdeposit Info . text Ġ= Ġcontext . getString ( R . string . format _ deposit _ info , Ġpayment Method . allow Deposit . icon ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwithdraw al Info . text Ġ= Ġcontext . getString ( R . string . format _ withdraw _ info , Ġpayment Method . allow Withdraw . icon ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġprimary Info Text Ġ= Ġpayment Method . primary Info ( context ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġprimary Info . text Ġ= Ġcontext . getString ( R . string . format _ primary _ info , Ġprimary Info Text ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprimary Info . isVisible Ġ= Ġprimary Info Text . isNotEmpty () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġval ĠPayment Method . type And Name : ĠString ĊĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġicon Ġ= Ġwhen Ġ( this . type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPayment Method . TYPE _ ACH _ BANK _ ACCOUNT Ġ-> Ġ" ðŁı ¦ " ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPayment Method . TYPE _ FI AT _ ACCOUNT Ġ-> Ġ" ðŁĴ µ " ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPayment Method . TYPE _ CRED IT _ CARD , ĠPayment Method . TYPE _ DE BIT _ CARD Ġ-> Ġ" ðŁĴ ³ " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ" ðŁĴ ° " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠString . format ( Locale . US , Ġ"% s Ġ% s ", Ġicon , Ġname ) ĊĠĠĠ Ġ} Ċ Ċ private Ġfun ĠPayment Method . primary Info ( context : ĠContext ): ĠString Ġ{ ĊĠĠĠ Ġval Ġvalues Ġ= Ġmutable ListOf < String >() ĊĊĠĠĠ Ġif Ġ( primary Buy ) Ġvalues . add ( context . getString ( R . string . buy )) ĊĠĠĠ Ġif Ġ( primary Sell ) Ġvalues . add ( context . getString ( R . string . sell )) ĊĊĠĠĠ Ġreturn Ġif Ġ( values . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġ"" ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġvalues . join ToString (",") ĊĠĠĠ Ġ} Ċ } Ċ