package Ġcom . phil u var ov . flickr . photos Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġcom . phil u var ov . flickr . base . State Container Ċ import Ġcom . phil u var ov . flickr . base . State Keeper Ċ import Ġcom . phil u var ov . flickr . photos . Photo Screen State . Empty Ċ import Ġjavax . inject . Inject Ċ import Ġjavax . inject . Singleton Ċ import Ġkotlin . reflect . K Property Ċ Ċ @ Singleton Ċ class ĠPhoto List StateManager Ġ@ Inject Ġconstructor () Ġ: ĊĠĠĠĠĠĠĠ ĠState Container < Photo Screen State >, ĊĠĠĠĠĠĠĠ ĠState Keeper Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġstate : ĠPhoto Screen State Ġ= ĠEmpty () ĊĊĠĠĠ Ġoverride Ġfun Ġrestore ( saved State : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġstate Ġ= Ġsaved State ?. get Parcelable ( KEY _ PH OT OS _ STATE ) Ġ?: Ġstate ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsave ( out State : ĠBundle ) Ġ{ ĊĠĠĠĠĠĠĠ Ġout State . put Parcelable ( KEY _ PH OT OS _ STATE , Ġstate ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetValue ( this Ref : ĠAny ?, Ġproperty : ĠK Property < *> ): ĠPhoto Screen State Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġstate ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠsetValue ( this Ref : ĠAny ?, Ġproperty : ĠK Property <* >, Ġvalue : ĠPhoto Screen State ) Ġ{ ĊĠĠĠĠĠĠĠ Ġstate Ġ= Ġvalue ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġconst Ġval ĠKEY _ PH OT OS _ STATE Ġ= Ġ" key _ photos _ state "