package Ġcom . ki y os uke . cor ona _ grapher . data . memory . internal Ċ Ċ import Ġandroid . util . L ru Cache Ċ import Ġcom . ki y os uke . cor ona _ grapher . data . memory . Cache Ċ import Ġcom . ki y os uke . cor ona _ grapher . data . memory . Memory Cache Ċ import Ġcom . ki y os uke . cor ona _ grapher . data . memory . Expiration Ċ import Ġcom . ki y os uke . cor ona _ grapher . data . memory . Timestamp Ċ Ċ internal Ġclass ĠMemory Cache Impl < K , ĠV >( ĊĠĠĠ Ġprivate Ġval Ġexpiration : ĠExp iration , ĊĠĠĠ ĠmaxSize : ĠInt Ċ ) Ġ: ĠMemory Cache < K , ĠV > Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġcache : ĠL ru Cache < K , ĠCache < V >> Ġ= ĠL ru Cache < K , ĠCache < V >>( maxSize ) ĊĊĠĠĠ Ġoverride Ġfun Ġget ( key : ĠK ): ĠCache < V >? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġcache . get ( key ) ĊĠĠĠĠĠĠĠ Ġif Ġ( value Ġ!= Ġnull Ġ&& Ġvalue . is Expired ( expiration )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġremove ( key ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġvalue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġput ( key : ĠK , Ġvalue : ĠV ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcache . put ( key , ĠCache ( Timestamp . realtime (), Ġvalue )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġremove ( key : ĠK ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcache . remove ( key ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġev ict All () Ġ{ ĊĠĠĠĠĠĠĠ Ġcache . ev ict All () ĊĠĠĠ Ġ} Ċ }