package Ġcom . wan android . compose . utils Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . compose . runtime . Mutable State Ċ import Ġandroidx . compose . runtime . mutable State Of Ċ import Ġandroidx . lifecycle . Saved State Handle Ċ Ċ /** Ċ Ġ* ĠReturn Ġa Ġ[ Mutable State ] Ġthat Ġwill Ġautomatically Ġbe Ġsaved Ġin Ġa Ġ[ Saved State Handle ]. Ċ Ġ* Ċ Ġ* ĠThis Ġcan Ġbe Ġused Ġfrom ĠView Models Ġto Ġcreate Ġa Ġcompose - observable Ġvalue Ġthat Ġsurv ives Ġrotation . ĠIt Ċ Ġ* Ġsupports Ġarbitrary Ġtypes Ġwith Ġmanual Ġconversion Ġto Ġa Ġ[ Bundle ]. Ċ Ġ* Ċ Ġ* Ġ@ param Ġsave Ġconvert Ġ[ T ] Ġto Ġa Ġ[ Bundle ] Ġfor Ġsaving Ċ Ġ* Ġ@ param Ġrestore Ġrestore Ġa Ġ[ T ] Ġfrom Ġa Ġ[ Bundle ] Ċ Ġ*/ Ċ fun Ġ< T > ĠSaved State Handle . get Mutable State Of ( ĊĠĠĠ Ġkey : ĠString , ĊĠĠĠ Ġdefault : ĠT , ĊĠĠĠ Ġsave : Ġ( T ) Ġ-> ĠBundle , ĊĠĠĠ Ġrestore : Ġ( Bundle ) Ġ-> ĠT Ċ ): ĠMutable State < T > Ġ{ ĊĠĠĠ Ġval Ġbundle : ĠBundle ? Ġ= Ġget ( key ) ĊĠĠĠ Ġval Ġinitial Ġ= Ġif Ġ( bundle Ġ== Ġnull ) Ġ{ Ġdefault Ġ} Ġelse Ġ{ Ġrestore ( bundle ) Ġ} ĊĠĠĠ Ġval Ġstate Ġ= Ġmutable State Of ( initial ) Ċ // ĠĠĠ Ġset Saved State Provider ( key ) Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġsave ( state . value ) Ċ // ĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġstate Ċ } Ċ