package Ġtk . z iel ony . car b ons ample s . component Ċ Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġcarbon . component . Avatar Text Rating Sub text Date Row Ċ import Ġcarbon . component . Default Avatar Text Rating Sub text Date Item Ċ import Ġcarbon . component . Default Header Item Ċ import Ġcarbon . component . P added Header Row Ċ import Ġcarbon . recycler . Row ListAdapter Ċ import Ġcarbon . recycler . View Item Decoration Ċ import Ġkotlinx . android . synt hetic . main . activity _ list component .* Ċ import Ġtk . z iel ony . car b ons ample s . R Ċ import Ġtk . z iel ony . car b ons ample s . Sample Annotation Ċ import Ġtk . z iel ony . car b ons ample s . The med Activity Ċ import Ġtk . z iel ony . random data . Random Data Ċ import Ġtk . z iel ony . random data . Target Ċ import Ġtk . z iel ony . random data . common . Date Generator Ċ import Ġtk . z iel ony . random data . common . Integer Generator Ċ import Ġtk . z iel ony . random data . common . Text Generator Ċ import Ġtk . z iel ony . random data . person . Drawable Avatar Generator Ċ import Ġtk . z iel ony . random data . person . String Name Generator Ċ import Ġtk . z iel ony . random data . transformer . Date ToString Transformer Ċ import Ġjava . io . Serializable Ċ Ċ @ Sample Annotation ( layout Id Ġ= ĠR . layout . activity _ list component , Ġtitle Id Ġ= ĠR . string . avatar Text Rating Sub text Date ListItem Activity _ title ) Ċ class ĠAvatar Text Rating Sub text Date ListItem Activity Ġ: ĠThe med Activity () Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġinit Toolbar () ĊĊĠĠĠĠĠĠĠ Ġval Ġrandom Data Ġ= ĠRandom Data (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Generator ( Drawable :: class . java , ĠDrawable Avatar Generator ( this @ Avatar Text Rating Sub text Date ListItem Activity )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Generator ( String :: class . java , ĠString Name Generator (). with Matcher Ġ{ Ġf : ĠTarget Ġ-> Ġf . name Ġ== Ġ" text " Ġ&& Ġf . decl aring Class Ġ== ĠDefault Avatar Text Rating Sub text Date Item :: class . java Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Generator ( Int :: class . java , ĠInteger Generator ( 0 , Ġ 5 ). with Matcher Ġ{ Ġf : ĠTarget Ġ-> Ġf . name Ġ== Ġ" rating " Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Generator ( String :: class . java , ĠText Generator (). with Matcher Ġ{ Ġf : ĠTarget Ġ-> Ġf . name Ġ== Ġ" sub text " Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Generator ( String :: class . java , ĠDate Generator (). with Transformer ( Date ToString Transformer ()). with Matcher Ġ{ Ġf : ĠTarget Ġ-> Ġf . name Ġ== Ġ" date " Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĠRow ListAdapter < Serializable >(). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput Factory ( Default Avatar Text Rating Sub text Date Item :: class . java , Ġ{ ĠAvatar Text Rating Sub text Date Row ( it ) Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput Factory ( Default Header Item :: class . java , Ġ{ ĠP added Header Row ( it ) Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġadapter . items Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Header Item (" Header "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrandom Data . generate ( Default Avatar Text Rating Sub text Date Item :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrandom Data . generate ( Default Avatar Text Rating Sub text Date Item :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrandom Data . generate ( Default Avatar Text Rating Sub text Date Item :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrandom Data . generate ( Default Avatar Text Rating Sub text Date Item :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Header Item (" Header "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrandom Data . generate ( Default Avatar Text Rating Sub text Date Item :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrandom Data . generate ( Default Avatar Text Rating Sub text Date Item :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrandom Data . generate ( Default Avatar Text Rating Sub text Date Item :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Header Item (" Header "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrandom Data . generate ( Default Avatar Text Rating Sub text Date Item :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrandom Data . generate ( Default Avatar Text Rating Sub text Date Item :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrandom Data . generate ( Default Avatar Text Rating Sub text Date Item :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrandom Data . generate ( Default Avatar Text Rating Sub text Date Item :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDefault Header Item (" Header "), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrandom Data . generate ( Default Avatar Text Rating Sub text Date Item :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrandom Data . generate ( Default Avatar Text Rating Sub text Date Item :: class . java )) ĊĊĠĠĠĠĠĠĠ Ġre cycler . layout Manager Ġ= ĠLinearLayoutManager ( this ) ĊĠĠĠĠĠĠĠ Ġre cycler . adapter Ġ= Ġadapter ĊĊĠĠĠĠĠĠĠ Ġval Ġpadding Item Decoration Ġ= ĠView Item Decoration ( this , ĠR . layout . carbon _ row _ padding ) ĊĠĠĠĠĠĠĠ Ġpadding Item Decoration . set Draw Before Ġ{ Ġit Ġ== Ġ 0 Ġ} ĊĠĠĠĠĠĠĠ Ġpadding Item Decoration . set Draw After Ġ{ Ġit Ġ== Ġadapter . item Count Ġ- Ġ 1 Ġ} ĊĠĠĠĠĠĠĠ Ġre cycler . addItem Decoration ( padding Item Decoration ) ĊĠĠĠ Ġ} Ċ }