/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠGoogle ĠLLC . Ċ Ġ* Ċ Ġ* ĠThis Ġcode Ġmay Ġonly Ġbe Ġused Ġunder Ġthe ĠBSD Ġstyle Ġlicense Ġfound Ġat Ċ Ġ* Ġhttp :// polymer . github . io / LICENSE . txt Ċ Ġ* Ċ Ġ* ĠCode Ġdistributed Ġby ĠGoogle Ġas Ġpart Ġof Ġthis Ġproject Ġis Ġalso Ġsubject Ġto Ġan Ġadditional ĠIP Ġrights Ċ Ġ* Ġgrant Ġfound Ġat Ċ Ġ* Ġhttp :// polymer . github . io / PAT ENTS . txt Ċ Ġ*/ Ċ Ċ package Ġar cs . android . storage . service Ċ Ċ import Ġar cs . core . host . Arc Host Manager Ċ import Ġar cs . core . storage . Driver Factory Ċ import Ġar cs . core . storage . Storage Key Ċ import Ġar cs . core . storage . Store Ċ import Ġjava . util . concurrent . Concurrent HashMap Ċ import Ġkotlin . coroutines . Coroutine Context Ċ import Ġkotlinx . coroutines . Coroutine Name Ċ import Ġkotlinx . coroutines . run Blocking Ċ Ċ /** Ċ Ġ* ĠA Ġ[ Storage Service Manager ] Ġis Ġused Ġby Ġa Ġclient Ġof Ġthe Ġ[ Storage Service ] Ġto Ġmanage Ċ Ġ* Ġdata Ġstored Ġwithin Ġthe Ġ[ Storage Service ]. Ċ Ġ*/ Ċ class ĠStorage Service Manager ( ĊĠĠĠ Ġ/** Ġ[ Coroutine Context ] Ġon Ġwhich Ġto Ġbuild Ġone Ġspecific Ġto Ġthis Ġ[ Storage Service Manager ]. Ġ*/ ĊĠĠĠ Ġparent Coroutine Context : ĠCor outine Context , ĊĠĠĠ Ġ/** ĠThe Ġstores Ġmanaged Ġby ĠStorage Service . Ġ*/ ĊĠĠĠ Ġval Ġstores : ĠConcurrent HashMap < Storage Key , ĠStore < *, Ġ*, Ġ* >> Ċ ) Ġ: ĠI Storage Service Manager . Stub () Ġ{ ĊĊĠĠĠ Ġ/** ĠThe Ġlocal Ġ[ Coroutine Context ]. Ġ*/ ĊĠĠĠ Ġprivate Ġval Ġcoroutine Context Ġ= Ġparent Coroutine Context Ġ+ ĠCor outine Name (" Storage Service Manager ") ĊĊĠĠĠ Ġoverride Ġfun Ġclear All ( result Callback : ĠI Result Callback ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrun Blocking ( coroutine Context ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArc Host Manager . pause All Hosts For Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDriver Factory . removeAll Entities (). join () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstores . clear () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġresult Callback . on Result ( null ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġclear Data Between ( ĊĠĠĠĠĠĠĠ ĠstartTime Millis : ĠLong , ĊĠĠĠĠĠĠĠ ĠendTime Millis : ĠLong , ĊĠĠĠĠĠĠĠ Ġresult Callback : ĠI Result Callback ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrun Blocking ( coroutine Context ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArc Host Manager . pause All Hosts For Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDriver Factory . remove Entities Created Between ( startTime Millis , ĠendTime Millis ). join () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġresult Callback . on Result ( null ) ĊĠĠĠ Ġ} Ċ } Ċ