package Ġw ot tr ich . github . io . android smart checklist . presentation . ui . content Ċ Ċ import Ġandroidx . compose . foundation . layout . Row Scope Ċ import Ġandroidx . compose . material . Dropdown Menu Ċ import Ġandroidx . compose . material . Dropdown MenuItem Ċ import Ġandroidx . compose . material . Icon Ċ import Ġandroidx . compose . material . IconButton Ċ import Ġandroidx . compose . material . Text Ċ import Ġandroidx . compose . material . icons . Icons Ċ import Ġandroidx . compose . material . icons . filled . More Vert Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . runtime . getValue Ċ import Ġandroidx . compose . runtime . mutable State Of Ċ import Ġandroidx . compose . runtime . remember Ċ import Ġandroidx . compose . runtime . setValue Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . res . string Resource Ċ import Ġandroidx . compose . ui . semantics . content Description Ċ import Ġandroidx . compose . ui . semantics . semantics Ċ import Ġw ot tr ich . github . io . android smart checklist . R Ċ import Ġw ot tr ich . github . io . android smart checklist . presentation . ui . shared . Edit Icon State Content Ċ Ċ /** Ċ Ġ* Ġ@ author ĠW ot tr ich Ċ Ġ* Ġ@ author Ġw ot tr ich 7 8 @ gmail . com Ċ Ġ* Ġ@ since Ġ 0 7 / 1 2 / 2 0 2 1 Ċ Ġ* Ċ Ġ* ĠCopyright ĠÂ© Ġ 2 0 2 1 ĠAndroid Smart Check List . ĠAll Ġrights Ġreserved . Ċ Ġ* Ċ Ġ*/ Ċ Ċ @ Composable Ċ fun ĠRow Scope . Home Top Bar Actions Content ( ĊĠĠĠ Ġis Edit Mode : ĠBoolean , ĊĠĠĠ Ġon Show Delete Confirm Dialog : Ġ(() Ġ-> ĠUnit ), ĊĠĠĠ Ġon Copy Checklist : Ġ() Ġ-> ĠUnit , ĊĠĠĠ ĠonChange State : Ġ() Ġ-> ĠUnit Ċ ) Ġ{ ĊĠĠĠ Ġvar Ġis Expanded Ġby Ġremember Ġ{ Ġmutable State Of ( false ) Ġ} ĊĠĠĠ ĠEdit Icon State Content ( is Edit Mode Ġ= Ġis Edit Mode , ĠonChange State Ġ= ĠonChange State ) ĊĠĠĠ ĠIcon Button ( onClick Ġ= Ġ{ Ġis Expanded Ġ= Ġtrue Ġ}) Ġ{ ĊĠĠĠĠĠĠĠ ĠIcon ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimage Vector Ġ= ĠIcons . Default . More Vert , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Description Ġ= Ġstring Resource ( id Ġ= ĠR . string . checklist _ more _ options _ content _ description ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĠĠĠ ĠDropdown Menu Actions ( ĊĠĠĠĠĠĠĠ Ġis Expanded Ġ= Ġis Expanded , ĊĠĠĠĠĠĠĠ Ġdismiss Dropdown Menu Ġ= Ġ{ Ġis Expanded Ġ= Ġfalse Ġ}, ĊĠĠĠĠĠĠĠ Ġon Show Delete Confirm Dialog Ġ= Ġon Show Delete Confirm Dialog , ĊĠĠĠĠĠĠĠ Ġon Copy Checklist Ġ= Ġon Copy Checklist ĊĠĠĠ Ġ) Ċ } Ċ Ċ @ Composable Ċ private Ġfun ĠDropdown Menu Actions ( ĊĠĠĠ Ġis Expanded : ĠBoolean , ĊĠĠĠ Ġdismiss Dropdown Menu : Ġ() Ġ-> ĠUnit , ĊĠĠĠ Ġon Show Delete Confirm Dialog : Ġ() Ġ-> ĠUnit , ĊĠĠĠ Ġon Copy Checklist : Ġ() Ġ-> ĠUnit , Ċ ) Ġ{ ĊĠĠĠ ĠDropdown Menu ( ĊĠĠĠĠĠĠĠ Ġexpanded Ġ= Ġis Expanded , ĊĠĠĠĠĠĠĠ Ġon Dismiss Request Ġ= Ġ{ Ġdismiss Dropdown Menu () Ġ} ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠDelete Dropdown MenuItem Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss Dropdown Menu () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Show Delete Confirm Dialog () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠCopy Checklist Dropdown MenuItem Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss Dropdown Menu () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Copy Checklist () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ private Ġfun ĠDelete Dropdown MenuItem ( on Show Delete Confirm Dialog : Ġ() Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġval Ġon Show Delete Confirm Dialog Content Description Ġ= Ġstring Resource ( ĊĠĠĠĠĠĠĠ Ġid Ġ= ĠR . string . checklist _ delete _ checklist _ content _ description ĊĠĠĠ Ġ) ĊĠĠĠ ĠDropdown MenuItem ( ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . semantics Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Description Ġ= Ġon Show Delete Confirm Dialog Content Description ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ ĠonClick Ġ= Ġon Show Delete Confirm Dialog ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġstring Resource ( id Ġ= ĠR . string . checklist _ delete _ label )) ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ private Ġfun ĠCopy Checklist Dropdown MenuItem ( on Copy Checklist : Ġ() Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġval Ġon Share Click Content Description Ġ= Ġstring Resource ( ĊĠĠĠĠĠĠĠ Ġid Ġ= ĠR . string . checklist _ copy _ content _ description ĊĠĠĠ Ġ) ĊĠĠĠ ĠDropdown MenuItem ( ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier . semantics Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Description Ġ= Ġon Share Click Content Description ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ ĠonClick Ġ= Ġon Copy Checklist ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠText ( text Ġ= Ġstring Resource ( id Ġ= ĠR . string . checklist _ copy _ label )) ĊĠĠĠ Ġ} Ċ }