package Ġorg . w ats i . domain . use cases Ċ Ċ import Ġcom . google . gson . Gson Ċ import Ġio . reactivex . Comp letable Ċ import Ġio . reactivex . schedul ers . Schedulers Ċ import Ġorg . w ats i . domain . entities . Delta Ċ import Ġorg . w ats i . domain . repositories . Delta Repository Ċ import Ġorg . w ats i . domain . repositories . Encounter Repository Ċ import Ġjava . io . OutputStream Ċ Ċ class ĠExport Un sync ed Claims As Json UseCase ( ĊĠĠĠ Ġprivate Ġval Ġdelta Repository : ĠDelta Repository , ĊĠĠĠ Ġprivate Ġval Ġencounter Repository : ĠEn counter Repository Ċ ) Ġ{ ĊĠĠĠ Ġfun Ġexecute ( out Stream : ĠOutputStream , Ġgson : ĠGson ): ĠComp letable Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠComp letable . from Action Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġun sync ed Encounter Del tas Ġ= Ġdelta Repository . un sync ed ( Delta . ModelName . EN COUNTER ). blocking Get () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġun sync ed Encounter Ids Ġ= Ġun sync ed Encounter Del tas . map Ġ{ Ġit . model Id Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġencounter sWith Extras Ġ= Ġencounter Repository . findAll With Extras ( un sync ed Encounter Ids ). blocking Get () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfile Content Ġ= Ġgson . toJson ( en counter sWith Extras ). toByteArray ( charset Ġ= ĠChar sets . UTF _ 8 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġout Stream . use Ġ{ Ġout Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġout . write ( file Content ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}. subscribe On ( Schedulers . io ()) ĊĠĠĠ Ġ} Ċ } Ċ