/* Ċ Ġ* Ġ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 . fid lo o . flux . presentation . ui . component Ċ Ċ import Ġandroidx . compose . animation . core . animate Float As State Ċ import Ġandroidx . compose . foundation . click able Ċ import Ġandroidx . compose . foundation . layout . Arrange ment Ċ import Ġandroidx . compose . foundation . layout . Column Ċ import Ġandroidx . compose . foundation . layout . Row Ċ import Ġandroidx . compose . foundation . layout . Spacer Ċ 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 . material . Content Alpha Ċ import Ġandroidx . compose . material . Icon Ċ import Ġandroidx . compose . material . Local Content Alpha Ċ import Ġandroidx . compose . material . Material Theme Ċ import Ġandroidx . compose . material . Text Ċ import Ġandroidx . compose . material . icons . Icons Ċ import Ġandroidx . compose . material . icons . rounded . Expand More Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . runtime . Composition Local Provider Ċ import Ġandroidx . compose . runtime . getValue Ċ import Ġandroidx . compose . ui . Alignment Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . draw . rotate Ċ import Ġandroidx . compose . ui . res . string Resource Ċ import Ġandroidx . compose . ui . tool ing . preview . Preview Ċ import Ġandroidx . compose . ui . unit . dp Ċ import Ġcom . fid lo o . flux . presentation . R Ċ Ċ @ Composable Ċ fun ĠExpand able Section Header ( ĊĠĠĠ Ġtitle : ĠString , ĊĠĠĠ Ġsubtitle : ĠString , ĊĠĠĠ Ġexpanded : ĠBoolean , ĊĠĠĠ Ġon Toggle State : Ġ() Ġ-> ĠUnit Ċ ) Ġ{ ĊĠĠĠ Ġval Ġrotation : ĠFloat Ġby Ġanimate Float As State ( if Ġ( expanded ) Ġ 1 8 0 f Ġelse Ġ 0 f ) ĊĊĠĠĠ ĠRow ( ĊĠĠĠĠĠĠĠ Ġhorizontal Arrange ment Ġ= ĠArrange ment . Space Between , ĊĠĠĠĠĠĠĠ Ġvertical Alignment Ġ= ĠAlignment . Center Vert ically , ĊĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Max Width () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. click able Ġ{ Ġon Toggle State () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. padding ( horizontal Ġ= Ġ 2 4 . dp , Ġvertical Ġ= Ġ 1 6 . dp ) ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ ĠColumn Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġtitle , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĠMaterial Theme . typography . h 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSp acer ( modifier Ġ= ĠModifier . height ( 2 . dp )) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠComp osition Local Provider ( Local Content Alpha Ġprovides ĠContent Alpha . medium ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġsubtitle , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĠMaterial Theme . typography . subtitle 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠIcon ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimage Vector Ġ= ĠIcons . Rounded . Expand More , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Description Ġ= Ġstring Resource ( R . string . expand able _ header _ toggle _ message ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodifier Ġ= ĠModifier ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. size ( 2 8 . dp ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. rotate ( rotation ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Preview Ċ @ Composable Ċ fun ĠExpand able Section Header Preview () Ġ{ ĊĠĠĠ ĠExpand able Section Header ( ĊĠĠĠĠĠĠĠ Ġtitle Ġ= Ġstring Resource ( id Ġ= ĠR . string . hourly _ weather ), ĊĠĠĠĠĠĠĠ Ġsubtitle Ġ= Ġstring Resource ( id Ġ= ĠR . string . forecast _ 2 4 h ), ĊĠĠĠĠĠĠĠ Ġexpanded Ġ= Ġfalse , ĊĠĠĠĠĠĠĠ Ġon Toggle State Ġ= Ġ{} ĊĠĠĠ Ġ) Ċ } Ċ