package Ġorg . simple . clin ic . bp . history Ċ Ċ import Ġandroidx . paging . Position al DataSource Ċ import Ġcom . spotify . mob ius . functions . Consumer Ċ import Ġcom . spotify . mob ius . rx 2 . Rx Mob ius Ċ import Ġdagger . ass isted . Ass isted Ċ import Ġdagger . ass isted . Ass isted Factory Ċ import Ġdagger . ass isted . Ass isted Inject Ċ import Ġio . reactivex . Observable Transformer Ċ import Ġio . reactivex . Scheduler Ċ import Ġorg . simple . clin ic . bp . Blood Pressure History ListItem DataSource Factory Ċ import Ġorg . simple . clin ic . bp . Blood Pressure Measurement Ċ import Ġorg . simple . clin ic . bp . Blood Pressure Repository Ċ import Ġorg . simple . clin ic . patient . Patient Repository Ċ import Ġorg . simple . clin ic . util . filter And Un wrap Just Ċ import Ġorg . simple . clin ic . util . scheduler . Schedulers Provider Ċ Ċ class ĠB lood Pressure History Screen Effect Handler Ġ@ Ass isted Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġblood Pressure Repository : ĠB lood Pressure Repository , ĊĠĠĠ Ġprivate Ġval Ġpatient Repository : ĠPatient Repository , ĊĠĠĠ Ġprivate Ġval Ġs chedulers Provider : ĠS chedulers Provider , ĊĠĠĠ Ġprivate Ġval ĠdataSource Factory : ĠB lood Pressure History ListItem DataSource Factory . Factory , ĊĠĠĠ Ġ@ Ass isted Ġprivate Ġval Ġui Actions : ĠB lood Pressure History Screen Ui Actions , ĊĠĠĠ Ġ@ Ass isted Ġprivate Ġval Ġview Effects Consumer : ĠConsumer < Blood Pressure History View Effect > Ċ ) Ġ{ ĊĊĠ Ġ@ Ass isted Factory ĊĠ Ġinterface ĠFactory Ġ{ ĊĠĠĠ Ġfun Ġcreate ( ĊĠĠĠĠĠĠĠ Ġui Actions : ĠB lood Pressure History Screen Ui Actions , ĊĠĠĠĠĠĠĠ Ġview Effects Consumer : ĠConsumer < Blood Pressure History View Effect > ĊĠĠĠ Ġ): ĠB lood Pressure History Screen Effect Handler ĊĠ Ġ} ĊĊĠ Ġfun Ġbuild (): ĠObservable Transformer < Blood Pressure History Screen Effect , ĠB lood Pressure History Screen Event > Ġ{ ĊĠĠĠ Ġreturn ĠRx Mob ius ĊĠĠĠĠĠĠĠ Ġ. subtype Effect Handler < Blood Pressure History Screen Effect , ĠB lood Pressure History Screen Event >() ĊĠĠĠĠĠĠĠ Ġ. add Transformer ( Load Patient :: class . java , Ġload Patient ( schedul ers Provider . io ())) ĊĠĠĠĠĠĠĠ Ġ. add Consumer ( Show Blood Press ures :: class . java , Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġ// ĠTODO Ġ( SM ): ĠConvert Ġthis Ġto Ġpaging Ġsource Ġand Ġthen Ġmigrate Ġ` Show Blood Press ures ` Ġeffect Ġto Ġview Ġeffect ĊĠĠĠĠĠĠĠĠĠ Ġval ĠdataSource Ġ= Ġblood Pressure Repository . all Blood Press ures DataSource ( it . patient Uuid ). create () Ġas ĠPosition al DataSource < Blood Pressure Measurement > ĊĠĠĠĠĠĠĠĠĠ Ġval ĠdataSource Factory Ġ= ĠdataSource Factory . create ( dataSource ) ĊĊĠĠĠĠĠĠĠĠĠ Ġui Actions . show Blood Press ures ( dataSource Factory ) ĊĠĠĠĠĠĠĠ Ġ}, Ġs chedulers Provider . ui ()) ĊĠĠĠĠĠĠĠ Ġ. add Consumer ( Blood Pressure History View Effect :: class . java , Ġview Effects Consumer :: accept ) ĊĠĠĠĠĠĠĠ Ġ. build () ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġload Patient ( ĊĠĠĠĠĠ Ġscheduler : ĠScheduler ĊĠ Ġ): ĠObservable Transformer < Load Patient , ĠB lood Pressure History Screen Event > Ġ{ ĊĠĠĠ Ġreturn ĠObservable Transformer Ġ{ Ġeffect Ġ-> ĊĠĠĠĠĠ Ġeffect ĊĠĠĠĠĠĠĠĠĠ Ġ. switch Map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpatient Repository ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. patient ( it . patient Uuid ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. take ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( scheduler ) ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠ Ġ. filter And Un wrap Just () ĊĠĠĠĠĠĠĠĠĠ Ġ. map (:: Patient Loaded ) ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ