package Ġcom . ph z . common . ext Ċ Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . bump tech . glide . load . resource . bitmap . Circle Crop Ċ import Ġkotlinx . coroutines . Coroutine Scope Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġkotlinx . coroutines . launch Ċ import Ġkotlinx . coroutines . with Context Ċ Ċ /** Ċ Ġ* Ġ@ author Ġph z Ċ Ġ* Ġ@ description Ċ Ġ* Ġ@ notice Ġ ç¡® ä¿Ŀ url æŃ£ç¡® åı¯ä»¥ éģ¿åħį åĩºçİ° å¼Ĥå¸¸ Ċ Ġ*/ Ċ fun ĠAppCompatActivity . load ImageUrl ( ĊĠĠĠ Ġurl : ĠString , ĊĠĠĠ Ġscope : ĠCor outine Scope , ĊĠĠĠ Ġwidth Px : ĠInt Ġ= Ġ 1 0 0 , ĊĠĠĠ Ġheight PX : ĠInt Ġ= Ġ 1 0 0 , ĊĠĠĠ Ġcallback : Ġ( bitmap : ĠBitmap ) Ġ-> ĠUnit Ċ ) Ġ{ ĊĠĠĠ Ġscope . launch ( Dispatch ers . IO ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// æį ķ èİ· å¼Ĥå¸¸ ï¼Į éģ¿åħį glide æ¡Ĩæŀ¶ æĬĽ åĩº å¼Ĥå¸¸ éĢł æĪĲ éĹ ª éĢĢ ï¼Į æ¯Ķå¦Ĥ G lide Exception ãĢģ HttpException ĊĠĠĠĠĠĠĠ Ġrun Catch ing Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbitmap Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( this @ load ImageUrl ). as Bitmap (). load ( url ). submit ( width Px , Ġheight PX ). get () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith Context ( Dispatch ers . Main ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback ( bitmap ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠFragment . load ImageUrl ( ĊĠĠĠ Ġurl : ĠString , ĊĠĠĠ Ġscope : ĠCor outine Scope , ĊĠĠĠ Ġwidth Px : ĠInt Ġ= Ġ 1 0 0 , ĊĠĠĠ Ġheight PX : ĠInt Ġ= Ġ 1 0 0 , ĊĠĠĠ Ġcallback : Ġ( bitmap : ĠBitmap ) Ġ-> ĠUnit Ċ ) Ġ{ ĊĠĠĠ Ġscope . launch ( Dispatch ers . IO ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// æį ķ èİ· å¼Ĥå¸¸ ï¼Į éģ¿åħį glide æ¡Ĩæŀ¶ æĬĽ åĩº å¼Ĥå¸¸ éĢł æĪĲ éĹ ª éĢĢ ĊĠĠĠĠĠĠĠ Ġrun Catch ing Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbitmap Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( this @ load ImageUrl ). as Bitmap (). load ( url ). submit ( width Px , Ġheight PX ). get () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith Context ( Dispatch ers . Main ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback ( bitmap ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠAppCompatActivity . load Circle ImageUrl ( ĊĠĠĠ Ġurl : ĠString , ĊĠĠĠ Ġscope : ĠCor outine Scope , ĊĠĠĠ Ġcallback : Ġ( bitmap : ĠBitmap ) Ġ-> ĠUnit , ĊĠĠĠ Ġwidth Px : ĠInt Ġ= Ġ 1 0 0 , ĊĠĠĠ Ġheight PX : ĠInt Ġ= Ġ 1 0 0 Ċ ) Ġ{ ĊĠĠĠ Ġscope . launch ( Dispatch ers . IO ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// æį ķ èİ· å¼Ĥå¸¸ ï¼Į éģ¿åħį glide æ¡Ĩæŀ¶ æĬĽ åĩº å¼Ĥå¸¸ éĢł æĪĲ éĹ ª éĢĢ ĊĠĠĠĠĠĠĠ Ġrun Catch ing Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbitmap Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( this @ load Circle ImageUrl ). as Bitmap (). load ( url ). transform ( Circle Crop ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. submit ( width Px , Ġheight PX ). get () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith Context ( Dispatch ers . Main ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback ( bitmap ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠFragment . load Circle ImageUrl ( ĊĠĠĠ Ġurl : ĠString , ĊĠĠĠ Ġscope : ĠCor outine Scope , ĊĠĠĠ Ġcallback : Ġ( bitmap : ĠBitmap ) Ġ-> ĠUnit , ĊĠĠĠ Ġwidth Px : ĠInt Ġ= Ġ 1 0 0 , ĊĠĠĠ Ġheight PX : ĠInt Ġ= Ġ 1 0 0 Ċ ) Ġ{ ĊĠĠĠ Ġscope . launch ( Dispatch ers . IO ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// æį ķ èİ· å¼Ĥå¸¸ ï¼Į éģ¿åħį glide æ¡Ĩæŀ¶ æĬĽ åĩº å¼Ĥå¸¸ éĢł æĪĲ éĹ ª éĢĢ ĊĠĠĠĠĠĠĠ Ġrun Catch ing Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbitmap Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( this @ load Circle ImageUrl ). as Bitmap (). load ( url ). transform ( Circle Crop ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. submit ( width Px , Ġheight PX ). get () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith Context ( Dispatch ers . Main ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback ( bitmap ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }