package Ġapp . mov i eb ase . android x . widget . recyclerview . glide Ċ Ċ import Ġapp . mov i eb ase . android x . widget . recyclerview . adapter . Item Adapter Ċ import Ġcom . bump tech . glide . List Pre loader Ċ import Ġcom . bump tech . glide . RequestBuilder Ċ import Ġcom . bump tech . glide . Request Manager Ċ import Ġcom . bump tech . glide . util . View Pre load Size Provider Ċ Ċ interface ĠG lide Item Adapter < T Ġ: ĠAny > Ġ: ĠItem Adapter < T >, ĠList Pre loader . Pre load Model Provider < T > Ġ{ ĊĊĠĠĠ Ġval Ġg lide Config : ĠG lide Config < T > ĊĊĠĠĠ Ġval Ġpreload Provider : ĠView Pre load Size Provider < T > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġg lide Config . preload Provider ĊĊĠĠĠ Ġval Ġrequests : ĠRequest Manager ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġg lide Config . loader ?. requests Ġ?: Ġthrow ĠIllegalStateException (" no Ġg lide Ġloader Ġavailable ") ĊĊĠĠĠ Ġoverride Ġfun Ġget Pre load Items ( position : ĠInt ): ĠList < T > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġitem Count Ġ= ĠgetItem Count () ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( position Ġ< Ġ 0 Ġ|| Ġitem Count Ġ== Ġ 0 Ġ|| Ġposition Ġ>= Ġitem Count ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġempty List () ĊĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġelements Ġ= ĠgetItem By ( position ) Ġ?: Ġreturn Ġempty List () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( elements ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Pre load RequestBuilder ( item : ĠT ): ĠRequest Builder < *> ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġg lide Config . loader ?. preload ( item , Ġnull ) ĊĠĠĠ Ġ} Ċ } Ċ