package Ġio . horizontal systems . bank wallet . modules . enable coin . coin platforms Ċ Ċ import Ġio . horizontal systems . market kit . models . Coin Ċ import Ġio . horizontal systems . market kit . models . Full Coin Ċ import Ġio . horizontal systems . market kit . models . Platform Ċ import Ġio . reactivex . subjects . Publish Subject Ċ Ċ class ĠCoin Platforms Service Ġ{ ĊĠĠĠ Ġval Ġapprove Platforms Observable Ġ= ĠPublish Subject . create < Coin With Platforms >() ĊĠĠĠ Ġval Ġreject Approve Platforms Observable Ġ= ĠPublish Subject . create < Coin >() ĊĠĠĠ Ġval Ġrequest Observable Ġ= ĠPublish Subject . create < Request >() ĊĊĠĠĠ Ġfun Ġapprove Platforms ( full Coin : ĠFull Coin , Ġcurrent Platforms : ĠList < Platform > Ġ= ĠlistOf ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( full Coin . platforms . size Ġ== Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapprove Platforms Observable . onNext ( Coin With Platforms ( full Coin . coin , Ġfull Coin . platforms )) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Observable . onNext ( Request ( full Coin , Ġcurrent Platforms )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġselect ( platforms : ĠList < Platform >, Ġcoin : ĠCoin ) Ġ{ ĊĠĠĠĠĠĠĠ Ġapprove Platforms Observable . onNext ( Coin With Platforms ( coin , Ġplatforms )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcancel ( coin : ĠCoin ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreject Approve Platforms Observable . onNext ( coin ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdata Ġclass ĠCoin With Platforms ( ĊĠĠĠĠĠĠĠ Ġval Ġcoin : ĠCoin , ĊĠĠĠĠĠĠĠ Ġval Ġplatforms : ĠList < Platform > Ġ= ĠlistOf () ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġdata Ġclass ĠRequest ( ĊĠĠĠĠĠĠĠ Ġval Ġfull Coin : ĠFull Coin , ĊĠĠĠĠĠĠĠ Ġval Ġcurrent Platforms : ĠList < Platform > ĊĠĠĠ Ġ) Ċ } Ċ