package Ġcom . ti amos u . fly . http . image loader Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . annotation . NonNull Ċ import Ġcom . ti amos u . fly . utils . getApp Component Ċ import Ġjavax . inject . Inject Ċ import Ġjavax . inject . Singleton Ċ Ċ /** Ċ Ġ* Ġ@ author Ġt iam os u Ċ Ġ* Ġ@ date Ġ 2 0 1 8 / 9 / 1 7 . Ċ Ġ*/ Ċ @ Singleton Ċ class ĠImage Loader Ġ@ Inject Ġconstructor () Ġ{ ĊĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġinternal Ġvar Ġm Strategy : ĠBase Image Loader Strategy < *> ? Ġ= Ġnull ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġ< T Ġ: ĠImage Config > Ġload Image ( context : ĠContext , Ġconfig : ĠT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstrategy Ġ= Ġget App Component (). image Loader (). get Load Img Strategy () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( strategy Ġas ? ĠBase Image Loader Strategy < Image Config >) ?. load Image ( context , Ġconfig ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġ< T Ġ: ĠImage Config > Ġclear ( context : ĠContext , Ġconfig : ĠT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstrategy Ġ= Ġget App Component (). image Loader (). get Load Img Strategy () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( strategy Ġas ? ĠBase Image Loader Strategy < Image Config >) ?. clear ( context , Ġconfig ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġåı¯ åľ¨ è¿Ĳè¡Į æĹ¶ éļı æĦı åĪĩæį¢ Ġ[ Base Image Loader Strategy ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Load Img Strategy (@ NonNull Ġstrategy : ĠBase Image Loader Strategy <* >) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . m Strategy Ġ= Ġstrategy ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Load Img Strategy (): ĠBase Image Loader Strategy < *> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠcheckNotNull ( m Strategy ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Please Ġimplement ĠBase Image Loader Strategy Ġand Ġcall ĠGlobal Config Module . Builder #" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" image Loader Strategy ( Base Image Loader Strategy ) Ġin Ġthe Ġapply Options Ġmethod Ġof ĠConfig Module " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ