package Ġeu . kan ade . t ach iy omi . data . sync Ċ Ċ import Ġandroid . app . Service Ċ import Ġandroid . content . Intent Ċ Ċ /** Ċ Ġ* ĠDefine Ġa ĠService Ġthat Ġreturns Ġan ĠI Binder Ġfor Ġthe Ċ Ġ* Ġsync Ġadapter Ġclass , Ġallowing Ġthe Ġsync Ġadapter Ġframework Ġto Ġcall Ċ Ġ* Ġon Perform Sync (). Ċ Ġ*/ Ċ class ĠLibrary Sync Service Ġ: ĠService () Ġ{ ĊĠĠĠ Ġ/* ĊĠĠĠĠ Ġ* ĠInstantiate Ġthe Ġsync Ġadapter Ġobject . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun ĠonCreate () Ġ{ ĊĠĠĠĠĠĠĠ Ġ/* ĊĠĠĠĠĠĠĠĠ Ġ* ĠCreate Ġthe Ġsync Ġadapter Ġas Ġa Ġsingleton . ĊĠĠĠĠĠĠĠĠ Ġ* ĠSet Ġthe Ġsync Ġadapter Ġas Ġsync able ĊĠĠĠĠĠĠĠĠ Ġ* ĠDis allow Ġparallel Ġsync s ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġsynchronized ( s Sync Adapter Lock ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( s Sync Adapter Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs Sync Adapter Ġ= ĠLibrary Sync Adapter ( application Context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturn Ġan Ġobject Ġthat Ġallows Ġthe Ġsystem Ġto Ġinvoke ĊĠĠĠĠ Ġ* Ġthe Ġsync Ġadapter . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġon Bind ( intent : ĠIntent ) Ġ= Ġs Sync Adapter !!. sync Adapter Binder ĊĠĠĠĠĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠStorage Ġfor Ġan Ġinstance Ġof Ġthe Ġsync Ġadapter ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġs Sync Adapter : ĠLibrary Sync Adapter ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ// ĠObject Ġto Ġuse Ġas Ġa Ġthread - safe Ġlock ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġs Sync Adapter Lock Ġ= ĠAny () ĊĠĠĠ Ġ} Ċ } Ċ