package Ġcom . binary br icks . co iny . components . h istorical chart module Ċ Ċ import ĠLaunch Contract Ċ import Ġandroid . arch . lifecycle . Lifecycle Ċ import Ġandroid . arch . lifecycle . Lifecycle Observer Ċ import Ġandroid . arch . lifecycle . On Lifecycle Event Ċ import Ġcom . binary br icks . co iny . data . database . Coin y Database Ċ import Ġcom . binary br icks . co iny . data . database . entities . Coin Ċ import Ġcom . binary br icks . co iny . data . database . entities . Exchange Ċ import Ġcom . binary br icks . co iny . network . models . getC oin From CC Coin Ċ import Ġcom . binary br icks . co iny . network . schedul ers . Base Scheduler Provider Ċ import Ġcom . binary br icks . co iny . stories . Base Presenter Ċ import Ġcom . binary br icks . co iny . stories . Crypto Compare Repository Ċ import Ġtim ber . log . Tim ber Ċ Ċ /** Ċ ĠCreated Ġby ĠPr an ay ĠAir an Ċ Ġ*/ Ċ Ċ class ĠLaunch Presenter ( ĊĠĠĠ Ġprivate Ġval Ġscheduler Provider : ĠBase Scheduler Provider , ĊĠĠĠ Ġprivate Ġval Ġcoin y Database : ĠCoin y Database ? Ċ ) Ġ: ĠBase Presenter < Launch Contract . View >(), ĠLaunch Contract . Presenter , ĠLifecycle Observer Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġcoin Repo Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠCrypto Compare Repository ( scheduler Provider ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetAll Supported Coins () Ġ{ ĊĠĠĠĠĠĠĠ Ġcomposite Disposable . add ( coin Repo . getAll Coins () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit . size Ġ> Ġ 0 Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcoin List : ĠMutable List < Coin > Ġ= Ġmutable ListOf () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcoin List . add ( getC oin From CC Coin ( it )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcoin y Database ?. coin Dao () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . insert Coins ( coin List ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcoin List ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( scheduler Provider . ui ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ({ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . d (" Inserted Ġall Ġcoins Ġin Ġdb Ġwith Ġsize Ġ${ it . size }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . e ( it . localized Message ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetAll Supported Exchange s () Ġ{ ĊĠĠĠĠĠĠĠ Ġcomposite Disposable . add ( coin Repo . getAll Supported Exchange s () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit . size Ġ> Ġ 0 Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġexchange List : ĠMutable List < Exchange > Ġ= Ġmutable ListOf () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexchange List . add ( Exchange ( it )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcoin y Database ?. exchange Dao () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . insert Exchange s ( exchange List ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexchange List ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( scheduler Provider . ui ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ({ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . d (" Inserted Ġall Ġexchange Ġwith Ġsize Ġ${ it . size }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . e ( it . localized Message ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġcleanup ĊĠĠĠ Ġ@ On Lifecycle Event ( Lifecycle . Event . ON _ DESTROY ) ĊĠĠĠ Ġfun Ġclean Your Self () Ġ{ ĊĠĠĠĠĠĠĠ Ġdetach View () ĊĠĠĠ Ġ} Ċ }