/* Ċ Ġ* Ċ Ġ* Ġ ĠCopyright ( c ) Ġ 2 0 1 8 ĠVer st Si u Ċ Ġ* Ċ Ġ* Ġ ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġ Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* Ġ ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* Ġ ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġ Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* Ġ ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* Ġ ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġ Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ* Ċ Ġ*/ Ċ package Ġcom . i jo ic . frame _ pager . instant Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġjava . lang . ref . Weak Reference Ċ Ċ /** Ċ Ġ* ĠInstant Ġdelegate Ġimpl . Ċ Ġ* Ċ Ġ* Ġ@ author Ġver st si u @ 1 2 6 . com Ġon Ġ 2 0 1 8 / 4 / 1 9 . Ċ Ġ* Ġ@ version Ġ 1 . 0 Ċ Ġ*/ Ċ class ĠInstant Delegate Impl ( callback : ĠInstant Delegate . Callback ): ĠInstant Delegate Ġ{ ĊĊĠ Ġprivate Ġval Ġref Callback Ġ= ĠWeak Reference ( callback ) ĊĊĠ Ġprivate Ġvar Ġcached View : ĠView ? Ġ= Ġnull ĊĠ Ġprivate Ġvar Ġview Init Ġ= Ġfalse ĊĊĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠ Ġvar Ġcontent View Ġ= Ġthis . cached View ĊĊĠĠĠ Ġif Ġ( content View Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠ Ġcontent View Ġ= Ġref Callback . get ()?. onCreate Instant View ( in flater , Ġcontainer , ĠsavedInstanceState ) ĊĠĠĠĠĠ Ġthis . cached View Ġ= Ġcontent View ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġcontent View ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġon Activity Created ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠ Ġif Ġ(! view Init ) Ġ{ ĊĠĠĠĠĠ Ġview Init Ġ= Ġtrue ĊĠĠĠĠĠ Ġref Callback . get ()?. on Init Instant View ( savedInstanceState ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠ Ġview Init Ġ= Ġfalse ĊĠĠĠ Ġcached View Ġ= Ġnull ĊĠ Ġ} Ċ Ċ }