package Ġorg . step ik . android . data . network . repository Ċ Ċ import Ġio . reactivex . Observable Ċ import Ġio . reactivex . Single Ċ import Ġorg . step ic . d roid . persistence . model . Download Configuration Ċ import Ġorg . step ik . android . data . network . source . Network Type Cache DataSource Ċ import Ġorg . step ik . android . domain . network . repository . Network Type Repository Ċ import Ġjava . util . Enum Set Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠNetwork Type Repository Impl Ċ @ Inject Ċ constructor ( ĊĠĠĠ Ġprivate Ġval Ġnetwork Type Cache DataSource : ĠNetwork Type Cache DataSource Ċ ) Ġ: ĠNetwork Type Repository Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġget Available Network Types (): ĠSingle < Enum Set < Download Configuration . Network Type >> Ġ= ĊĠĠĠĠĠĠĠ Ġnetwork Type Cache DataSource . get Available Network Types () ĊĊĠĠĠ Ġoverride Ġfun Ġget Available Network Types Stream (): ĠObservable < Enum Set < Download Configuration . Network Type >> Ġ= ĊĠĠĠĠĠĠĠ Ġnetwork Type Cache DataSource . get Available Network Types Stream () ĊĊĠĠĠ Ġoverride Ġfun Ġget Allowed Network Types (): ĠSingle < Enum Set < Download Configuration . Network Type >> Ġ= ĊĠĠĠĠĠĠĠ Ġnetwork Type Cache DataSource . get Allowed Network Types () Ċ }