package Ġco . uk . ken kw ok . t ulip man ia . ui . main Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Log Ċ import Ġco . uk . ken kw ok . t ulip man ia . R Ċ import Ġco . uk . ken kw ok . t ulip man ia . models .* Ċ import Ġco . uk . ken kw ok . t ulip man ia . network . Network Service Ċ import Ġco . uk . ken kw ok . t ulip man ia . service . Bit fin ex Service Ċ import Ġco . uk . ken kw ok . t ulip man ia . ui . base . Base ViewModel Ċ import Ġco . uk . ken kw ok . t ulip man ia . utils . AN X Credential Utils Ċ import Ġco . uk . ken kw ok . t ulip man ia . utils . Currency Utils Ċ import Ġco . uk . ken kw ok . t ulip man ia . utils . Network Utils Ċ import Ġio . reactivex . Observable Ċ import Ġio . reactivex . subjects . Publish Subject Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġke kw ok Ġon Ġ 1 8 / 0 9 / 2 0 1 7 . Ċ Ġ*/ Ċ Ċ class ĠMain ViewModel ( private Ġval Ġnetwork Service : ĠNetwork Service , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġcontext : ĠContext ) Ġ: ĠBase ViewModel () Ġ{ ĊĠĠĠ Ġoverride Ġval ĠTAG Ġ= Ġ" Main ViewModel " ĊĠĠĠ Ġprivate Ġval Ġticker Item Subject Ġ= ĠPublish Subject . create < RecyclerView Ticker Item >() ĊĊĠĠĠ Ġval Ġticker Observable : ĠObservable < RecyclerView Ticker Item > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġticker Item Subject . hide () ĊĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onStart () ĊĠĠĠĠĠĠĠ Ġget An x Ticker () ĊĠĠĠĠĠĠĠ Ġget Bit stamp Ticker () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsubscribe WebSocket Updates ( service : ĠBit fin ex Service ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcomposite Disposable . addAll ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġservice . get Bit fin ex BT CT icker Observable (). subscribe ({ Ġticker Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġticker Item Ġ= ĠRecyclerView Ticker Item ( ticker Item Ġ= ĠPrice Item ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcrypto Type Ġ= ĠCrypto Type . BTC , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexchange Name Ġ= ĠExchange Name . BIT FIN EX , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexchange Price Ġ= ĠCurrency Utils . convert Display Currency ( ticker . bid . toString ()), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtw enty Four Hour High Ġ= ĠCurrency Utils . convert Display Currency ( ticker . high . toString ()), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtw enty Four Hour Low Ġ= ĠCurrency Utils . convert Display Currency ( ticker . low . toString ())) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġticker Item Subject . onNext ( ticker Item ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġservice . get Bit fin ex ET HT icker Observable (). subscribe ({ Ġticker Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġticker Item Ġ= ĠRecyclerView Ticker Item ( ticker Item Ġ= ĠPrice Item ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcrypto Type Ġ= ĠCrypto Type . ETH , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexchange Name Ġ= ĠExchange Name . BIT FIN EX , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexchange Price Ġ= ĠCurrency Utils . convert Display Currency ( ticker . bid . toString ()), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtw enty Four Hour High Ġ= ĠCurrency Utils . convert Display Currency ( ticker . high . toString ()), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtw enty Four Hour Low Ġ= ĠCurrency Utils . convert Display Currency ( ticker . low . toString ())) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġticker Item Subject . onNext ( ticker Item ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġservice . get Bit fin ex XR PT icker Observable (). subscribe ({ Ġticker Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġticker Item Ġ= ĠRecyclerView Ticker Item ( ticker Item Ġ= ĠPrice Item ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcrypto Type Ġ= ĠCrypto Type . X RP , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexchange Name Ġ= ĠExchange Name . BIT FIN EX , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexchange Price Ġ= ĠCurrency Utils . convert Display Currency ( ticker . bid . toString ()), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtw enty Four Hour High Ġ= ĠCurrency Utils . convert Display Currency ( ticker . high . toString ()), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtw enty Four Hour Low Ġ= ĠCurrency Utils . convert Display Currency ( ticker . low . toString ())) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġticker Item Subject . onNext ( ticker Item ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġinit Ticker List (): ĠObservable < ArrayList < RecyclerView Ticker Item >> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġticker List Ġ= ĠArrayList < RecyclerView Ticker Item >() ĊĠĠĠĠĠĠĠ Ġticker List . add ( RecyclerView Ticker Item ( context . getString ( R . string . btc _ heading ))) ĊĠĠĠĠĠĠĠ Ġticker List . add ( RecyclerView Ticker Item ( ticker Item Ġ= ĠPrice Item ( crypto Type Ġ= ĠCrypto Type . BTC , Ġexchange Name Ġ= ĠExchange Name . AN X PRO ))) ĊĠĠĠĠĠĠĠ Ġticker List . add ( RecyclerView Ticker Item ( ticker Item Ġ= ĠPrice Item ( crypto Type Ġ= ĠCrypto Type . BTC , Ġexchange Name Ġ= ĠExchange Name . BIT FIN EX ))) ĊĠĠĠĠĠĠĠ Ġticker List . add ( RecyclerView Ticker Item ( ticker Item Ġ= ĠPrice Item ( crypto Type Ġ= ĠCrypto Type . BTC , Ġexchange Name Ġ= ĠExchange Name . BIT STAMP ))) ĊĊĠĠĠĠĠĠĠ Ġticker List . add ( RecyclerView Ticker Item ( context . getString ( R . string . eth _ heading ))) ĊĠĠĠĠĠĠĠ Ġticker List . add ( RecyclerView Ticker Item ( ticker Item Ġ= ĠPrice Item ( crypto Type Ġ= ĠCrypto Type . ETH , Ġexchange Name Ġ= ĠExchange Name . AN X PRO ))) ĊĠĠĠĠĠĠĠ Ġticker List . add ( RecyclerView Ticker Item ( ticker Item Ġ= ĠPrice Item ( crypto Type Ġ= ĠCrypto Type . ETH , Ġexchange Name Ġ= ĠExchange Name . BIT FIN EX ))) ĊĠĠĠĠĠĠĠ Ġticker List . add ( RecyclerView Ticker Item ( ticker Item Ġ= ĠPrice Item ( crypto Type Ġ= ĠCrypto Type . ETH , Ġexchange Name Ġ= ĠExchange Name . BIT STAMP ))) ĊĊĠĠĠĠĠĠĠ Ġticker List . add ( RecyclerView Ticker Item ( context . getString ( R . string . x rp _ heading ))) ĊĠĠĠĠĠĠĠ Ġticker List . add ( RecyclerView Ticker Item ( ticker Item Ġ= ĠPrice Item ( crypto Type Ġ= ĠCrypto Type . X RP , Ġexchange Name Ġ= ĠExchange Name . BIT FIN EX ))) ĊĠĠĠĠĠĠĠ Ġticker List . add ( RecyclerView Ticker Item ( ticker Item Ġ= ĠPrice Item ( crypto Type Ġ= ĠCrypto Type . X RP , Ġexchange Name Ġ= ĠExchange Name . BIT STAMP ))) ĊĊĠĠĠĠĠĠĠ Ġreturn ĠObservable . just ( ticker List ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Bit fin ex Ticker () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcurrency Pair Ġ= Ġ" btc usd " ĊĠĠĠĠĠĠĠ Ġcomposite Disposable . add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnetwork Service ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. get Bit fin ex Ticker Data ( currency Pair ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. onError Resume Next Ġ{ Ġthrowable : ĠThrowable Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e ( TAG , Ġthrowable . message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġticker Item Subject . onNext ( RecyclerView Ticker Item ( error Ġ= ĠThrowable ( Exchange Name . BIT FIN EX . exchange ))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠObservable . empty () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ Ġticker Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġticker Item Ġ= ĠRecyclerView Ticker Item ( ticker Item Ġ= ĠPrice Item ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcrypto Type Ġ= ĠCrypto Type . BTC , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexchange Name Ġ= ĠExchange Name . BIT FIN EX , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexchange Price Ġ= ĠCurrency Utils . convert Display Currency ( ticker . bid ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtw enty Four Hour High Ġ= ĠCurrency Utils . convert Display Currency ( ticker . high ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtw enty Four Hour Low Ġ= ĠCurrency Utils . convert Display Currency ( ticker . low )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġticker Item Subject . onNext ( ticker Item ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Bit stamp Ticker () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbitcoin Pair Ġ= Ġ" btc usd " ĊĠĠĠĠĠĠĠ Ġval Ġe thereum Pair Ġ= Ġ" eth usd " ĊĠĠĠĠĠĠĠ Ġval Ġri pple Pair Ġ= Ġ" x rp usd " ĊĠĠĠĠĠĠĠ Ġcomposite Disposable . addAll ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnetwork Service ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. get Bit stamp Ticker Data ( bitcoin Pair ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. onError Resume Next Ġ{ Ġthrowable : ĠThrowable Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e ( TAG , Ġthrowable . message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġticker Item Subject . onNext ( RecyclerView Ticker Item ( ticker Item Ġ= ĠPrice Item ( crypto Type Ġ= ĠCrypto Type . BTC , Ġexchange Name Ġ= ĠExchange Name . BIT STAMP ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerror Ġ= ĠThrowable ( Exchange Name . BIT STAMP . exchange ))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠObservable . empty () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ Ġticker Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġticker Item Ġ= ĠRecyclerView Ticker Item ( ticker Item Ġ= ĠPrice Item ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcrypto Type Ġ= ĠCrypto Type . BTC , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexchange Name Ġ= ĠExchange Name . BIT STAMP , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexchange Price Ġ= ĠCurrency Utils . convert Display Currency ( ticker . bid ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtw enty Four Hour High Ġ= ĠCurrency Utils . convert Display Currency ( ticker . high ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtw enty Four Hour Low Ġ= ĠCurrency Utils . convert Display Currency ( ticker . low )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġticker Item Subject . onNext ( ticker Item ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnetwork Service . get Bit stamp Ticker Data ( ethereum Pair ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. onError Resume Next Ġ{ Ġthrowable : ĠThrowable Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e ( TAG , Ġthrowable . message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġticker Item Subject . onNext ( RecyclerView Ticker Item ( ticker Item Ġ= ĠPrice Item ( crypto Type Ġ= ĠCrypto Type . ETH , Ġexchange Name Ġ= ĠExchange Name . BIT STAMP ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerror Ġ= ĠThrowable ( Exchange Name . BIT STAMP . exchange ))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠObservable . empty () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ Ġticker Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġticker Item Ġ= ĠRecyclerView Ticker Item ( ticker Item Ġ= ĠPrice Item ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcrypto Type Ġ= ĠCrypto Type . ETH , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexchange Name Ġ= ĠExchange Name . BIT STAMP , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexchange Price Ġ= ĠCurrency Utils . convert Display Currency ( ticker . bid ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtw enty Four Hour High Ġ= ĠCurrency Utils . convert Display Currency ( ticker . high ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtw enty Four Hour Low Ġ= ĠCurrency Utils . convert Display Currency ( ticker . low )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġticker Item Subject . onNext ( ticker Item ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnetwork Service . get Bit stamp Ticker Data ( ripple Pair ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. onError Resume Next Ġ{ Ġthrowable : ĠThrowable Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e ( TAG , Ġthrowable . message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġticker Item Subject . onNext ( RecyclerView Ticker Item ( ticker Item Ġ= ĠPrice Item ( crypto Type Ġ= ĠCrypto Type . X RP , Ġexchange Name Ġ= ĠExchange Name . BIT STAMP ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerror Ġ= ĠThrowable ( Exchange Name . BIT STAMP . exchange ))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠObservable . empty () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ Ġticker Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġticker Item Ġ= ĠRecyclerView Ticker Item ( ticker Item Ġ= ĠPrice Item ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcrypto Type Ġ= ĠCrypto Type . X RP , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexchange Name Ġ= ĠExchange Name . BIT STAMP , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexchange Price Ġ= ĠCurrency Utils . convert Display Currency ( ticker . bid ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtw enty Four Hour High Ġ= ĠCurrency Utils . convert Display Currency ( ticker . high ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtw enty Four Hour Low Ġ= ĠCurrency Utils . convert Display Currency ( ticker . low )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġticker Item Subject . onNext ( ticker Item ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget An x Ticker () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcurrency Pair Ġ= Ġ" BTC USD " ĊĠĠĠĠĠĠĠ Ġval Ġextra C cy Pairs Ġ= Ġ" BT CH KD , ETH USD " ĊĠĠĠĠĠĠĠ Ġval Ġdata Ġ= Ġ"/ $ currency Pair / money / ticker " ĊĠĠĠĠĠĠĠ Ġval Ġapi Credentials Ġ= ĠAN X Credential Utils . get Api Credentials ( context ) ĊĠĠĠĠĠĠĠ Ġval Ġrest Sign Ġ= ĠNetwork Utils . generate Rest Sign ( api Credentials . api Secret , Ġdata . toByteArray ()) ĊĊĠĠĠĠĠĠĠ Ġcomposite Disposable . add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnetwork Service ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. get An x Ticker Data ( api Credentials . apiKey , Ġrest Sign , Ġcurrency Pair , Ġextra C cy Pairs ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. onError Resume Next Ġ{ Ġthrowable : ĠThrowable Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e ( TAG , Ġthrowable . message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġticker Item Subject . onNext ( RecyclerView Ticker Item ( ticker Item Ġ= ĠPrice Item ( crypto Type Ġ= ĠCrypto Type . BTC , Ġexchange Name Ġ= ĠExchange Name . AN X PRO ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerror Ġ= ĠThrowable ( Exchange Name . AN X PRO . exchange ))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġticker Item Subject . onNext ( RecyclerView Ticker Item ( ticker Item Ġ= ĠPrice Item ( crypto Type Ġ= ĠCrypto Type . ETH , Ġexchange Name Ġ= ĠExchange Name . AN X PRO ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerror Ġ= ĠThrowable ( Exchange Name . AN X PRO . exchange ))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠObservable . empty () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe Ġ{ Ġticker Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġticker Item Subject . onNext ( convert Currency Pair To Ticker Item ( ticker . data . eth usd , ĠCrypto Type . ETH )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġticker Item Subject . onNext ( convert Currency Pair To Ticker Item ( ticker . data . btc usd , ĠCrypto Type . BTC )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġconvert Currency Pair To Ticker Item ( pair : ĠCurrency Pair , Ġtype : ĠCrypto Type ): ĠRecyclerView Ticker Item Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠRecyclerView Ticker Item ( ticker Item Ġ= ĠPrice Item ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcrypto Type Ġ= Ġtype , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexchange Name Ġ= ĠExchange Name . AN X PRO , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexchange Price Ġ= ĠCurrency Utils . convert Display Currency ( pair . sell . display Short ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtw enty Four Hour High Ġ= ĠCurrency Utils . convert Display Currency ( pair . high . display Short ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtw enty Four Hour Low Ġ= ĠCurrency Utils . convert Display Currency ( pair . low . display Short )) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ