package Ġcom . example . track me . domain . use case . track Ċ Ċ import Ġcom . example . track me . domain . Constants Ċ import Ġcom . example . track me . domain . model . Work out Record Ċ import Ġcom . example . track me . domain . repository . Work out Repository Ċ import Ġcom . example . track me . domain . use case . UseCase Ċ import Ġio . reactivex . Single Ċ import Ġjavax . inject . Inject Ċ Ċ open Ġclass ĠGet Work out Record List UseCase Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġwork out Repository : ĠWork out Repository Ċ ) Ġ: ĠUse Case < Get Work out Record List UseCase . Params , ĠSingle < List < Work out Record >> >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Observable ( params : ĠParams ?): ĠSingle < List < Work out Record >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( params ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull Ġ-> ĠSingle . error Ġ{ ĠThrowable ( Constants . PARAMS _ ERROR _ MSG ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġwork out Repository . get Work out Record List ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpaging Index Ġ= Ġparams . page Index , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpaging Size Ġ= Ġparams . pageSize ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdata Ġclass ĠParams ( ĊĠĠĠĠĠĠĠ Ġval Ġpage Index : ĠInt , ĊĠĠĠĠĠĠĠ Ġval ĠpageSize : ĠInt ĊĠĠĠ Ġ) Ċ }