package Ġcom . ah med m amd ou h 1 3 . the league . domain . use case Ċ Ċ import Ġcom . ah med m amd ou h 1 3 . the league . domain . Repository Ċ import Ġcom . ah med m amd ou h 1 3 . the league . domain . inter actor . Matches Interactor Ċ import Ġcom . ah med m amd ou h 1 3 . the league . domain . mapper . Schedule Mapper Ċ import Ġcom . ah med m amd ou h 1 3 . the league . domain . model . Domain Model Ċ import Ġcom . ah med m amd ou h 1 3 . the league . domain . util . Date U it l Ċ import Ġio . reactivex . Flow able Ċ import Ġio . reactivex . Single Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠGet Matches UseCase Ġ@ Inject Ġconstructor ( repo : ĠRepository , Ġdate U it l : ĠDate U it l , Ġschedule Mapper : ĠSchedule Mapper ) Ġ: ĠMat ches Interactor Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġrepository Ġ= Ġrepo ĊĠĠĠ Ġprivate Ġval Ġutil Ġ= Ġdate U it l ĊĠĠĠ Ġprivate Ġval Ġmapper Ġ= Ġschedule Mapper ĊĊĠĠĠ Ġoverride Ġfun Ġget Matches (): ĠSingle < Map < String , List < Domain Model >> >{ ĊĠĠĠĠĠĠ Ġreturn Ġrepository . get Matches () ĊĠĠĠĠĠĠĠĠĠ Ġ. map Ġ Ġ{ Ġdomain List Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmapper . get Matches In Schedule Form ( domain List ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġutil . is Date Valid ( it . date ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ d Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd . favorite Ġ= Ġrepository . is Match Favorite ( d . id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd . time Ġ= Ġutil . getTime From Utc Date ( d . date ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd . date Ġ= Ġutil . getDate From Utc Date ( d . date ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd . days Ġ= Ġutil . days Until Date ( d . date ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġget Days Until Date ( s : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( util . is This Day Today ( s )) Ġ" TO DAY " ĊĠĠĠĠĠĠĠ Ġelse Ġif Ġ(! util . is Date Valid ( s )) Ġ" Ended " ĊĠĠĠĠĠĠĠ Ġelse Ġutil . days Until Date ( s ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġfavorite Fixture ( domain Model : ĠDomain Model ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrepository . favorite Fixture ( domain Model ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġun Favorite Fixture ( id : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrepository . un Favorite Fixture ( id ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Favorite Matches (): ĠFlow able < List < Domain Model >> Ġ{ ĊĠĠĠĠĠĠ Ġreturn Ġrepository . get Favorite Matches (). ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . map Ġ{ d Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd . days Ġ= Ġget Days Until Date ( d . date ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }