package Ġcom . github . ap og nu . ot ter . fragments Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . core . view . forEach Ċ import Ġandroidx . lifecycle . lifecycle Scope Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . github . ap og nu . ot ter . R Ċ import Ġcom . github . ap og nu . ot ter . adapters . Rad ios Adapter Ċ import Ġcom . github . ap og nu . ot ter . repositories . Rad ios Repository Ċ import Ġcom . github . ap og nu . ot ter . utils .* Ċ import Ġkotlinx . android . synt hetic . main . fragment _ rad ios .* Ċ import Ġkotlinx . coroutines . Dispatch ers . Main Ċ import Ġkotlinx . coroutines . flow . collect Ċ import Ġkotlinx . coroutines . launch Ċ Ċ class ĠRad ios Fragment Ġ: ĠO t ter Fragment < Radio , ĠRad ios Adapter >() Ġ{ ĊĠ Ġoverride Ġval Ġview Res Ġ= ĠR . layout . fragment _ rad ios ĊĠ Ġoverride Ġval Ġre cycler : ĠRecyclerView Ġget () Ġ= Ġrad ios ĊĠ Ġoverride Ġval Ġalways Refresh Ġ= Ġfalse ĊĊĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠ Ġadapter Ġ= ĠRad ios Adapter ( context , Ġlifecycle Scope , ĠRadio ClickListener ()) ĊĠĠĠ Ġrepository Ġ= ĠRad ios Repository ( context ) ĊĠ Ġ} ĊĊĠ Ġinner Ġclass ĠRadio ClickListener Ġ: ĠRad ios Adapter . On Radio ClickListener Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠonClick ( holder : ĠRad ios Adapter . ViewHolder , Ġradio : ĠRadio ) Ġ{ ĊĠĠĠĠĠ Ġholder . spin () ĊĠĠĠĠĠ Ġre cycler . forEach Ġ{ ĊĠĠĠĠĠĠĠ Ġit . isEnabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġit . is Clickable Ġ= Ġfalse ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ ĠCommand Bus . send ( Command . Play Radio ( radio )) ĊĊĠĠĠĠĠ Ġlifecycle Scope . launch ( Main ) Ġ{ ĊĠĠĠĠĠĠĠ ĠEvent Bus . get (). collect Ġ{ Ġmessage Ġ-> ĊĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( message ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠEvent . Radio Started Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( rad ios Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġre cycler . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . isEnabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . is Clickable Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ }