package Ġcom . a qr le i . sample . helper Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġcom . a qr le i . lite cache . lru . L ru Cache Config Ċ import Ġcom . a qr le i . lite cache . lru . L ru Cache Helper Ċ import Ġcom . a qr le i . lit ed raw . Image Handle Helper Ċ import Ġcom . a qr le i . lit ed raw . decorator . Shape Image Decorator Ċ import Ġcom . a qr le i . sample . base . Base Fragment Ċ import Ġcom . a qr le i . util collection . Cache File Util Ċ import Ġkotlinx . android . synt hetic . main . frag _ image handler .* Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠA qr Le i Ġon Ġ 2 0 1 9 - 0 6 - 0 6 Ċ Ġ*/ Ċ class ĠImage Fragment Ġ: ĠBase Fragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġsource Url Ġ= ĊĠĠĠĠĠĠĠ Ġ" http :// g . hip hot os . baidu . com / image / pic / item / c 2 cec 3 fdf c 0 3 9 2 4 5 9 0 b 2 a 9 b 5 8 d 9 4 a 4 c 2 7 d 1 e 2 5 0 0 . jpg " ĊĠĠĠ Ġprivate Ġvar Ġlocal Source Url Ġ= Ġ"" ĊĊĠĠĠ Ġprivate Ġval Ġshape Image Decorator Ġ= ĠShape Image Decorator () ĊĠĠĠĠĠĠĠ Ġ. as Circle ( true ) ĊĠĠĠĠĠĠĠ Ġ. set B orders ( Color . parse Color ("# FF 0 0 0 0 "), Ġ 3 F ) ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . frag _ image handler , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġres . setOnClickListener ( this :: load Image From Res ) ĊĠĠĠĠĠĠĠ Ġqr code . setOnClickListener ( this :: load QR Code Image ) ĊĠĠĠĠĠĠĠ Ġlocal . setOnClickListener ( this :: load Local File Image ) ĊĠĠĠĠĠĠĠ Ġremote . setOnClickListener ( this :: load Remote Image ) ĊĠĠĠĠĠĠĠ Ġclear Cache . setOnClickListener (:: clear Cache ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġload Image From Res ( v : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ ĠImage Handle Helper . display ( R . drawable . ic _ agree , Ġiv Test , Ġ 8 0 F , Ġ 8 0 F , Ġshape Image Decorator ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġload QR Code Image ( v : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġurl Ġ= Ġ" https :// www . baidu . com " ĊĠĠĠĠĠĠĠ ĠImage Handle Helper . display QR Code ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġurl , Ġiv Test , Ġ 2 0 0 F , Ġ 2 0 0 F , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshape Image Decorator . get Bitmap ( local Source Url , Ġ 8 0 F , Ġ 8 0 F ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġreq Img Code Ġ= Ġ 0 x 1 1 ĊĠĠĠ Ġprivate Ġfun Ġload Local File Image ( v : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ ĠCache File Util . getFile Content ( null , Ġthis , Ġreq Img Code , Ġ" image /* ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġload Remote Image ( v : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġload Image From Url ( source Url ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġload Image From Url ( url : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠImage Handle Helper . display ( url , Ġiv Test , Ġ 8 0 F , Ġ 8 0 F , Ġshape Image Decorator ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġclear Cache ( v : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ ĠL ru Cache Helper . clear Cache ( L ru Cache Config . DEFAULT _ CACHE _ DISK _ NAME ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĠĠĠĠĠĠĠ Ġif Ġ( request Code Ġ== Ġreq Img Code Ġ&& ĠresultCode Ġ== ĠAppCompatActivity . RESULT _ OK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata ?. data ?. run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlocal Source Url Ġ= Ġthis . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġload Image From Url ( this . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }