package Ġcom . dark os . oauth . common Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ Ċ class ĠOAuth Result Processor Ġ{ ĊĠĠĠ Ġinterface ĠListener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġlisteners : ĠList < Listener > Ġby Ġweak List () ĊĠĠĠ Ġvar Ġactivity : ĠAppCompatActivity ? Ġby Ġweak () ĊĊĠĠĠ Ġfun Ġattach ( activity : ĠAppCompatActivity ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . activity Ġ= Ġactivity ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd Listener ( block : Ġ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlisteners Ġ= Ġlisteners Ġ+ Ġobject Ġ: ĠListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblock ( request Code , ĠresultCode , Ġdata ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġlisteners . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }