package Ġcom . k rm . t mdb . ui . fragments . tv shows . category Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . fragment . app . FragmentManager Ċ import Ġcom . k rm . t mdb . data . api . News Api Ċ import Ġcom . k rm . t mdb . ui . activities . base . Base Interactor Ċ import Ġcom . k rm . t mdb . utils . schedul ers . Scheduler Provider Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠInter actor Category Tv < V Ġ: ĠInterface Category Tv . View Category Tv > Ġ@ Inject Ġconstructor ( support Fragment : ĠFragment Manager , Ġcontext : ĠContext , Ġapi : ĠNews Api ) Ġ: ĠBase Interactor < V >( support Fragment , Ġcontext , api ), ĊĠĠĠ ĠInterface Category Tv . Interactor < V > Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġcategory : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġnext Page : ĠInt Ġ= Ġ 1 ĊĊĠĠĠ Ġoverride Ġfun Ġget Page (): ĠInt Ġ= Ġnext Page ĊĊĠĠĠ Ġoverride Ġfun Ġset Category ( category : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . category Ġ= Ġcategory ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Params (): ĠMutable Map < String , ĠString > Ġ= Ġget Api (). get Params ( next Page ) ĊĊĠĠĠ Ġoverride Ġfun Ġget Tv Show (){ ĊĠĠĠĠĠĠĠ Ġget View (). add Disposable ( get Api (). get Tv Shows ( category !! , Ġget Params ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. do On Success Ġ{ Ġnext Page Ġ= Ġit . page Ġ+ Ġ 1 Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( Scheduler Provider . io ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Scheduler Provider . ui ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. do On Subscribe Ġ{ Ġif Ġ( is View Null ()) Ġget View (). show Loading () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// . do Finally Ġ{ Ġif Ġ( is View Null ()) Ġget View (). hidden Loading () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ({ Ġif Ġ( is View Null ()) Ġget View (). addItem Recycler ( it ) Ġ}, Ġ{ Ġif Ġ( is View Null ()) Ġget View (). hidden Loading Failed () Ġ})) ĊĠĠĠ Ġ} Ċ Ċ }