package Ġcom . t roy . ters ive . model . ext Ċ Ċ import Ġandroidx . lifecycle . Lifecycle Owner Ċ import Ġandroidx . lifecycle . lifecycle Scope Ċ import Ġkotlinx . coroutines . channels . Receive Channel Ċ import Ġkotlinx . coroutines . launch Ċ Ċ inline Ġfun Ġ< E > ĠLifecycle Owner . receive ( channel : ĠReceive Channel < E >, Ġcross inline Ġblock : Ġsuspend Ġ( E ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġlifecycle Scope . launch Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( e Ġin Ġchannel ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġblock ( e ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ inline Ġfun Ġ< E > ĠLifecycle Owner . receive When Created ( channel : ĠReceive Channel < E >, Ġcross inline Ġblock : Ġsuspend Ġ( E ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġlifecycle Scope . launch When Created Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( e Ġin Ġchannel ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġblock ( e ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠRecomm ended Ġfor Ġthe Ġmajority Ġof Ġuse Ġcases Ċ Ġ*/ Ċ inline Ġfun Ġ< E > ĠLifecycle Owner . receive When Started ( channel : ĠReceive Channel < E >, Ġcross inline Ġblock : Ġsuspend Ġ( E ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġlifecycle Scope . launch When Started Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( e Ġin Ġchannel ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġblock ( e ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ inline Ġfun Ġ< E > ĠLifecycle Owner . receive When Res umed ( channel : ĠReceive Channel < E >, Ġcross inline Ġblock : Ġsuspend Ġ( E ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġlifecycle Scope . launch When Res umed Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( e Ġin Ġchannel ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġblock ( e ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }