package Ġio . android al atan . bundle . collector Ċ Ċ import Ġandroidx . annotation . Visible ForTesting Ċ import Ġio . android al atan . bundle . collector . api . Bundle Collector Store Ċ import Ġio . android al atan . bundle . collector . api . Bundle Collector Stream Ċ import Ġio . android al atan . bundle . api . Bundle Data Ċ import Ġio . android al atan . bundle . api . Intent Data Ċ Ċ class ĠBundle Collector Stream Impl ( ĊĠĠĠ Ġdefault Bundle Data : ĠIntent Data Ġ= ĠIntent Data . EMPTY Ċ ) Ġ: ĠBundle Collector Stream , ĊĠĠĠ ĠBundle Collector Store Ġ{ ĊĊĠĠĠ Ġ@ Visible ForTesting Ġinternal Ġvar Ġintent Data Ġ= Ġdefault Bundle Data ĊĊĠĠĠ Ġ@ Visible ForTesting Ġinternal Ġval Ġcallbacks Ġ= Ġmutable ListOf < Bundle Collector Stream . Callback >() ĊĊĠĠĠ Ġprivate Ġval Ġlock Ġ= ĠAny () ĊĊĠĠĠ Ġoverride Ġfun Ġupdate Intent ( new Intent Data : ĠIntent Data ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsynchronized ( lock ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . intent Data Ġ= Ġnew Intent Data ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcallbacks . forEach Ġ{ Ġit . on Event ( new Intent Data ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġregister Intent Data Callback ( callback : ĠBundle Collector Stream . Callback ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsynchronized ( lock ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcallbacks . add ( callback ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcallback . on Event ( intent Data ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġunregister Intent Data Callback ( callback : ĠBundle Collector Stream . Callback ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsynchronized ( lock ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcallbacks . remove ( callback ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠgetCurrent Bundle (): ĠBundle Data Ġ= Ġintent Data Ċ Ċ }