package Ġcom . ak hil pat oli ya . chip _ navigation _ bar Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . Parcel Ċ import Ġandroid . os . Parcelable Ċ import Ġandroid . view . View Ċ import Ġkotlinx . android . parcel . Parcel ize Ċ Ċ internal Ġclass ĠState Ġ: ĠView . Base Saved State Ġ{ ĊĊĠĠĠ Ġ@ Parcel ize ĊĠĠĠ Ġprivate Ġclass ĠBadge State ( val ĠitemId : ĠInt , Ġval Ġcount : ĠInt ) Ġ: ĠParcel able ĊĊĠĠĠ Ġprivate Ġvar Ġbundle : ĠBundle ? Ġ= Ġnull ĊĊĠĠĠ Ġvar Ġmenu Id : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġbundle ?. getInt ( MENU _ ID ) Ġ?: Ġ- 1 ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbundle ?. put Int ( MENU _ ID , Ġvalue ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġselected Item : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġbundle ?. getInt ( SELECTED _ ITEM ) Ġ?: Ġ- 1 ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbundle ?. put Int ( SELECTED _ ITEM , Ġvalue ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġbad ges : ĠMap < Int , ĠInt > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġbundle ?. get Parcelable ArrayList < Badge State >( BAD GES ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ? . associate Ġ{ Ġit . itemId Ġto Ġit . count Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġempty Map () ĊĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbadge States Ġ= Ġvalue . map Ġ{ Ġ( item , Ġcount ) Ġ-> ĠBadge State ( item , Ġcount ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbundle ?. put Parcelable ArrayList ( BAD GES , ĠArrayList ( badge States )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġexpanded : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġbundle ?. getBoolean ( EXP AN DED ) Ġ?: Ġfalse ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbundle ?. put Boolean ( EXP AN DED , Ġvalue ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( super State : ĠParcel able ?) Ġ: Ġsuper ( super State ) ĊĊĠĠĠ Ġconstructor ( super State : ĠParcel able ?, Ġbundle : ĠBundle ) Ġ: Ġsuper ( super State ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . bundle Ġ= Ġbundle ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( source : ĠParcel , Ġloader : ĠClassLoader ?) Ġ: Ġsuper ( source ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbundle Ġ= Ġsource . read Bundle ( loader ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠwriteTo Parcel ( out : ĠParcel , Ġflags : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . writeTo Parcel ( out , Ġflags ) ĊĠĠĠĠĠĠĠ Ġout . write Bundle ( bundle ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠSELECT ED _ ITEM Ġ= Ġ" selected Item " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠBAD GES Ġ= Ġ" badges " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠMENU _ ID Ġ= Ġ" menu Id " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠEX PAN DED Ġ= Ġ" expanded " ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Field ĊĠĠĠĠĠĠĠ Ġval ĠCRE ATOR Ġ= Ġobject Ġ: ĠParcel able . ClassLoader Creator < State > Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate From Parcel ( source : ĠParcel ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠState ( source , Ġnull ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate From Parcel ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource : ĠParcel , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġloader : ĠClassLoader ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ= ĠState ( source , Ġloader ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġnew Array ( size : ĠInt ): ĠArray < State > Ġ= ĠarrayOf () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }