@ file : Suppress (" Matching Declaration Name ") Ċ Ċ package Ġreactive circ us . flow binding . android . view Ċ Ċ import Ġandroid . view . View Ċ import Ġandroidx . annotation . Check Result Ċ import Ġkotlinx . coroutines . Experimental Cor outines Api Ċ import Ġkotlinx . coroutines . channels . await Close Ċ import Ġkotlinx . coroutines . flow . Flow Ċ import Ġkotlinx . coroutines . flow . callback Flow Ċ import Ġkotlinx . coroutines . flow . conf late Ċ import Ġreactive circ us . flow binding . common . check MainThread Ċ Ċ /** Ċ Ġ* ĠCreate Ġa Ġ[ Flow ] Ġof Ġview Ġlayout Ġchange Ġevents Ġon Ġthe Ġ[ View ] Ġinstance . Ċ Ġ* Ċ Ġ* ĠNote : ĠCreated Ġflow Ġkeeps Ġa Ġstrong Ġreference Ġto Ġthe Ġ[ View ] Ġinstance Ċ Ġ* Ġuntil Ġthe Ġcoroutine Ġthat Ġlaunched Ġthe Ġflow Ġcollector Ġis Ġcancelled . Ċ Ġ* Ċ Ġ* ĠExample Ġof Ġusage : Ċ Ġ* Ċ Ġ* Ġ``` Ċ Ġ* Ġview . layout Change Events () Ċ Ġ* ĠĠĠĠ Ġ. on Each Ġ{ Ġevent Ġ-> Ċ Ġ* ĠĠĠĠĠĠĠĠĠ Ġ// Ġhandle Ġlayout Ġchange Ġevent Ċ Ġ* ĠĠĠĠ Ġ} Ċ Ġ* ĠĠĠĠ Ġ. launch In ( ui Scope ) Ċ Ġ* Ġ``` Ċ Ġ*/ Ċ @ Check Result Ċ @ Opt In ( Experimental Cor outines Api :: class ) Ċ public Ġfun ĠView . layout Change Events (): ĠFlow < Layout ChangeEvent > Ġ= Ġcallback Flow Ġ{ ĊĠĠĠ Ġcheck MainThread () ĊĠĠĠ Ġval Ġlistener Ġ= ĊĠĠĠĠĠĠĠ ĠView . On Layout ChangeListener Ġ{ Ġv , Ġleft , Ġtop , Ġright , Ġbottom , Ġold Left , Ġold Top , Ġold Right , Ġold Bottom Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Send ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLayout ChangeEvent ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview Ġ= Ġv , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġleft Ġ= Ġleft , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtop Ġ= Ġtop , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġright Ġ= Ġright , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbottom Ġ= Ġbottom , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġold Left Ġ= Ġold Left , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġold Top Ġ= Ġold Top , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġold Right Ġ= Ġold Right , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġold Bottom Ġ= Ġold Bottom ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġadd On Layout ChangeListener ( listener ) ĊĠĠĠ Ġawait Close Ġ{ Ġremove On Layout ChangeListener ( listener ) Ġ} Ċ }. conf late () Ċ Ċ @ Suppress (" Long Parameter List ") Ċ public Ġdata Ġclass ĠLayout ChangeEvent ( ĊĠĠĠ Ġpublic Ġval Ġview : ĠView , ĊĠĠĠ Ġpublic Ġval Ġleft : ĠInt , ĊĠĠĠ Ġpublic Ġval Ġtop : ĠInt , ĊĠĠĠ Ġpublic Ġval Ġright : ĠInt , ĊĠĠĠ Ġpublic Ġval Ġbottom : ĠInt , ĊĠĠĠ Ġpublic Ġval Ġold Left : ĠInt , ĊĠĠĠ Ġpublic Ġval Ġold Top : ĠInt , ĊĠĠĠ Ġpublic Ġval Ġold Right : ĠInt , ĊĠĠĠ Ġpublic Ġval Ġold Bottom : ĠInt Ċ ) Ċ