package Ġcom . flip per devices . key screen . impl . comp osable Ċ Ċ import Ġandroidx . compose . foundation . click able Ċ import Ġandroidx . compose . foundation . interaction . Mutable Interaction Source Ċ import Ġandroidx . compose . foundation . layout . Box Ċ import Ġandroidx . compose . foundation . layout . Row Ċ import Ġandroidx . compose . foundation . layout . Row Scope Ċ import Ġandroidx . compose . foundation . layout . fill Max Width Ċ import Ġandroidx . compose . foundation . layout . padding Ċ import Ġandroidx . compose . foundation . layout . size Ċ import Ġandroidx . compose . material . Icon Ċ import Ġandroidx . compose . material . Text Ċ import Ġandroidx . compose . material . ripple . remember R ipple Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . runtime . remember Ċ import Ġandroidx . compose . ui . Alignment Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . res . color Resource Ċ import Ġandroidx . compose . ui . res . p ainter Resource Ċ import Ġandroidx . compose . ui . res . string Resource Ċ import Ġandroidx . compose . ui . text . font . Font Weight Ċ import Ġandroidx . compose . ui . unit . dp Ċ import Ġandroidx . compose . ui . unit . sp Ċ import Ġcom . flip per devices . key screen . impl . R Ċ import Ġcom . flip per devices . key screen . impl . model . Key Screen State Ċ import Ġcom . flip per devices . key screen . impl . view model . Key Screen ViewModel Ċ Ċ @ Composable Ċ fun ĠComp osable Key Action ( viewModel : ĠKey Screen ViewModel , Ġkey Screen State : ĠKey Screen State . Ready ) Ġ{ ĊĠĠĠ ĠBox ( ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Max Width () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. click able ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . set Favorite (! key Screen State . is Favorite ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinteraction Source Ġ= Ġremember Ġ{ ĠMutable Interaction Source () Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġindication Ġ= Ġremember R ipple () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ Ġcontent Alignment Ġ= ĠAlignment . Center Start ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠRow ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . padding ( horizontal Ġ= Ġ 2 4 . dp , Ġvertical Ġ= Ġ 1 0 . dp ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvertical Alignment Ġ= ĠAlignment . Center Vert ically ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( key Screen State . is Favorite ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠComp osable Favorite Enabled () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse ĠComp osable Favorite Disabled () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ private Ġfun ĠRow Scope . Composable Favorite Disabled () Ġ{ ĊĠĠĠ ĠIcon ( ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. size ( size Ġ= Ġ 3 2 . dp ), ĊĠĠĠĠĠĠĠ Ġpainter Ġ= Ġpainter Resource ( R . drawable . ic _ star _ disabled ), ĊĠĠĠĠĠĠĠ Ġcontent Description Ġ= Ġstring Resource ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . key screen _ favorite _ disabled ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . padding ( start Ġ= Ġ 1 0 . dp ), ĊĠĠĠĠĠĠĠ Ġtext Ġ= Ġstring Resource ( R . string . key screen _ favorite _ disabled ), ĊĠĠĠĠĠĠĠ ĠfontWeight Ġ= ĠFontWeight . W 5 0 0 , ĊĠĠĠĠĠĠĠ ĠfontSize Ġ= Ġ 1 6 . sp ĊĠĠĠ Ġ) Ċ } Ċ Ċ @ Composable Ċ private Ġfun ĠRow Scope . Composable Favorite Enabled () Ġ{ ĊĠĠĠ ĠIcon ( ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. size ( size Ġ= Ġ 3 2 . dp ), ĊĠĠĠĠĠĠĠ Ġpainter Ġ= Ġpainter Resource ( R . drawable . ic _ star _ enabled ), ĊĠĠĠĠĠĠĠ Ġcontent Description Ġ= Ġstring Resource ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . key screen _ favorite _ enabled ĊĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ Ġt int Ġ= Ġcolor Resource ( R . color . key screen _ favorite _ enabled ) ĊĠĠĠ Ġ) ĊĊĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . padding ( start Ġ= Ġ 1 0 . dp ), ĊĠĠĠĠĠĠĠ Ġtext Ġ= Ġstring Resource ( R . string . key screen _ favorite _ enabled ), ĊĠĠĠĠĠĠĠ ĠfontWeight Ġ= ĠFontWeight . W 5 0 0 , ĊĠĠĠĠĠĠĠ ĠfontSize Ġ= Ġ 1 6 . sp ĊĠĠĠ Ġ) Ċ } Ċ