package Ġjp . j ug g ler . sub way to oter čĊč Ċ import Ġandroid . content . Broadcast Receiver č Ċ import Ġandroid . content . Component Name č Ċ import Ġandroid . content . Context č Ċ import Ġandroid . content . Intent č Ċ import Ġjava . lang . ref . Weak Reference čĊč Ċ class ĠChoose Receiver Ġ: Broadcast Receiver (){ čĊĉčĊ ĉ comp anion Ġobject { čĊĉ ĉ var Ġlast Component Name : ĠComponent Name ? Ġ= Ġnull čĊĉ ĉ var Ġref Callback Ġ: ĠWeak Reference < ()-> Unit >? Ġ= Ġnull čĊĉĉčĊĉ ĉ fun Ġset Callback ( cb : ()-> Unit ){ čĊĉĉ ĉ ref Callback Ġ= ĠWeak Reference ( cb ) čĊĉ ĉ } čĊ ĉ } čĊĉčĊ ĉ override Ġfun Ġon Receive ( context : ĠContext , intent : ĠIntent ?) Ġ{ čĊĉ ĉ last Component Name Ġ= Ġintent ?. extras ?. get ( Intent . EXTRA _ CH OS EN _ COMPONENT ) Ġas ? ĠComponent Name čĊĉ ĉ ref Callback ?. get ()?. invoke () čĊ ĉ } č Ċ } čĊ