package Ġio . github . w ulkan owy . data . repositories . subject Ċ Ċ import Ġio . github . w ulkan owy . api . Api Ċ import Ġio . github . w ulkan owy . data . db . entities . Se mester Ċ import Ġio . github . w ulkan owy . data . db . entities . Subject Ċ import Ġio . reactivex . Single Ċ import Ġjavax . inject . Inject Ċ import Ġjavax . inject . Singleton Ċ Ċ @ Singleton Ċ class ĠSubject Remote Ġ@ Inject Ġconstructor ( private Ġval Ġapi : ĠApi ) Ġ{ ĊĊĠĠĠ Ġfun Ġget Subject s ( semester : ĠSe mester ): ĠSingle < List < Subject >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠSingle . just ( api . apply Ġ{ Ġdi ary Id Ġ= Ġse mester . di ary Id Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. flatMap Ġ{ Ġapi . get Subject s () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġsubjects Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsubjects . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSubject ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstudent Id Ġ= Ġse mester . student Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdi ary Id Ġ= Ġse mester . di ary Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġit . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreal Id Ġ= Ġit . value ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ