package Ġdev . v db ro ek . nek os . components Ċ Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . graphics . Bitmap Factory Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroidx . compose . foundation . Image Ċ import Ġandroidx . compose . runtime .* Ċ import Ġandroidx . compose . ui . Alignment Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . graphics .* Ċ import Ġandroidx . compose . ui . graphics . p ainter . Bitmap Painter Ċ import Ġandroidx . compose . ui . layout . Content Scale Ċ import Ġandroidx . compose . ui . platform . Local Context Ċ import Ġandroidx . compose . ui . res . p ainter Resource Ċ import Ġcom . bump tech . glide . load . engine . Disk Cache Strategy Ċ import Ġcom . bump tech . glide . load . resource . bitmap . Down sample Strategy Ċ import Ġcom . bump tech . glide . request . RequestOptions Ċ import Ġcom . bump tech . glide . request . target . Custom Target Ċ import Ġcom . bump tech . glide . request . transition . Transition Ċ import Ġdev . v db ro ek . nek os . R Ċ import Ġdev . v db ro ek . nek os . utils . G lide App Ċ import Ġjava . io . ByteArray OutputStream ĊĊ Ċ @ Composable Ċ fun ĠNetwork Image ( ĊĠĠĠ Ġurl : ĠString ?, ĊĠĠĠ Ġcontent Description : ĠString ?, ĊĠĠĠ Ġmodifier : ĠModifier Ġ= ĠModifier , ĊĠĠĠ Ġalignment : ĠAlignment Ġ= ĠAlignment . Center , ĊĠĠĠ Ġcontent Scale : ĠContent Scale Ġ= ĠContent Scale . Fit , ĊĠĠĠ Ġalpha : ĠFloat Ġ= ĠDefault Alpha , ĊĠĠĠ Ġcolor Filter : ĠColor Filter ? Ġ= Ġnull , ĊĠĠĠ Ġthumbnail : ĠBoolean Ġ= Ġtrue Ċ ) Ġ{ ĊĊĠĠĠ Ġval Ġcontext Ġ= ĠLocal Context . current ĊĠĠĠ Ġval Ġplaceholder Ġ= Ġpainter Resource ( id Ġ= ĠR . drawable . placeholder ) ĊĠĠĠ Ġval Ġfailed Placeholder Ġ= Ġpainter Resource ( id Ġ= ĠR . drawable . no _ image _ placeholder ) ĊĠĠĠ Ġvar Ġstate Ġby Ġremember Ġ{ Ġmutable State Of ( placeholder ) Ġ} ĊĠĠĠ Ġvar Ġis Placeholder Ġby Ġremember Ġ{ Ġmutable State Of ( true ) Ġ} ĊĊĠĠĠ Ġval Ġrequest Options Ġ= Ġif Ġ( thumbnail ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠC aching Ġa Ġbig Ġlist Ġof Ġimages Ġmakes Ġthe Ġscrolling Ġvery Ġunder perform , Ġwho Ġwould Ġhave Ġto ught ĊĠĠĠĠĠĠĠ ĠRequest Options () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. down sample ( Down sample Strategy . CENTER _ INS IDE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. skip Memory Cache ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. disk Cache Strategy ( Disk Cache Strategy . NONE ) ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ ĠRequest Options () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. down sample ( Down sample Strategy . CENTER _ INS IDE ) ĊĠĠĠ Ġ} ĊĊĠĠĠ ĠG lide App . with ( context ) ĊĠĠĠĠĠĠĠ Ġ. as Bitmap () ĊĠĠĠĠĠĠĠ Ġ. load ( url ) ĊĠĠĠĠĠĠĠ Ġ. center Inside () ĊĠĠĠĠĠĠĠ Ġ. apply ( request Options ) ĊĠĠĠĠĠĠĠ Ġ. into ( object Ġ: ĠCustom Target < Bitmap >() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonLoad Cle ared ( p : ĠDrawable ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Placeholder Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstate Ġ= Ġplaceholder ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonLoad Failed ( error Drawable : ĠDrawable ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Placeholder Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstate Ġ= Ġfailed Placeholder ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Resource Ready ( resource : ĠBitmap , Ġtransition : ĠTransition < in ĠBitmap > ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Placeholder Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstate Ġ= Ġif Ġ( thumbnail ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstream Ġ= ĠByteArrayOutputStream () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresource . compress ( Bitmap . Compress Format . JPEG , Ġ 5 0 , Ġstream ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠbyteArray Ġ= Ġstream . toByteArray () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcompressed Ġ= ĠBitmap Factory . decode ByteArray ( byteArray , Ġ 0 , ĠbyteArray . size ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBitmap Painter ( compressed . as Image Bitmap ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBitmap Painter ( resource . as Image Bitmap ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠ ĠImage ( ĊĠĠĠĠĠĠĠ Ġpainter Ġ= Ġstate , ĊĠĠĠĠĠĠĠ Ġcontent Description Ġ= Ġcontent Description , ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= Ġmodifier , ĊĠĠĠĠĠĠĠ Ġalignment Ġ= Ġalignment , ĊĠĠĠĠĠĠĠ Ġcontent Scale Ġ= Ġcontent Scale , ĊĠĠĠĠĠĠĠ Ġalpha Ġ= Ġif Ġ( is Placeholder ) Ġ 0 . 2 f Ġelse Ġalpha , ĊĠĠĠĠĠĠĠ Ġcolor Filter Ġ= Ġcolor Filter ĊĠĠĠ Ġ) Ċ } Ċ