package Ġcom . squareup . sample . po etry Ċ Ċ import Ġcom . squareup . sample . container . overview detail . Overview Detail Screen Ċ import Ġcom . squareup . sample . po etry . Po em Workflow . Action . Clear Selection Ċ import Ġcom . squareup . sample . po etry . Po em Workflow . Action . Handle St anza List Output Ċ import Ġcom . squareup . sample . po etry . Po em Workflow . Action . Select Next Ċ import Ġcom . squareup . sample . po etry . Po em Workflow . Action . Select Previous Ċ import Ġcom . squareup . sample . po etry . Po em Workflow . Close Po em Ċ import Ġcom . squareup . sample . po etry . St anza Workflow . Output . Close St anz as Ċ import Ġcom . squareup . sample . po etry . St anza Workflow . Output . Show Next St anza Ċ import Ġcom . squareup . sample . po etry . St anza Workflow . Output . Show Previous St anza Ċ import Ġcom . squareup . sample . po etry . St anza Workflow . Props Ċ import Ġcom . squareup . sample . po etry . model . Po em Ċ import Ġcom . squareup . workflow 1 . Snapshot Ċ import Ġcom . squareup . workflow 1 . State ful Workflow Ċ import Ġcom . squareup . workflow 1 . Workflow Action Ċ import Ġcom . squareup . workflow 1 . Workflow Action . Companion . no Action Ċ import Ġcom . squareup . workflow 1 . parse Ċ import Ġcom . squareup . workflow 1 . ui . Workflow Ui Experimental Api Ċ import Ġcom . squareup . workflow 1 . ui . back stack . Back Stack Screen Ċ import Ġcom . squareup . workflow 1 . ui . back stack . to Back Stack Screen Ċ Ċ /** Ċ Ġ* ĠR enders Ġa Ġ[ Po em ] Ġas Ġa Ġ[ Overview Detail Screen ], Ġwhose Ġoverview Ġis Ġa Ġ[ St anza List Rendering ] Ċ Ġ* Ġfor Ġthe Ġpo em , Ġand Ġwhose Ġdetail Ġtra ver ses Ġthrough Ġ[ St anza Rendering ] s . Ċ Ġ*/ Ċ object ĠPo em Workflow Ġ: ĠStateful Workflow < Po em , ĠInt , ĠClose Po em , ĠOverview Detail Screen >() Ġ{ ĊĠ Ġobject ĠClose Po em ĊĊĠ Ġoverride Ġfun ĠinitialState ( ĊĠĠĠ Ġprops : ĠPo em , ĊĠĠĠ Ġsnapshot : ĠSnapshot ? ĊĠ Ġ): ĠInt Ġ{ ĊĠĠĠ Ġreturn Ġsnapshot ?. bytes ?. parse Ġ{ Ġsource Ġ-> Ġsource . readInt () Ġ} ĊĠĠĠĠĠĠĠ Ġ?: Ġ- 1 ĊĠ Ġ} ĊĊĠ Ġ@ Opt In ( Workflow Ui Experimental Api :: class ) ĊĠ Ġoverride Ġfun Ġrender ( ĊĠĠĠ Ġrender Props : ĠPo em , ĊĠĠĠ Ġrender State : ĠInt , ĊĠĠĠ Ġcontext : ĠRender Context ĊĠ Ġ): ĠOverview Detail Screen Ġ{ ĊĠĠĠ Ġval Ġprevious St anz as : ĠList < St anza Rendering > Ġ= ĊĠĠĠĠĠ Ġif Ġ( render State Ġ== Ġ- 1 ) Ġempty List () ĊĠĠĠĠĠ Ġelse Ġrender Props . stan z as . sub List ( 0 , Ġrender State ) ĊĠĠĠĠĠĠĠĠĠ Ġ. map Indexed Ġ{ Ġindex , Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . render Child ( St anza Workflow , ĠProps ( render Props , Ġindex ), Ġ"$ index ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġno Action () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġvisible St anza Ġ= ĊĠĠĠĠĠ Ġif Ġ( render State Ġ< Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġcontext . render Child ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSt anza Workflow , ĠProps ( render Props , Ġrender State ), Ġ"$ render State " ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( it ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClose St anz as Ġ-> ĠClear Selection ĊĠĠĠĠĠĠĠĠĠĠĠ ĠShow Previous St anza Ġ-> ĠSelect Previous ĊĠĠĠĠĠĠĠĠĠĠĠ ĠShow Next St anza Ġ-> ĠSelect Next ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġstack ed St anz as Ġ= Ġvisible St anza ?. let Ġ{ ĊĠĠĠĠĠ Ġ( previous St anz as Ġ+ Ġvisible St anza ). to Back Stack Screen < Any >() ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġst anza Index Ġ= ĊĠĠĠĠĠ Ġcontext . render Child ( St anza List Workflow , Ġrender Props ) Ġ{ Ġselected Ġ-> ĊĠĠĠĠĠĠĠ ĠHandle St anza List Output ( selected ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠ Ġ. copy ( selection Ġ= Ġrender State ) ĊĠĠĠĠĠĠĠĠĠ Ġ. let Ġ{ ĠBack Stack Screen < Any >( it ) Ġ} ĊĊĠĠĠ Ġreturn Ġstack ed St anz as ĊĠĠĠĠĠĠĠ Ġ? . let Ġ{ ĠOverview Detail Screen ( overview Rendering Ġ= Ġst anza Index , Ġdetail Rendering Ġ= Ġit ) Ġ} ĊĠĠĠĠĠĠĠ Ġ?: ĠOverview Detail Screen ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverview Rendering Ġ= Ġst anza Index , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselect Default Ġ= Ġ{ Ġcontext . action Sink . send ( Handle St anza List Output ( 0 )) Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġsnapshot State ( state : ĠInt ): ĠSnapshot Ġ= ĠSnapshot . write Ġ{ Ġsink Ġ-> ĊĠĠĠ Ġsink . writeInt ( state ) ĊĠ Ġ} ĊĊĠ Ġprivate Ġsealed Ġclass ĠAction Ġ: ĠWorkflow Action < Po em , ĠInt , ĠClose Po em >() Ġ{ ĊĠĠĠ Ġobject ĠClear Selection Ġ: ĠAction () ĊĠĠĠ Ġobject ĠSelect Previous Ġ: ĠAction () ĊĠĠĠ Ġobject ĠSelect Next Ġ: ĠAction () ĊĠĠĠ Ġclass ĠHandle St anza List Output ( val Ġselection : ĠInt ) Ġ: ĠAction () ĊĠĠĠ Ġobject ĠExit Po em Ġ: ĠAction () ĊĊĠĠĠ Ġoverride Ġfun ĠUp dater . apply () Ġ{ ĊĠĠĠĠĠ Ġwhen Ġ( this @ Action ) Ġ{ ĊĠĠĠĠĠĠĠ ĠClear Selection Ġ-> Ġstate Ġ= Ġ- 1 ĊĠĠĠĠĠĠĠ ĠSelect Previous Ġ-> Ġstate Ġ-= Ġ 1 ĊĠĠĠĠĠĠĠ ĠSelect Next Ġ-> Ġstate Ġ+= Ġ 1 ĊĠĠĠĠĠĠĠ Ġis ĠHandle St anza List Output Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġif Ġ( selection Ġ== Ġ- 1 ) Ġset Output ( Close Po em ) ĊĠĠĠĠĠĠĠĠĠ Ġstate Ġ= Ġselection ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠExit Po em Ġ-> Ġset Output ( Close Po em ) ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ