/* Ċ Ġ* ĠCopyright Ġ 2 0 2 2 Ġ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 Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// 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 Ġandroidx . compose . foundation . lazy Ċ Ċ import Ġandroidx . compose . foundation . Experimental Foundation Api Ċ import Ġandroidx . compose . foundation . lazy . layout . Modifier Local Pin nable Parent Ċ import Ġandroidx . compose . foundation . lazy . layout . Pin nable Parent Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . runtime . remember Ċ import Ġandroidx . compose . ui . Modifier Ċ import Ġandroidx . compose . ui . modifier . Modifier Local Consumer Ċ import Ġandroidx . compose . ui . modifier . Modifier Local Provider Ċ import Ġandroidx . compose . ui . modifier . Modifier Local Read Scope Ċ import Ġandroidx . compose . ui . modifier . Pro vid able Modifier Local Ċ Ċ /** Ċ Ġ* ĠThis Ġis Ġa Ġtemporary Ġplaceholder Ġimplementation Ġof Ġpin ning Ġuntil Ġwe Ġimplement Ġb / 1 9 5 0 4 9 0 1 0 . Ċ Ġ*/ Ċ @ Suppress (" Composable Modifier Factory ") Ċ @ Composable Ċ internal Ġfun ĠModifier . lazy List Pin ning Modifier ( ĊĠĠĠ Ġstate : ĠLazy List State , ĊĠĠĠ Ġbeyond Bounds Info : ĠLazy List B ey ond Bounds Info Ċ ): ĠModifier Ġ{ ĊĠĠĠ Ġreturn Ġthis Ġthen Ġremember ( state , Ġbeyond Bounds Info ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLazy List Pin ning Modifier ( state , Ġbeyond Bounds Info ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Opt In ( Experimental Foundation Api :: class ) Ċ private Ġclass ĠLazy List Pin ning Modifier ( ĊĠĠĠ Ġprivate Ġval Ġstate : ĠLazy List State , ĊĠĠĠ Ġprivate Ġval Ġbeyond Bounds Info : ĠLazy List B ey ond Bounds Info , Ċ ) Ġ: ĠModifier Local Provider < Pin nable Parent ? >, ĠModifier Local Consumer , ĠPin nable Parent Ġ{ ĊĠĠĠ Ġvar Ġpin nable Grand Parent : ĠPin nable Parent ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġval Ġkey : ĠPro vid able Modifier Local < Pin nable Parent ?> ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠModifier Local Pin nable Parent ĊĊĠĠĠ Ġoverride Ġval Ġvalue : ĠPin nable Parent ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġthis ĊĊĠĠĠ Ġoverride Ġfun Ġon Modifier Local s Updated ( scope : ĠModifier Local Read Scope ) Ġ{ ĊĠĠĠĠĠĠĠ Ġpin nable Grand Parent Ġ= Ġwith ( scope ) Ġ{ ĠModifier Local Pin nable Parent . current Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġpin Items (): ĠPin nable Parent . Pin ned Items Handle Ġ= Ġwith ( be yond Bounds Info ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( has Intervals ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠPin nable Parent . Pin ned Items Handle Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparent Pin ned Items Handle Ġ= Ġpin nable Grand Parent ?. pin Items () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinterval Ġ= Ġadd Interval ( start , Ġend ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġun pin () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġremove Interval ( interval ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparent Pin ned Items Handle ?. un pin () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstate . re measurement ?. force Re measure () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpin nable Grand Parent ?. pin Items () Ġ?: ĠEmpty Pin ned Items Handle ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠEmpty Pin ned Items Handle Ġ= Ġobject Ġ: ĠPin nable Parent . Pin ned Items Handle Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġun pin () Ġ{} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ