/* Ċ Ġ* Ġ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 . core . storage . driver Ċ Ċ import Ġar cs . core . storage . Storage Key Ċ import Ġar cs . core . storage . driver . volatile s . Volatile Memory Ċ import Ġar cs . core . storage . driver . volatile s . Volatile Memory Impl Ċ Ċ /** ĠSingleton , Ġfor Ġmaintaining Ġa Ġsingle Ġ[ Volatile Memory ] Ġreference Ġto Ġbe Ġshared Ġacross Ġall Ġar cs . Ġ*/ Ċ object ĠRam Disk Ġ{ ĊĠ Ġvar Ġmemory : ĠVol atile Memory Ġ= ĠVol atile Memory Impl () ĊĠĠĠ Ġprivate Ġset ĊĊĠ Ġsuspend Ġfun Ġadd Listener ( listener : Ġ( Storage Key , ĠAny ?) Ġ-> ĠUnit ) Ġ= ĊĠĠĠ Ġmemory . addListener ( listener ) ĊĊĠ Ġsuspend Ġfun Ġremove Listener ( listener : Ġ( Storage Key , ĠAny ?) Ġ-> ĠUnit ) Ġ= ĊĠĠĠ Ġmemory . remove Listener ( listener ) ĊĊĠ Ġ/** ĠClear s Ġevery Ġpiece Ġof Ġdata Ġfrom Ġthe Ġ[ Ram Disk ] Ġmemory . Ġ*/ ĊĠ Ġsuspend Ġfun Ġclear () Ġ{ ĊĠĠĠ Ġval Ġprevious Memory Ġ= Ġmemory ĊĠĠĠ Ġmemory Ġ= ĠVol atile Memory Impl () ĊĠĠĠ Ġprevious Memory . clear () ĊĠ Ġ} Ċ } Ċ