/* Ċ Ġ* ĠCopyright Ġ 2 0 2 1 ĠThe ĠAndroid ĠOpen ĠSource ĠProject Ċ Ġ* Ċ Ġ* Ġ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 Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttps :// 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 Ġcom . example . android dev challenge . home Ċ Ċ import Ġandroidx . annotation . Drawable Res Ċ import Ġandroidx . compose . foundation . Image Ċ import Ġandroidx . compose . foundation . layout . Column Ċ import Ġandroidx . compose . foundation . layout . Row Ċ import Ġandroidx . compose . foundation . layout . Spacer Ċ import Ġandroidx . compose . foundation . layout . height Ċ import Ġandroidx . compose . foundation . layout . padding Ċ import Ġandroidx . compose . foundation . layout . size Ċ import Ġandroidx . compose . foundation . layout . width Ċ import Ġandroidx . compose . foundation . lazy . Lazy Row Ċ import Ġandroidx . compose . material . Material Theme Ċ import Ġandroidx . compose . material . Surface Ċ import Ġandroidx . compose . material . Text Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . ui . Alignment Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . draw . clip Ċ import Ġandroidx . compose . ui . layout . Content Scale Ċ import Ġandroidx . compose . ui . res . p ainter Resource Ċ import Ġcom . example . android dev challenge . ui . theme . grid Ċ import Ġcom . example . android dev challenge . ui . theme . grid Half Ċ Ċ data Ġclass ĠExercise Collection ( ĊĠĠĠ Ġval Ġtitle : ĠString , ĊĠĠĠ Ġ@ Drawable Res Ġval Ġimage Res : ĠInt , Ċ ) Ċ Ċ @ Composable Ġfun ĠExercise Collection Group ( exercise Collections : ĠList < Exercise Collection >) Ġ= ĠLazy Row Ġ{ ĊĠĠĠ Ġval Ġcolumn Count Ġ= Ġexercise Collections . size Ġ/ Ġ 2 ĊĠĠĠ Ġitems ( column Count ) Ġ{ ĠcolumnIndex Ġ-> ĊĠĠĠĠĠĠĠ Ġfun ĠModifier . column Padding () Ġ= Ġwhen Ġ( column Index ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> Ġpadding ( start Ġ= Ġgrid ( 2 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolumn Count Ġ- Ġ 1 Ġ-> Ġpadding ( start Ġ= Ġgrid ( 1 ), Ġend Ġ= Ġgrid ( 2 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġpadding ( start Ġ= Ġgrid ( 1 )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠColumn ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . column Padding (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhorizontal Alignment Ġ= ĠAlignment . Center H orizontally , ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtop Exercise Collection Ġ= Ġexercise Collections [ column Index Ġ* Ġ 2 ] ĊĠĠĠĠĠĠĠĠĠĠĠ ĠExercise CollectionView ( top Exercise Collection ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbottom Exercise Collection Index Ġ= ĠcolumnIndex Ġ* Ġ 2 Ġ+ Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( bottom Exercise Collection Index Ġ< Ġexercise Collections . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSp acer ( modifier Ġ= ĠModifier . height ( grid ( 1 ))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbottom Exercise Collection Ġ= Ġexercise Collections [ bottom Exercise Collection Index ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠExercise CollectionView ( bottom Exercise Collection ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ġprivate Ġfun ĠExercise CollectionView ( exercise Collection : ĠExercise Collection ) Ġ= ĠSurface ( ĊĠĠĠ Ġmodifier Ġ= ĠModifier . width ( grid ( 2 4 )). clip ( Material Theme . shapes . small ) Ċ ) Ġ{ ĊĠĠĠ ĠRow ( ĊĠĠĠĠĠĠĠ Ġvertical Alignment Ġ= ĠAlignment . Center Vert ically , ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠImage ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpainter Ġ= Ġpainter Resource ( id Ġ= Ġexercise Collection . image Res ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Description Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. size ( grid ( 7 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. clip ( Material Theme . shapes . small ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Scale Ġ= ĠContent Scale . Crop , ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġexercise Collection . title , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . padding ( start Ġ= Ġgrid ( 2 ), Ġend Ġ= Ġgrid Half ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĠMaterial Theme . typography . h 3 , ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ