/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠB apt iste ĠCan del lier Ċ Ġ* Ċ Ġ* ĠĠĠ ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* ĠĠĠ Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠĠĠ ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠĠĠ ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* ĠĠĠ Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠĠĠ ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠĠĠ ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* ĠĠĠ Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġfr . out adoc . home slide . app . feature . grid . ui Ċ Ċ import Ġandroid . graphics . Rect Ċ import Ġandroid . view . View Ċ import Ġandroidx . recyclerview . widget . Grid LayoutManager Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ Ċ class ĠGrid Spacing Item Decoration ( ĊĠĠĠ Ġprivate Ġval Ġlayout Manager : ĠGrid LayoutManager , ĊĠĠĠ Ġprivate Ġval Ġspacing : ĠInt Ċ ) Ġ: ĠRecyclerView . Item Decoration () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġspan Count : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġlayout Manager . span Count ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Offsets ( out Rect : ĠRect , Ġview : ĠView , Ġparent : ĠRecyclerView , Ġstate : ĠRecyclerView . State ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġposition Ġ= Ġparent . getChild Adapter Position ( view ) ĊĠĠĠĠĠĠĠ Ġval Ġcolumn Ġ= Ġposition Ġ% Ġspan Count ĊĊĠĠĠĠĠĠĠ Ġout Rect . left Ġ= Ġcolumn Ġ* Ġspacing Ġ/ Ġspan Count ĊĠĠĠĠĠĠĠ Ġout Rect . right Ġ= Ġspacing Ġ- Ġ( column Ġ+ Ġ 1 ) Ġ* Ġspacing Ġ/ Ġspan Count ĊĊĠĠĠĠĠĠĠ Ġif Ġ( position Ġ>= Ġspan Count ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġout Rect . top Ġ= Ġspacing ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ