package Ġcom . squareup . view registry . back stack Ċ Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġcom . squareup . view registry . Back Stack Screen Ċ import Ġcom . squareup . view registry . Back Stack Screen . Key Ċ import Ġcom . squareup . view registry . View Registry Ċ import Ġcom . squareup . view registry . back stack . ViewState Stack . Direction Ċ import Ġio . reactivex . Observable Ċ import Ġkotlin . reflect . K Class Ċ Ċ /** Ċ Ġ* ĠE mpt ies Ġthe Ġcontainer Ġand Ġadds Ġthe Ġview Ġto Ġit Ġwith Ġno Ġanimation . Ċ Ġ* ĠThis Ġis Ġthe Ġdefault Ġeffect Ġreturned Ġby Ġ[ View Registry . effects ] Ċ Ġ* Ġif Ġno Ġother Ġis Ġfound . Ċ Ġ*/ Ċ class ĠNo Effect ( ĊĠ Ġprivate Ġval Ġfrom : ĠKey < *> ?, ĊĠ Ġprivate Ġval Ġto : ĠKey < *> ?, ĊĠ Ġprivate Ġval Ġdirection : ĠDirection ? Ċ ) Ġ: ĠBack Stack Effect Ġ{ ĊĠ Ġconstructor ( ĊĠĠĠ Ġfrom : ĠK Class < *> ? Ġ= Ġnull , ĊĠĠĠ Ġto : ĠK Class < *> ? Ġ= Ġnull , ĊĠĠĠ Ġdirection : ĠDirection ? Ġ= Ġnull ĊĠ Ġ) Ġ: Ġthis ( from ?. let Ġ{ ĠKey ( it ) Ġ}, Ġto ?. let Ġ{ ĠKey ( it ) Ġ}, Ġdirection ) ĊĊĠ Ġoverride Ġfun Ġmatches ( ĊĠĠĠ Ġfrom : ĠKey <* >, ĊĠĠĠ Ġto : ĠKey <* >, ĊĠĠĠ Ġdirection : ĠDirection ĊĠ Ġ): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn Ġ( this . from Ġ== Ġnull Ġ|| Ġthis . from Ġ== Ġfrom ) Ġ&& ĊĠĠĠĠĠĠĠ Ġ( this . to Ġ== Ġnull Ġ|| Ġthis . to Ġ== Ġto ) Ġ&& ĊĠĠĠĠĠĠĠ Ġ( this . direction Ġ== Ġnull Ġ|| Ġthis . direction Ġ== Ġdirection ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġexecute ( ĊĠĠĠ Ġfrom : ĠView , ĊĠĠĠ Ġto : ĠBack Stack Screen <* >, ĊĠĠĠ Ġscreens : ĠObservable < out ĠBack Stack Screen <* >>, ĊĠĠĠ Ġview Registry : ĠView Registry , ĊĠĠĠ Ġcontainer : ĠViewGroup , ĊĠĠĠ ĠsetUp New View : Ġ( View ) Ġ-> ĠUnit , ĊĠĠĠ Ġdirection : ĠDirection ĊĠ Ġ) Ġ{ ĊĠĠĠ Ġexecute ( to , Ġscreens , Ġview Registry , Ġcontainer , ĠsetUp New View ) ĊĠ Ġ} ĊĊĠ Ġcompanion Ġobject Ġ: ĠBack Stack Effect Ġby ĠNo Effect () Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠE mpt ies Ġ[ container ] Ġand Ġmakes Ġ[ to ] Ġits Ġonly Ġchild . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġexecute ( ĊĠĠĠĠĠ Ġto : ĠBack Stack Screen <* >, ĊĠĠĠĠĠ Ġscreens : ĠObservable < out ĠBack Stack Screen <* >>, ĊĠĠĠĠĠ Ġview Registry : ĠView Registry , ĊĠĠĠĠĠ Ġcontainer : ĠViewGroup , ĊĠĠĠĠĠ ĠsetUp New View : Ġ( View ) Ġ-> ĠUnit ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠ Ġcontainer . removeAll Views () ĊĠĠĠĠĠ Ġval Ġnew View Ġ= Ġto . view For Wrapped Screen ( screens , Ġview Registry , Ġcontainer ) ĊĠĠĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĠsetUp New View ( this ) Ġ} ĊĠĠĠĠĠ Ġcontainer . addView ( new View ) ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ