package Ġcom . example . to us voir Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Intent Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . Persist able Bundle Ċ import Ġandroid . util . Log Ċ Ċ const Ġval ĠBIG _ IMAGE _ ACTIVITY _ IMAGE _ FILE Ġ= Ġ" big Ġimage Ġactivity Ġmetadata " Ċ Ċ const Ġval ĠBIG _ IMAGE _ NEW _ VALUE _ ACTIVITY Ġ= Ġ" big Ġimage Ġactivity Ġwrapper Ġnew Ġimage Ġvalue " Ċ Ċ class ĠBig Image Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġimage File : ĠImage File ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ big _ image ) ĊĊĠĠĠĠĠĠĠ Ġval Ġrestored Image File Ġ= ĠsavedInstanceState ?. get Serializable ( BIG _ IMAGE _ NEW _ VALUE _ ACTIVITY ) Ġas ĠImage File ? ĊĠĠĠĠĠĠĠ Ġif ( restore d Image File Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . image File Ġ= Ġrestored Image File ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . custom Set Result () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġthis . setup Fragment () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsetup Fragment () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġimage Ġ= Ġintent . get Serializable Extra ( BIG _ IMAGE _ ACTIVITY _ IMAGE _ FILE ) Ġas ĠImage File ? Ġ?: Ġreturn ĊĠĠĠĠĠĠĠ Ġthis . support FragmentManager . beginTransaction (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreplace ( R . id . big _ image _ fragment _ external _ activity , ĠBig Image Fragment . instantiate ( image )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommit () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġthis . support FragmentManager . set Fragment Result Listener ( BIG _ IMAGE _ RAT ING _ SET , Ġthis ) Ġ{ Ġ_, Ġbundle Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . image File Ġ= Ġbundle . get Serializable ( BIG _ IMAGE _ NEW _ VALUE ) Ġas ĠImage File ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . custom Set Result () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Save InstanceState ( out State : ĠBundle ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Save InstanceState ( out State ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( this . image File Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġout State . put Serializable ( BIG _ IMAGE _ NEW _ VALUE _ ACTIVITY , Ġthis . image File ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcustom Set Result () Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . set Result ( Activity . RESULT _ OK , ĠIntent (). apply Ġ{ Ġput Extra ( BIG _ IMAGE _ NEW _ VALUE , Ġimage File ) Ġ}) ĊĠĠĠ Ġ} Ċ Ċ } Ċ