package Ġcom . storage . sample . helper Ċ Ċ import Ġandroid . content . Activity NotFoundException Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroidx . activity . result . contract . Activity Result Contracts Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . fragment . app . Fragment Activity Ċ Ċ /** Ċ Ġ* ĠCreated Ġon Ġ 1 8 / 0 8 / 2 0 Ċ Ġ* Ġ@ author ĠAng gray udi ĠH Ċ Ġ*/ Ċ internal Ġclass ĠFragment Wrapper ( private Ġval Ġfragment : ĠFragment ) Ġ: ĠComponent Wrapper Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġstorage : ĠSimple Storage ĊĠĠĠ Ġvar Ġrequest Code : ĠInt ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġval Ġactivity Result Launcher Ġ= Ġfragment . register For Activity Result ( Activity Result Contracts . Start Activity For Result ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġrequest Code ?. run Ġ{ Ġstorage . on Activity Result ( this , Ġit . result Code , Ġit . data ) Ġ} ĊĠĠĠĠĠĠĠ Ġrequest Code Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġcontext : ĠContext ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġfragment . require Context () ĊĊĠĠĠ Ġoverride Ġval Ġactivity : ĠFragment Activity ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġfragment . require Activity () ĊĊĠĠĠ Ġoverride Ġfun ĠstartActivity For Result ( intent : ĠIntent , Ġrequest Code : ĠInt ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactivity Result Launcher . launch ( intent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . request Code Ġ= Ġrequest Code ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠActivity NotFoundException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }