package Ġcom . r ab t man . ex img loader . glide Ċ Ċ import Ġandroid . widget . ImageView Ċ import Ġcom . r ab t man . ex img loader . Image Config Ċ import Ġcom . r ab t man . ex img loader . Image Load Listener Ċ import Ġcom . r ab t man . ex img loader . glide . progress . On Progress Listener Ċ import Ġjp . was ab eef . glide . transform ations . Bitmap Transformation Ċ Ċ /** Ċ Ġ* ĠG lide éħįç½® ä¿¡æģ¯ Ċ Ġ*/ Ċ class ĠG lide Image Config Ġprivate Ġconstructor ( builder : ĠBuilder ) Ġ: ĠImage Config () Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ ç¼ĵåŃĺ çŃĸçķ¥ : ĊĠĠĠĠ Ġ* Ġ 0 å¯¹åºĶ Disk Cache Strategy . all ĊĠĠĠĠ Ġ* Ġ 1 å¯¹åºĶ Disk Cache Strategy . NONE ĊĠĠĠĠ Ġ* Ġ 2 å¯¹åºĶ Disk Cache Strategy . RESOURCE ĊĠĠĠĠ Ġ* Ġ 3 å¯¹åºĶ Disk Cache Strategy . DATA ĊĠĠĠĠ Ġ* Ġ 4 å¯¹åºĶ Disk Cache Strategy . AUT OM AT IC ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġcache Strategy : ĠInt ĊĠĠĠ Ġval Ġtransformation : ĠArray < out ĠBitmap Transformation >? ĊĠĠĠ Ġval Ġis Cross Fade : ĠBoolean ĊĠĠĠ Ġval Ġis Center Crop : ĠBoolean ĊĠĠĠ Ġval Ġis Circle Crop : ĠBoolean ĊĠĠĠ Ġval Ġfallback : ĠInt ĊĠĠĠ Ġval Ġsize : ĠInt Array ? ĊĠĠĠ Ġval Ġon Progress Listener : ĠOn Progress Listener ? ĊĊĠĠĠ Ġclass ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġurl : ĠString ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġvar Ġdrawable Id Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġvar ĠimageView : ĠImageView ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġvar Ġplaceholder Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġvar Ġerror Pic Ġ= Ġ 0 ĊĊĠĠĠĠĠĠĠ Ġ// è¯·æ±Ĥ Ġurl Ġ ä¸ºç©º , åĪĻ ä½¿çĶ¨ æŃ¤ åĽ¾çīĩ ä½ľä¸º åįł ä½į ç¬¦ ĊĠĠĠĠĠĠĠ Ġvar Ġfallback Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġvar Ġcache Strategy Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġvar Ġtransformation : ĠArray < out ĠBitmap Transformation >? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġ// åĽ¾çīĩ åĬłè½½ è¿Ľ åº¦ çĽĳåĲ¬ ĊĠĠĠĠĠĠĠ Ġvar Ġlistener : ĠImage Load Listener ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġvar Ġsize : ĠInt Array ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġvar Ġis Cross Fade Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġvar Ġis Center Crop Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġvar Ġis Circle Crop Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġvar Ġon Progress Listener : ĠOn Progress Listener ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġfun Ġurl ( url : ĠString ?): ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . url Ġ= Ġurl ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġdrawable Id ( drawable Id : ĠInt ): ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . drawable Id Ġ= Ġdrawable Id ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġplaceholder ( placeholder : ĠInt ): ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . placeholder Ġ= Ġplaceholder ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġerror Pic ( error Pic : ĠInt ): ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . error Pic Ġ= Ġerror Pic ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġfallback ( fallback : ĠInt ): ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . fallback Ġ= Ġfallback ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun ĠimageView ( imageView : ĠImageView ?): ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . imageView Ġ= ĠimageView ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġcache Strategy ( cache Strategy : ĠInt ): ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . cache Strategy Ġ= Ġcache Strategy ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġis Center Crop ( is Center Crop : ĠBoolean ): ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . is Center Crop Ġ= Ġis Center Crop ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġis Circle Crop ( is Circle Crop : ĠBoolean ): ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . is Circle Crop Ġ= Ġis Circle Crop ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġis Cross Fade ( is Cross Fade : ĠBoolean ): ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . is Cross Fade Ġ= Ġis Cross Fade ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġtransformation ( var arg Ġtransformation : ĠBitmap Transformation ): ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . transformation Ġ= Ġtransformation ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġinline Ġfun Ġlistener ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcross inline Ġload Fail : Ġ( target : ĠImageView ?, Ġe : ĠException ?) Ġ-> ĠUnit Ġ= Ġ{ Ġ_, Ġ_ Ġ-> Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcross inline Ġload Ready : Ġ( target : ĠImageView ?) Ġ-> ĠUnit Ġ= Ġ{} ĊĠĠĠĠĠĠĠ Ġ) Ġ= Ġlistener ( object Ġ: ĠImage Load Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġload Fail ( target : ĠImageView ?, Ġe : ĠException ?) Ġ= Ġload Fail ( target , Ġe ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġload Ready ( target : ĠImageView ?) Ġ= Ġload Ready ( target ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġfun Ġlistener ( listener : ĠImage Load Listener ?): ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . listener Ġ= Ġlistener ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġinline Ġfun Ġprogress Listener ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcross inline Ġon Progress : Ġ( is Complete : ĠBoolean , Ġpercentage : ĠInt , Ġbytes Read : ĠLong , Ġtotal Bytes : ĠLong ) Ġ-> ĠUnit Ġ= Ġ{ Ġ_, Ġ_, Ġ_, Ġ_ Ġ-> Ġ} ĊĠĠĠĠĠĠĠ Ġ) Ġ= Ġprogress Listener ( object Ġ: ĠOn Progress Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Progress ( is Complete : ĠBoolean , Ġpercentage : ĠInt , Ġbytes Read : ĠLong , Ġtotal Bytes : ĠLong ) Ġ= Ġon Progress ( is Complete , Ġpercentage , Ġbytes Read , Ġtotal Bytes ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġfun Ġprogress Listener ( on Progress Listener : ĠOn Progress Listener ?): ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . on Progress Listener Ġ= Ġon Progress Listener ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġoverride ( width : ĠInt , Ġheight : ĠInt ): ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsize Ġ= Ġint ArrayOf ( width , Ġheight ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġbuild (): ĠG lide Image Config Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠG lide Image Config ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġbuilder (): ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠBuilder () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġurl Ġ= Ġbuilder . url ĊĠĠĠĠĠĠĠ ĠimageView Ġ= Ġbuilder . imageView ĊĠĠĠĠĠĠĠ Ġdrawable Id Ġ= Ġbuilder . drawable Id ĊĠĠĠĠĠĠĠ Ġplaceholder Ġ= Ġbuilder . placeholder ĊĠĠĠĠĠĠĠ Ġlistener Ġ= Ġbuilder . listener ĊĠĠĠĠĠĠĠ Ġon Progress Listener Ġ= Ġbuilder . on Progress Listener ĊĠĠĠĠĠĠĠ Ġerror Pic Ġ= Ġbuilder . error Pic ĊĠĠĠĠĠĠĠ Ġfallback Ġ= Ġbuilder . fallback ĊĠĠĠĠĠĠĠ Ġis Cross Fade Ġ= Ġbuilder . is Cross Fade ĊĠĠĠĠĠĠĠ Ġis Center Crop Ġ= Ġbuilder . is Center Crop ĊĠĠĠĠĠĠĠ Ġis Circle Crop Ġ= Ġbuilder . is Circle Crop ĊĠĠĠĠĠĠĠ Ġcache Strategy Ġ= Ġbuilder . cache Strategy ĊĠĠĠĠĠĠĠ Ġtransformation Ġ= Ġbuilder . transformation ĊĠĠĠĠĠĠĠ Ġsize Ġ= Ġbuilder . size ĊĠĠĠ Ġ} Ċ }