package Ġcom . the k ha eng . material style template . widgets Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġandroidx . recyclerview . widget . RecyclerView ĊĊ Ċ /** Ċ Ġ* ĠCreated Ġby ãĢĮ ĠThe ĠK ha eng Ġ ãĢį on Ġ 1 2 ĠMay Ġ 2 0 1 8 Ġ:) Ċ Ġ*/ Ċ class ĠPre Caching LayoutManager Ġ: ĠLinearLayoutManager Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠDEFAULT _ EXTRA _ LAYOUT _ SPACE Ġ= Ġ 6 0 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġextra Layout Space Ġ= ĠDEFAULT _ EXTRA _ LAYOUT _ SPACE ĊĠĠĠ Ġprivate Ġvar Ġcontext : ĠContext ? Ġ= Ġnull ĊĊĠĠĠ Ġconstructor ( context : ĠContext ) Ġ: Ġsuper ( context ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . context Ġ= Ġcontext ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( context : ĠContext , Ġextra Layout Space : ĠInt ) Ġ: Ġsuper ( context ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . context Ġ= Ġcontext ĊĠĠĠĠĠĠĠ Ġthis . extra Layout Space Ġ= Ġextra Layout Space ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( context : ĠContext , Ġorientation : ĠInt , Ġreverse Layout : ĠBoolean ) Ġ: Ġsuper ( context , Ġorientation , Ġreverse Layout ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . context Ġ= Ġcontext ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Extra Layout Space ( extra Layout Space : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . extra Layout Space Ġ= Ġextra Layout Space ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride ĊĠĠĠ Ġfun Ġget Extra Layout Space ( state : ĠRecyclerView . State ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( extra Layout Space Ġ> Ġ 0 ) Ġextra Layout Space Ġelse ĠDEFAULT _ EXTRA _ LAYOUT _ SPACE ĊĠĠĠ Ġ} Ċ } Ċ