package Ġcom . pe ters am ok hin . vk sdk . android . auth . hidden Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroidx . annotation . Check Result Ċ import Ġandroidx . core . os . bundle Of Ċ import Ġandroidx . fragment . app . Fragment Ċ Ċ internal Ġclass ĠHidden Fragment Ġ: ĠFragment () Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġon Attach ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Attach ( context ) ĊĠĠĠĠĠĠĠ Ġif Ġ(! already Started ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity For Result ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Code () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequire Arguments (). put Boolean ( EXTRA _ AL READY _ STARTED , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( ĊĠĠĠĠĠĠĠ Ġrequest Code : ĠInt , ĊĠĠĠĠĠĠĠ ĠresultCode : ĠInt , ĊĠĠĠĠĠĠĠ Ġdata : ĠIntent ? ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĠĠĠĠĠĠĠ Ġif Ġ( request Code Ġ== Ġrequest Code ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlast Listener ?. on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlast Listener Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġalready Started (): ĠBoolean Ġ= Ġrequire Arguments (). getBoolean ( EXTRA _ AL READY _ STARTED ) ĊĊĠĠĠ Ġ@ Check Result ĊĠĠĠ Ġprivate Ġfun Ġintent (): ĠIntent Ġ= Ġrequire Arguments (). get Parcelable ( EXTRA _ INT ENT ) !! ĊĊĠĠĠ Ġ@ Check Result ĊĠĠĠ Ġprivate Ġfun Ġrequest Code (): ĠInt Ġ= Ġrequire Arguments (). getInt ( EXTRA _ REQUEST _ CODE ) ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġlast Listener : ĠActivity Result Listener ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġ@ Check Result ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlaunch Intent : ĠIntent , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Code : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlistener : ĠActivity Result Listener ĊĠĠĠĠĠĠĠ Ġ): ĠHidden Fragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( last Listener Ġ!= Ġnull ) Ġthrow ĠIllegalStateException () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlast Listener Ġ= Ġlistener ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠHidden Fragment (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarguments Ġ= Ġbundle Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEX TRA _ INT ENT Ġto Ġlaunch Intent , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEX TRA _ REQUEST _ CODE Ġto Ġrequest Code ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġclear () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlast Listener Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠEX TRA _ INT ENT Ġ= Ġ" EXTRA _ INT ENT " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠEX TRA _ REQUEST _ CODE Ġ= Ġ" EXTRA _ REQUEST _ CODE " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠEX TRA _ AL READY _ STARTED Ġ= Ġ" EXTRA _ AL READY _ STARTED " ĊĠĠĠ Ġ} Ċ } Ċ Ċ internal Ġinterface ĠActivity Result Listener Ġ{ ĊĠĠĠ Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ċ }