package Ġcom . sen ierr . mort al . ext Ċ Ċ import Ġandroid . widget . ImageView Ċ import Ġandroidx . annotation . Drawable Res Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . bump tech . glide . load . model . G lide Url Ċ import Ġcom . bump tech . glide . load . model . Lazy Headers Ċ import Ġcom . bump tech . glide . load . resource . bitmap . Circle Crop Ċ import Ġcom . sen ierr . mort al . R Ċ import Ġjava . io . File Ċ Ċ /** Ċ Ġ* Ġ åĽ¾çīĩ æİ§ä»¶ æī©å±ķ åĩ½æķ° Ċ Ġ* Ċ Ġ* Ġ@ author Ġzh ouch unj ie Ċ Ġ* Ġ@ date Ġ 2 0 1 9 / 8 / 5 Ċ Ġ*/ Ċ Ċ /** Ċ Ġ* Ġ åĬłè½½ ç½ĳç»ľ åĽ¾çīĩ Ċ Ġ*/ Ċ fun ĠImageView . show Image ( url : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Drawable Res Ġplaceholder Res : ĠInt ? Ġ= ĠR . drawable . ic _ photo , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Drawable Res Ġerror Res : ĠInt ? Ġ= ĠR . drawable . ic _ photo , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Gif : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Circle : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcookies : ĠMutable Map < String , ĠString >? Ġ= Ġnull Ċ ) Ġ{ ĊĠĠĠ Ġ// Ġ å¤ĦçĲĨ Gif ĊĠĠĠ Ġval Ġrequest Builder Ġ= Ġif Ġ( is Gif ) Ġ{ ĊĠĠĠĠĠĠĠ ĠG lide . with ( this ). as Gif () ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ ĠG lide . with ( this ). as Bitmap () ĊĠĠĠ Ġ} ĊĠĠĠ Ġ// Ġ å¤ĦçĲĨ Cookie ĊĠĠĠ Ġval Ġg lide Url Ġ= Ġif Ġ( cookies . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠ ĠG lide Url ( url ) ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠLazy Headers . Builder () ĊĠĠĠĠĠĠĠ Ġcookies . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . add Header ( it . key , Ġit . value ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠG lide Url ( url , Ġbuilder . build ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġrequest Builder . load ( glide Url ) ĊĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ åįł ä½į åĽ¾ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( placeholder Res Ġ!= Ġnull ) Ġplaceholder ( placeholder Res ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ åľĨ å½¢ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Circle ) Ġtransform ( Circle Crop ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ åĬłè½½ å¤±è´¥ åĽ¾ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( error Res Ġ!= Ġnull ) Ġerror ( error Res ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ. into ( this ) Ċ } Ċ Ċ /** Ċ Ġ* Ġ åĬłè½½ æľ¬åľ° æĸĩä»¶ åĽ¾çīĩ Ċ Ġ*/ Ċ fun ĠImageView . show Image ( file : ĠFile ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Drawable Res Ġplaceholder Res : ĠInt ? Ġ= ĠR . drawable . ic _ photo , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Drawable Res Ġerror Res : ĠInt ? Ġ= ĠR . drawable . ic _ photo , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Gif : ĠBoolean Ġ= Ġfalse Ċ ) Ġ{ ĊĠĠĠ Ġ// Ġ å¤ĦçĲĨ Gif ĊĠĠĠ Ġval Ġrequest Builder Ġ= Ġif Ġ( is Gif ) Ġ{ ĊĠĠĠĠĠĠĠ ĠG lide . with ( this ). as Gif () ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ ĠG lide . with ( this ). as Bitmap () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġrequest Builder . load ( file ) ĊĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ åįł ä½į åĽ¾ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( placeholder Res Ġ!= Ġnull ) Ġplaceholder ( placeholder Res ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ åĬłè½½ å¤±è´¥ åĽ¾ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( error Res Ġ!= Ġnull ) Ġerror ( error Res ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ. into ( this ) Ċ } Ċ Ċ /** Ċ Ġ* Ġ åĬłè½½ èµĦæºĲ æĸĩä»¶ åĽ¾çīĩ Ċ Ġ*/ Ċ fun ĠImageView . show Image (@ Drawable Res Ġres Id : ĠInt , Ġis Gif : ĠBoolean Ġ= Ġfalse ) Ġ{ ĊĠĠĠ Ġif Ġ( is Gif ) Ġ{ ĊĠĠĠĠĠĠĠ ĠG lide . with ( this ). as Gif (). load ( res Id ). into ( this ) ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġset Image Resource ( res Id ) ĊĠĠĠ Ġ} Ċ }