package Ġcom . null gr . core . int ents . rx result . deleg ates Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Intent Ċ import Ġandroid . content . Intent Sender Ċ import Ġandroid . os . Bundle Ċ import Ġcom . null gr . core . rx . Rx Bus Ċ import Ġcom . null gr . core . rx . Singleton Rx Bus Provider Ċ import Ġcom . null gr . core . int ents . rx result . Rx Activity Result Ċ Ċ /** Ċ Ġ* Ġ@ author ĠGr ish ko ĠNik ita Ċ Ġ*/ Ċ internal Ġabstract Ġclass ĠBase Resolve Result Activity Delegate ( val Ġactivity : ĠActivity ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠREQUEST _ CODE Ġ= Ġ 1 2 0 0 ĊĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance ( argument : ĠAny , Ġactivity : ĠActivity ): ĠBase Resolve Result Activity Delegate Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( argument :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIntent Sender :: class . java Ġ-> ĠIntent Sender Activity Delegate ( activity ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIntent :: class . java Ġ-> ĠIntent Activity Delegate ( activity ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalArgumentException (" No Ġdelegate Ġfor Ġclass Ġ${ argument :: class . java }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) ĊĊĠĠĠ Ġopen Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( request Code Ġ== ĠREQUEST _ CODE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsend Result ( result Code , Ġdata ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun Ġsend Result ( result Code : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠSingleton Rx Bus Provider . BUS . post ( Rx Bus . Keys . SINGLE , ĠRx Activity Result ( data , ĠresultCode )) ĊĠĠĠĠĠĠĠ Ġactivity . finish () ĊĠĠĠĠĠĠĠ Ġactivity . override Pending Transition ( 0 , Ġ 0 ) ĊĠĠĠ Ġ} Ċ }