package Ġcom . rune anim . bird view project . data . source Ċ Ċ import Ġcom . rune anim . bird view project . base . Base Response Ċ import Ġcom . rune anim . bird view project . data . model . Product Ċ import Ġcom . rune anim . bird view project . data . model . Product Detail Ċ import Ġcom . rune anim . bird view project . di . Application Module . Products Remote DataSource Ċ import Ġcom . rune anim . bird view project . ui . products . Skin Filter Type Ċ import Ġio . reactivex . Single Ċ import Ġio . reactivex . android . schedul ers . Android Schedulers Ċ import Ġio . reactivex . schedul ers . Schedulers Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠDefault Products Repository Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġ@ Products Remote DataSource Ġprivate Ġval Ġproducts Remote DataSource : ĠProducts DataSource Ċ ) Ġ: ĠProducts Repository Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġget Products ( ĊĠĠĠĠĠĠĠ Ġpage Num : ĠInt , ĊĠĠĠĠĠĠĠ Ġskin Type : ĠSk in Filter Type ?, ĊĠĠĠĠĠĠĠ Ġsearch Key Word : ĠString ? ĊĠĠĠ Ġ): ĠSingle < Base Response < List < Product >>> Ġ= ĊĠĠĠĠĠĠĠ Ġproducts Remote DataSource . get Products ( pageNum , Ġskin Type , Ġsearch Key Word ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( Schedulers . io ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Android Schedulers . main Thread ()) ĊĊĠĠĠ Ġoverride Ġfun Ġget Product Detail ( productId : ĠInt ): ĠSingle < Base Response < Product Detail >> Ġ= ĊĠĠĠĠĠĠĠ Ġproducts Remote DataSource . get Product Detail ( productId ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( Schedulers . io ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Android Schedulers . main Thread ()) Ċ Ċ } Ċ