package Ġcom . arc ane . cold storage . cache Ċ Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . graphics . Bitmap Factory Ċ import Ġandroid . util . Base 6 4 Ċ import Ġcom . arc ane . cold storage cache . cache . Cache Ċ import Ġjava . io . ByteArray OutputStream Ċ import Ġjava . net . URL ĊĊ Ċ /** Ċ Ġ* ĠAn Ġexample Ġclass Ġthat Ġis Ġused Ġto Ġcache Ġimages Ċ Ġ* Ġafter Ġdownloading Ġthem Ġfrom Ġa Ġgiven Ġurl . Ċ Ġ* Ċ Ġ* Ġ@ author ĠAn ur ag Ċ Ġ* Ċ Ġ*/ Ċ class ĠImage Cache Ġ: ĠCache () Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġupdate Ġfunction Ġis Ġonly Ġrequired Ġhere Ġto Ġspecify ĊĠĠĠĠ Ġ* Ġwhere Ġto Ġfetch Ġthe Ġdata Ġfrom Ġif Ġthe Ġkey Ġis Ġnot Ġpresent Ġin Ġthe ĊĠĠĠĠ Ġ* Ġcache . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġkey ĠHere Ġthe Ġkey Ġis Ġthe Ġurl Ġfrom Ġwhere Ġthe ĊĠĠĠĠ Ġ* Ġimage Ġneeds Ġto Ġbe Ġdownloaded . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġupdate ( key : ĠString ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġurl Ġ= ĠURL ( key ) ĊĠĠĠĠĠĠĠ Ġval Ġconnection Ġ= Ġurl . open Connection () ĊĠĠĠĠĠĠĠ Ġconnection . do Input Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġconnection . connect () ĊĠĠĠĠĠĠĠ Ġval Ġinput Ġ= Ġconnection . getInputStream () ĊĠĠĠĠĠĠĠ Ġval Ġmy Bitmap Ġ= ĠBitmap Factory . decode Stream ( input ) ĊĠĠĠĠĠĠĠ Ġreturn Ġbit Map ToString ( my Bitmap ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠA Ġtransformer Ġto Ġconvert Ġthe Ġbitmap Ġto Ġstring . Ċ Ġ*/ Ċ private Ġfun Ġbit Map ToString ( bitmap : ĠBitmap ): ĠString ? Ġ{ ĊĠĠĠ Ġval Ġba os Ġ= ĠByteArrayOutputStream () ĊĠĠĠ Ġbitmap . compress ( Bitmap . Compress Format . PNG , Ġ 1 0 0 , Ġba os ) ĊĠĠĠ Ġval Ġb : ĠByteArray Ġ= Ġba os . toByteArray () ĊĠĠĠ Ġreturn ĠBase 6 4 . encode ToString ( b , ĠBase 6 4 . DEFAULT ) Ċ }