package Ġcom . nu hk oca . my application . di . module Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Bitmap Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . bump tech . glide . G lide Builder Ċ import Ġcom . bump tech . glide . Registry Ċ import Ġcom . bump tech . glide . annotation . Exclude s Ċ import Ġcom . bump tech . glide . annotation . G lide Module Ċ import Ġcom . bump tech . glide . integration . okhttp 3 . Ok Http Library G lide Module Ċ import Ġcom . bump tech . glide . integration . okhttp 3 . Ok Http Url Loader Ċ import Ġcom . bump tech . glide . load . Decode Format . PREFER _ ARGB _ 8 8 8 8 Ċ import Ġcom . bump tech . glide . load . engine . Disk Cache Strategy Ċ import Ġcom . bump tech . glide . load . engine . cache . Internal Cache Disk Cache Factory Ċ import Ġcom . bump tech . glide . load . engine . cache . L ru Resource Cache Ċ import Ġcom . bump tech . glide . load . model . G lide Url Ċ import Ġcom . bump tech . glide . module . App G lide Module Ċ import Ġcom . bump tech . glide . request . RequestOptions Ċ import Ġcom . bump tech . glide . request . target . Target Ċ import Ġcom . bump tech . glide . signature . Object Key Ċ import Ġcom . nu hk oca . my application . helper . Constants Ċ import Ġokhttp 3 . Ok HttpClient Ċ import Ġjava . io . InputStream Ċ import Ġjava . util . concurrent . TimeUnit Ċ Ċ /** Ċ Ġ* ĠA ĠG lide Module Ġfor Ġthis Ġapp Ġto Ġmanage Ġall ĠG lide Ġstructures Ġin Ġa Ġsingle Ġplace Ċ Ġ* ĠThis Ġwill Ġgive Ġthe Ġsame Ġimpact Ġon Ġall ĠG lide . Ċ Ġ* Ċ Ġ* Ġ@ author Ġn uh k oca Ċ Ġ*/ Ċ @ G lide Module ( glide Name Ġ= Ġ" Exo G lide ") Ċ @ Exclude s ( value Ġ= Ġ[ Ok Http Library G lide Module :: class ]) Ċ class ĠEx o G lide Module Ġ: ĠApp G lide Module () Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRegisters Ġnecessary Ġcomponents Ġfor ĠG lide ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcontext Ġ Ġrepresents Ġan Ġinstance Ġof Ġ[ Context ] ĊĠĠĠĠ Ġ* Ġ@ param Ġg lide ĠĠĠ Ġrepresents Ġan Ġinstance Ġof Ġ[ G lide ] ĊĠĠĠĠ Ġ* Ġ@ param Ġregistry Ġrepresents Ġan Ġinstance Ġof Ġ[ Registry ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġregister Components ( context : ĠContext , Ġg lide : ĠG lide , Ġregistry : ĠRegistry ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġclient Ġ= ĠOk HttpClient . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. read Timeout ( Constants . DEFAULT _ TIMEOUT . to Long (), ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. connect Timeout ( Constants . DEFAULT _ TIMEOUT . to Long (), ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ Ġval Ġfactory Ġ= ĠOk Http Url Loader . Factory ( client ) ĊĊĠĠĠĠĠĠĠ Ġg lide . registry . replace ( G lide Url :: class . java , ĠInputStream :: class . java , Ġfactory ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠApplies Ġspecific Ġoptions Ġto ĠG lide ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcontext Ġrepresents Ġan Ġinstance Ġof Ġ[ Context ] ĊĠĠĠĠ Ġ* Ġ@ param Ġbuilder Ġrepresents Ġan Ġinstance Ġof Ġ[ G lide Builder ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġapply Options ( context : ĠContext , Ġbuilder : ĠG lide Builder ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmemory Cache Size Bytes Ġ= Ġ 1 0 2 4 Ġ* Ġ 1 0 2 4 Ġ* Ġ 3 0 0 Ġ// Ġ 3 0 0 mb Ġcache ĊĠĠĠĠĠĠĠ Ġbuilder . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Memory Cache ( L ru Resource Cache ( memory Cache Size Bytes . to Long ())) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Disk Cache ( Internal Cache Disk Cache Factory ( context , Ġmemory Cache Size Bytes . to Long ())) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠsetDefault RequestOptions ( request Options ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠA Ġdefault Ġ[ RequestOptions ] Ġto Ġcustomize ĠG lide ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġan Ġinstance Ġof Ġ[ RequestOptions ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġrequest Options (): ĠRequest Options Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠRequest Options (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsignature ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠObject Key ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . currentTimeMillis () Ġ/ Ġ( 1 6 8 Ġ* Ġ 6 0 Ġ* Ġ 6 0 Ġ* Ġ 1 0 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ// Ġ 1 Ġweek Ġcache ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcenter Crop () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdont Animate () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride ( Target . SIZE _ ORIGIN AL ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġencode Format ( Bitmap . Compress Format . PNG ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġencode Quality ( 1 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdisk Cache Strategy ( Disk Cache Strategy . RESOURCE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġformat ( PREFER _ ARGB _ 8 8 8 8 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġskip Memory Cache ( true ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ