package Ġcom . hd hu u . domain . use case Ċ Ċ import Ġcom . hd hu u . domain . base . Base Comp letable UseCase Ċ import Ġcom . hd hu u . domain . base . Base Observable UseCase Ċ import Ġcom . hd hu u . domain . models . C andy Entity Ċ import Ġcom . hd hu u . domain . repository . C andy Repository Ċ import Ġcom . hd hu u . domain . scheduler . Post Execution Thread Ċ import Ġcom . hd hu u . domain . scheduler . Thread Executor Ċ import Ġio . reactivex . Comp letable Ċ import Ġio . reactivex . Observable Ċ Ċ open Ġclass ĠIncrease Counter Use case ( ĊĠĠĠ Ġthread Executor : ĠThread Executor , ĊĠĠĠ Ġpost Execution Thread : ĠPost Execution Thread , ĊĠĠĠ Ġval Ġrepo : ĠC andy Repository ) Ġ: ĠBase Comp letable UseCase < Increase Counter Use case . Params >( thread Executor , Ġpost Execution Thread ) Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġbuild UseCase Comp letable ( params : ĠParams ?): ĠComp letable Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrepo . increase C andy Count ( params ?. c andy ID !! , params . current Count ) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠParams ( val Ġc andy ID : ĠInt , Ġval Ġcurrent Count : ĠInt ) Ċ }