/* Ċ Ġ* Ġ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 . screens Ċ Ċ import Ġandroidx . compose . foundation . Image Ċ import Ġandroidx . compose . foundation . background Ċ import Ġandroidx . compose . foundation . is System In Dark Theme Ċ import Ġandroidx . compose . foundation . layout . Arrange ment Ċ import Ġandroidx . compose . foundation . layout . Box Ċ import Ġandroidx . compose . foundation . layout . Column Ċ import Ġandroidx . compose . foundation . layout . Padding Values Ċ import Ġandroidx . compose . foundation . layout . Row Ċ import Ġandroidx . compose . foundation . layout . fill MaxSize Ċ import Ġandroidx . compose . foundation . layout . fill Max Width Ċ 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 . foundation . lazy . items Ċ import Ġandroidx . compose . foundation . shape . Circle Shape Ċ import Ġandroidx . compose . foundation . shape . Rounded Corner Shape Ċ import Ġandroidx . compose . material . Bottom Navigation Ċ import Ġandroidx . compose . material . Bottom Navigation Item Ċ import Ġandroidx . compose . material . Fab Position Ċ import Ġandroidx . compose . material . Floating ActionButton Ċ import Ġandroidx . compose . material . Icon Ċ import Ġandroidx . compose . material . Material Theme Ċ import Ġandroidx . compose . material . Sca ffold Ċ import Ġandroidx . compose . material . Text Ċ import Ġandroidx . compose . material . TextField Ċ import Ġandroidx . compose . material . TextField Defaults Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . runtime . mutable State Of Ċ import Ġandroidx . compose . runtime . remember Ċ import Ġandroidx . compose . ui . Alignment Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . draw . clip Ċ import Ġandroidx . compose . ui . draw . shadow Ċ import Ġandroidx . compose . ui . layout . Content Scale Ċ import Ġandroidx . compose . ui . res . p ainter Resource Ċ import Ġandroidx . compose . ui . text . style . Text Align Ċ import Ġandroidx . compose . ui . tool ing . preview . Preview Ċ import Ġandroidx . compose . ui . unit . Dp Ċ import Ġandroidx . compose . ui . unit . dp Ċ import Ġcom . example . android dev challenge . R Ċ import Ġcom . example . android dev challenge . model . S oot he Data Ċ import Ġcom . example . android dev challenge . model . body Ċ import Ġcom . example . android dev challenge . model . f avor ities Ċ import Ġcom . example . android dev challenge . model . mind Ċ import Ġcom . example . android dev challenge . ui . theme . gray 8 0 0 Ċ import Ġcom . example . android dev challenge . ui . theme . margin 1 6 Ċ import Ġcom . example . android dev challenge . ui . theme . margin 4 0 Ċ import Ġcom . example . android dev challenge . ui . theme . margin 5 6 Ċ import Ġcom . example . android dev challenge . ui . theme . margin 8 Ċ import Ġcom . example . android dev challenge . ui . theme . tau pe 1 0 0 Ċ import Ġcom . example . android dev challenge . ui . theme . tau pe 8 0 0 Ċ import Ġcom . example . android dev challenge . ui . theme . white Ċ import Ġdev . chr is ban es . ac comp an ist . co il . Co il Image Ċ Ċ const Ġval ĠHOME _ SCREEN _ ID Ġ= Ġ" home _ screen " Ċ Ċ @ Composable Ċ fun ĠHome Screen ( ĊĠĠĠ Ġfavorite Items : ĠList < S oot he Data > Ġ= Ġfavor ities , ĊĠĠĠ Ġbody Items : ĠList < S oot he Data > Ġ= Ġbody , ĊĠĠĠ Ġmind Items : ĠList < S oot he Data > Ġ= Ġmind Ċ ) Ġ{ ĊĠĠĠ ĠScaffold ( ĊĠĠĠĠĠĠĠ Ġbottom Bar Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBottom NavigationBar () ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġfloating ActionButton Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFloating ActionButton View () ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġis Floating ActionButton Dock ed Ġ= Ġtrue , ĊĠĠĠĠĠĠĠ Ġfloating ActionButton Position Ġ= ĠF ab Position . Center , ĊĠĠĠĠĠĠĠ Ġdrawer Elevation Ġ= Ġ 4 . dp , ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠBox ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill MaxSize () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. background ( Material Theme . colors . background ) ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColumn ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill MaxSize () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( top Ġ= Ġmargin 5 6 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSearch () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠF avorites ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitems Ġ= Ġfavorite Items ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBody ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitems Ġ= Ġbody Items ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠM ind ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitems Ġ= Ġmind Items ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ data Ġclass ĠTab Screen ( ĊĠĠĠ Ġval Ġname : ĠString , ĊĠĠĠ Ġval Ġicon Id : ĠInt Ċ ) Ċ Ċ val Ġtabs Ġ= ĠlistOf < Tab Screen >( ĊĠĠĠ ĠTab Screen ( ĊĠĠĠĠĠĠĠ Ġname Ġ= Ġ" HOME ", ĊĠĠĠĠĠĠĠ Ġicon Id Ġ= ĠR . drawable . ic _ baseline _ spa _ 2 4 ĊĠĠĠ Ġ), ĊĠĠĠ ĠTab Screen ( ĊĠĠĠĠĠĠĠ Ġname Ġ= Ġ" PROFILE ", ĊĠĠĠĠĠĠĠ Ġicon Id Ġ= ĠR . drawable . ic _ baseline _ account _ circle _ 2 4 ĊĠĠĠ Ġ) Ċ ) Ċ Ċ @ Composable Ċ fun ĠBottom NavigationBar () Ġ{ ĊĠĠĠ ĠBottom Navigation ( ĊĠĠĠĠĠĠĠ ĠbackgroundColor Ġ= ĠMaterial Theme . colors . background ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġselected Color Ġ= Ġif Ġ( is System In Dark Theme ()) Ġtau pe 1 0 0 Ġelse Ġtau pe 8 0 0 ĊĊĠĠĠĠĠĠĠ Ġtabs . forEach Indexed Ġ{ Ġindex , Ġtab Screen Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBottom Navigation Item ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġselected Ġ= Ġindex Ġ== Ġ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġicon Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIcon ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpainter Ġ= Ġpainter Resource ( tab Screen . icon Id ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Description Ġ= Ġtab Screen . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġselected Content Color Ġ= Ġselected Color , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġun selected Content Color Ġ= Ġselected Color . copy ( alpha Ġ= Ġ. 5 f ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlabel Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġtab Screen . name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ fun ĠFloating ActionButton View () Ġ{ ĊĠĠĠ ĠFloating ActionButton ( ĊĠĠĠĠĠĠĠ ĠonClick Ġ= Ġ{ ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ ĠbackgroundColor Ġ= ĠMaterial Theme . colors . primary ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠIcon ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. size ( 2 4 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpainter Ġ= Ġpainter Resource ( R . drawable . ic _ baseline _ play _ arrow _ 2 4 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Description Ġ= Ġ" Play ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġt int Ġ= ĠMaterial Theme . colors . on Primary , ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ ĠColumn ( ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. size ( 5 6 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. shadow ( elevation Ġ= Ġ 4 . dp , Ġshape Ġ= ĠCircle Shape ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. clip ( shape Ġ= ĠCircle Shape ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. background ( Material Theme . colors . primary ), ĊĠĠĠĠĠĠĠ Ġvertical Arrange ment Ġ= ĠArrange ment . Center , ĊĠĠĠĠĠĠĠ Ġhorizontal Alignment Ġ= ĠAlignment . Center H orizontally , ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠIcon ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. size ( 2 4 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpainter Ġ= Ġpainter Resource ( R . drawable . ic _ baseline _ play _ arrow _ 2 4 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Description Ġ= Ġ" Play ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġt int Ġ= ĠMaterial Theme . colors . on Primary , ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ fun ĠSearch () Ġ{ ĊĠĠĠ Ġval Ġsearch Ġ= Ġremember Ġ{ Ġmutable State Of ("") Ġ} ĊĊĠĠĠ ĠTextField ( ĊĠĠĠĠĠĠĠ Ġvalue Ġ= Ġsearch . value , ĊĠĠĠĠĠĠĠ Ġon Value Change Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsearch . value Ġ= Ġit ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġleading Icon Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠImage ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpainter Ġ= Ġpainter Resource ( R . drawable . ic _ baseline _ search _ 2 4 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Description Ġ= Ġ" welcome " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( start Ġ= Ġmargin 1 6 , Ġend Ġ= Ġmargin 1 6 , Ġbottom Ġ= Ġmargin 4 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Max Width (), ĊĠĠĠĠĠĠĠ Ġcolors Ġ= ĠTextField Defaults . textField Colors ( textColor Ġ= ĠMaterial Theme . colors . on Surface ), ĊĠĠĠĠĠĠĠ Ġlabel Ġ= Ġ{ ĠText (" Password ") Ġ} ĊĠĠĠ Ġ) Ċ } Ċ Ċ @ Composable Ċ fun ĠF avorites ( ĊĠĠĠ Ġitems : ĠList < S oot he Data > Ċ ) Ġ{ ĊĠĠĠ Ġval Ġpair List Ġ= Ġitems ĊĠĠĠĠĠĠĠ Ġ. with Index () ĊĠĠĠĠĠĠĠ Ġ. groupBy Ġ{ Ġit . index Ġ/ Ġ 2 Ġ} ĊĊĠĠĠ ĠColumn ( ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Max Width () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( bottom Ġ= Ġmargin 4 0 ) ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( start Ġ= Ġmargin 1 6 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġ" FA V OR ITE ĠCOL LECTION S ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĠMaterial Theme . typography . h 2 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Ġ= ĠMaterial Theme . colors . on Background ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠLazy Row ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Padding Ġ= ĠPadding Values ( margin 1 6 ) ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpair List . map Ġ{ Ġpair Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠColumn Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠF avorite Card ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Ġ= Ġpair . value [ 0 ]. value , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmarginBottom Ġ= Ġmargin 8 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpair . value [ 1 ]?. value ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠF avorite Card ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Ġ= Ġpair . value [ 1 ]. value ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ fun ĠF avorite Card ( ĊĠĠĠ Ġitem : ĠS oot he Data , ĊĠĠĠ ĠmarginBottom : ĠD p Ġ= Ġ 0 . dp Ċ ) Ġ{ ĊĠĠĠ Ġval Ġcolor Bg Ġ= Ġif Ġ( is System In Dark Theme ()) Ġgray 8 0 0 Ġelse Ġwhite ĊĊĠĠĠ ĠRow ( ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( bottom Ġ= ĠmarginBottom , Ġend Ġ= Ġmargin 8 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. height ( 5 6 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. width ( 1 9 2 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. clip ( Rounded Corner Shape ( size Ġ= Ġ 4 . dp )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. background ( color Bg ), ĊĠĠĠĠĠĠĠ Ġvertical Alignment Ġ= ĠAlignment . Center Vert ically ĊĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠCo il Image ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Ġ= Ġitem . imageUrl , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( end Ġ= Ġmargin 8 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. height ( 5 6 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. width ( 5 6 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. clip ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRo unded Corner Shape ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Start Ġ= Ġ 4 . dp , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Start Ġ= Ġ 4 . dp ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Scale Ġ= ĠContent Scale . Fill Bounds , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Description Ġ= Ġitem . toString () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġitem . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĠMaterial Theme . typography . h 3 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Ġ= ĠMaterial Theme . colors . on Background , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextAlign Ġ= ĠText Align . Left ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ @ Composable Ċ fun ĠBody ( ĊĠĠĠ Ġitems : ĠList < S oot he Data > Ċ ) Ġ{ ĊĠĠĠ ĠColumn ( ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( bottom Ġ= Ġmargin 4 0 ) ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( start Ġ= Ġmargin 1 6 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġ" ALIGN ĠYOUR ĠB ODY ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĠMaterial Theme . typography . h 2 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Ġ= ĠMaterial Theme . colors . on Background ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠLazy Row ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Padding Ġ= ĠPadding Values ( margin 1 6 ) ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitems ( items ) Ġ{ Ġitem Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRo unded Image Text ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Ġ= Ġitem ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ fun ĠM ind ( ĊĠĠĠ Ġitems : ĠList < S oot he Data > Ċ ) Ġ{ ĊĠĠĠ ĠColumn ( ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( bottom Ġ= Ġmargin 4 0 ) ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( start Ġ= Ġmargin 1 6 ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġ" ALIGN ĠYOUR ĠM IND ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĠMaterial Theme . typography . h 2 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Ġ= ĠMaterial Theme . colors . on Background ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠLazy Row ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Padding Ġ= ĠPadding Values ( margin 1 6 ) ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitems ( items ) Ġ{ Ġitem Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRo unded Image Text ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Ġ= Ġitem ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ fun ĠRo unded Image Text ( ĊĠĠĠ Ġitem : ĠS oot he Data Ċ ) Ġ{ ĊĠĠĠ ĠColumn ( ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( end Ġ= Ġmargin 8 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. height ( 1 1 2 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. width ( 8 8 . dp ), ĊĠĠĠĠĠĠĠ Ġvertical Arrange ment Ġ= ĠArrange ment . Center , ĊĠĠĠĠĠĠĠ Ġhorizontal Alignment Ġ= ĠAlignment . Center H orizontally ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠCo il Image ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Ġ= Ġitem . imageUrl , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( bottom Ġ= Ġmargin 8 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. height ( 8 8 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. width ( 8 8 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. clip ( Circle Shape ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Scale Ġ= ĠContent Scale . Crop , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Description Ġ= Ġitem . toString () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġitem . name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĠMaterial Theme . typography . h 3 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Ġ= ĠMaterial Theme . colors . on Background , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠtextAlign Ġ= ĠText Align . Center ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Preview (" Home Screen Preview ") Ċ @ Composable Ċ fun ĠHome Screen Preview () Ġ{ ĊĠĠĠ ĠHome Screen () Ċ } Ċ