/* Ċ Ġ* Ġ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 . ui . input Ċ Ċ import Ġandroidx . compose . animation . core . animate Float Ċ import Ġandroidx . compose . animation . core . t ween Ċ import Ġandroidx . compose . animation . core . update Transition Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . runtime . State Ċ import Ġandroidx . compose . runtime . getValue Ċ import Ġandroidx . compose . runtime . remember Ċ Ċ class ĠInput Transition Data ( ĊĠĠĠ Ġplaceholder Alpha : ĠState < Float >, ĊĠĠĠ Ġtext Field Alpha : ĠState < Float > Ċ ) Ġ{ ĊĠĠĠ Ġval Ġplaceholder Alpha Ġby Ġplaceholder Alpha ĊĠĠĠ Ġval Ġtext Field Alpha Ġby Ġtext Field Alpha Ċ } Ċ Ċ @ Composable Ċ fun Ġupdate Input Transition Data ( show City : ĠBoolean ): ĠInput Transition Data Ġ{ ĊĠĠĠ Ġval Ġtransition Ġ= Ġupdate Transition ( show City ) ĊĊĠĠĠ Ġval Ġplaceholder Alpha Ġ= Ġtransition . animate Float ( transition Spec Ġ= Ġ{ Ġt ween () Ġ}) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( show City ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 F ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 F ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġtext Field Alpha Ġ= Ġtransition . animate Float ( ĊĠĠĠĠĠĠĠ Ġtransition Spec Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġt ween ( delay Millis Ġ= Ġ 1 5 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( show City ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 F ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 F ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġremember ( transition ) Ġ{ ĊĠĠĠĠĠĠĠ ĠInput Transition Data ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplaceholder Alpha Ġ= Ġplaceholder Alpha , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Field Alpha Ġ= Ġtext Field Alpha ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ