package Ġcom . rus lan . hl ush an . game . storage . impl Ċ Ċ import Ġandroid . content . Context Ċ import Ġcom . rus lan . hl ush an . game . api . sync . Start Sync UseCase Ċ import Ġcom . rus lan . hl ush an . game . storage . impl . local . Local Records Repository Ċ import Ġcom . rus lan . hl ush an . game . storage . impl . workers . Sync Worker Ċ import Ġio . reactivex . Observable Ċ import Ġjavax . inject . Inject Ċ Ċ internal Ġclass ĠStart Sync UseCase Impl Ċ @ Inject Ċ constructor ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġapp Context : ĠContext , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġlocal Records Repository : ĠLocal Records Repository Ċ ) Ġ: ĠStart Sync UseCase Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġobserve Is Synchron izing (): ĠObservable < Boolean > Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlocal Records Repository . observe Is Synchron izing () ĊĊĠĠĠ Ġoverride Ġfun Ġstart () Ġ= ĠSync Worker . start ( app Context ) ĊĊĠĠĠ Ġoverride Ġfun Ġcancel () Ġ= ĠSync Worker . cancel ( app Context ) Ċ }