package Ġcom . eye pet izer . android . util Ċ Ċ import Ġandroidx . datastore . preferences . core .* Ċ import Ġcom . eye pet izer . android . extension . data Store Ċ import Ġcom . eye pet izer . android . util . DataStore Utils . clear Ċ import Ġcom . eye pet izer . android . util . DataStore Utils . clear Sync Ċ import Ġcom . eye pet izer . android . util . DataStore Utils . getData Ċ import Ġcom . eye pet izer . android . util . DataStore Utils . get Sync Data Ċ import Ġcom . eye pet izer . android . util . DataStore Utils . put Data Ċ import Ġcom . eye pet izer . android . util . DataStore Utils . put Sync Data Ċ import Ġcom . eye pet izer . android . util . DataStore Utils . read Boolean Data Ċ import Ġcom . eye pet izer . android . util . DataStore Utils . read Boolean Flow Ċ import Ġcom . eye pet izer . android . util . DataStore Utils . read Float Data Ċ import Ġcom . eye pet izer . android . util . DataStore Utils . read Float Flow Ċ import Ġcom . eye pet izer . android . util . DataStore Utils . readInt Data Ċ import Ġcom . eye pet izer . android . util . DataStore Utils . readInt Flow Ċ import Ġcom . eye pet izer . android . util . DataStore Utils . read Long Data Ċ import Ġcom . eye pet izer . android . util . DataStore Utils . read Long Flow Ċ import Ġcom . eye pet izer . android . util . DataStore Utils . readString Data Ċ import Ġcom . eye pet izer . android . util . DataStore Utils . readString Flow Ċ import Ġcom . eye pet izer . android . util . DataStore Utils . save Boolean Data Ċ import Ġcom . eye pet izer . android . util . DataStore Utils . save Float Data Ċ import Ġcom . eye pet izer . android . util . DataStore Utils . save Int Data Ċ import Ġcom . eye pet izer . android . util . DataStore Utils . save Long Data Ċ import Ġcom . eye pet izer . android . util . DataStore Utils . save String Data Ċ import Ġcom . eye pet izer . android . util . DataStore Utils . save Sync Boolean Data Ċ import Ġcom . eye pet izer . android . util . DataStore Utils . save Sync Float Data Ċ import Ġcom . eye pet izer . android . util . DataStore Utils . save Sync Int Data Ċ import Ġcom . eye pet izer . android . util . DataStore Utils . save Sync Long Data Ċ import Ġcom . eye pet izer . android . util . DataStore Utils . save Sync String Data Ċ import Ġkotlinx . coroutines . flow . Flow Ċ import Ġkotlinx . coroutines . flow . catch Ċ import Ġkotlinx . coroutines . flow . first Ċ import Ġkotlinx . coroutines . flow . map Ċ import Ġkotlinx . coroutines . run Blocking Ċ import Ġjava . io . IOException Ċ Ċ /** Ċ Ġ* ĠData Store Ġ å·¥åħ· ç±» Ċ Ġ* Ċ Ġ* Ġ å¼ĤæŃ¥ èİ·åıĸ æķ°æį® Ċ Ġ* Ġ[ getData ] Ġ[ read Boolean Flow ] Ġ[ read Float Flow ] Ġ[ readInt Flow ] Ġ[ read Long Flow ] Ġ[ readString Flow ] Ċ Ġ* Ġ åĲĮæŃ¥ èİ·åıĸ æķ°æį® Ċ Ġ* Ġ[ get Sync Data ] Ġ[ read Boolean Data ] Ġ[ read Float Data ] Ġ[ readInt Data ] Ġ[ read Long Data ] Ġ[ readString Data ] Ċ Ġ* Ċ Ġ* Ġ å¼ĤæŃ¥ åĨĻåħ¥ æķ°æį® Ċ Ġ* Ġ[ put Data ] Ġ[ save Boolean Data ] Ġ[ save Float Data ] Ġ[ save Int Data ] Ġ[ save Long Data ] Ġ[ save String Data ] Ċ Ġ* Ġ åĲĮæŃ¥ åĨĻåħ¥ æķ°æį® Ċ Ġ* Ġ[ put Sync Data ] Ġ[ save Sync Boolean Data ] Ġ[ save Sync Float Data ] Ġ[ save Sync Int Data ] Ġ[ save Sync Long Data ] Ġ[ save Sync String Data ] Ċ Ġ* Ċ Ġ* Ġ å¼ĤæŃ¥ æ¸ħ éĻ¤ æķ°æį® Ċ Ġ* Ġ[ clear ] Ċ Ġ* Ġ åĲĮæŃ¥ æ¸ħ éĻ¤ æķ°æį® Ċ Ġ* Ġ[ clear Sync ] Ċ Ġ* Ċ Ġ* Ċ Ġ*/ Ċ object ĠData Store Utils Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åĲĮæŃ¥ èİ·åıĸ æķ°æį® ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠ Ġfun Ġ< U > Ġget Sync Data ( key : ĠString , Ġdefault : ĠU ): ĠU Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġres Ġ= Ġwhen Ġ( default ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠLong Ġ-> Ġread Long Data ( key , Ġdefault ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠString Ġ-> Ġread String Data ( key , Ġdefault ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠInt Ġ-> Ġread Int Data ( key , Ġdefault ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠBoolean Ġ-> Ġread Boolean Data ( key , Ġdefault ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠFloat Ġ-> Ġread Float Data ( key , Ġdefault ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalArgumentException (" This Ġtype Ġcan Ġbe Ġsaved Ġinto ĠData Store ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġres Ġas ĠU ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ å¼ĤæŃ¥ èİ·åıĸ æķ°æį® ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠ Ġfun Ġ< U > ĠgetData ( key : ĠString , Ġdefault : ĠU ): ĠFlow < U > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdata Ġ= Ġwhen Ġ( default ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠLong Ġ-> Ġread Long Flow ( key , Ġdefault ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠString Ġ-> Ġread String Flow ( key , Ġdefault ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠInt Ġ-> Ġread Int Flow ( key , Ġdefault ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠBoolean Ġ-> Ġread Boolean Flow ( key , Ġdefault ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠFloat Ġ-> Ġread Float Flow ( key , Ġdefault ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalArgumentException (" This Ġtype Ġcan Ġbe Ġsaved Ġinto ĠData Store ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġdata Ġas ĠFlow < U > ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ å¼ĤæŃ¥ åĨĻåħ¥ æķ°æį® ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġsuspend Ġfun Ġ< U > Ġput Data ( key : ĠString , Ġvalue : ĠU ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠLong Ġ-> Ġsave Long Data ( key , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠString Ġ-> Ġsave String Data ( key , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠInt Ġ-> Ġsave Int Data ( key , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠBoolean Ġ-> Ġsave Boolean Data ( key , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠFloat Ġ-> Ġsave Float Data ( key , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalArgumentException (" This Ġtype Ġcan Ġbe Ġsaved Ġinto ĠData Store ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åĲĮæŃ¥ åĨĻåħ¥ æķ°æį® ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġ< U > Ġput Sync Data ( key : ĠString , Ġvalue : ĠU ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠLong Ġ-> Ġsave Sync Long Data ( key , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠString Ġ-> Ġsave Sync String Data ( key , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠInt Ġ-> Ġsave Sync Int Data ( key , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠBoolean Ġ-> Ġsave Sync Boolean Data ( key , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠFloat Ġ-> Ġsave Sync Float Data ( key , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalArgumentException (" This Ġtype Ġcan Ġbe Ġsaved Ġinto ĠData Store ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ å¼ĤæŃ¥ èİ·åıĸ Boolean æķ°æį® ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġread Boolean Flow ( key : ĠString , Ġdefault : ĠBoolean Ġ= Ġfalse ): ĠFlow < Boolean > Ġ= ĊĠĠĠĠĠĠĠ Ġdata Store . data . catch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// å½ĵ è¯»åıĸ æķ°æį® éģĩ åĪ° éĶĻè¯¯ æĹ¶ ï¼Į å¦Ĥæŀľ æĺ¯ Ġ` IOException ` Ġ å¼Ĥå¸¸ ï¼Į åıĳéĢģ ä¸Ģä¸ª Ġempty Preferences ĠæĿ¥ éĩįæĸ° ä½¿çĶ¨ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ä½Ĩæĺ¯ å¦Ĥæŀľ æĺ¯ åħ¶ä»ĸ çļĦ å¼Ĥå¸¸ ï¼Į æľĢ å¥½ å°Ĩ å®ĥ æĬĽ åĩº åİ» ï¼Į ä¸įè¦ģ éļĲèĹı éĹ®é¢ĺ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġis ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( empty Preferences ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow Ġit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}. map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit [ boolean Preferences Key ( key )] Ġ?: Ġdefault ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åĲĮæŃ¥ èİ·åıĸ Boolean æķ°æį® ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġread Boolean Data ( key : ĠString , Ġdefault : ĠBoolean Ġ= Ġfalse ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġvalue Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Store . data . first Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġit [ boolean Preferences Key ( key )] Ġ?: Ġdefault ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġvalue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ å¼ĤæŃ¥ èİ·åıĸ Int æķ°æį® ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġread Int Flow ( key : ĠString , Ġdefault : ĠInt Ġ= Ġ 0 ): ĠFlow < Int > Ġ= ĊĠĠĠĠĠĠĠ Ġdata Store . data . catch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġis ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( empty Preferences ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow Ġit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}. map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit [ int Preferences Key ( key )] Ġ?: Ġdefault ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åĲĮæŃ¥ èİ·åıĸ Int æķ°æį® ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġread Int Data ( key : ĠString , Ġdefault : ĠInt Ġ= Ġ 0 ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġvalue Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Store . data . first Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġit [ int Preferences Key ( key )] Ġ?: Ġdefault ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġvalue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ å¼ĤæŃ¥ èİ·åıĸ String æķ°æį® ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġread String Flow ( key : ĠString , Ġdefault : ĠString Ġ= Ġ"") : ĠFlow < String > Ġ= ĊĠĠĠĠĠĠĠ Ġdata Store . data . catch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġis ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( empty Preferences ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow Ġit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}. map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit [ string Preferences Key ( key )] Ġ?: Ġdefault ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åĲĮæŃ¥ èİ·åıĸ String æķ°æį® ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġread String Data ( key : ĠString , Ġdefault : ĠString Ġ= Ġ"") : ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġvalue Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Store . data . first Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġit [ string Preferences Key ( key )] Ġ?: Ġdefault ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġvalue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ å¼ĤæŃ¥ èİ·åıĸ Float æķ°æį® ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġread Float Flow ( key : ĠString , Ġdefault : ĠFloat Ġ= Ġ 0 f ): ĠFlow < Float > Ġ= ĊĠĠĠĠĠĠĠ Ġdata Store . data . catch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġis ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( empty Preferences ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow Ġit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}. map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit [ float Preferences Key ( key )] Ġ?: Ġdefault ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åĲĮæŃ¥ èİ·åıĸ Float æķ°æį® ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġread Float Data ( key : ĠString , Ġdefault : ĠFloat Ġ= Ġ 0 f ): ĠFloat Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġvalue Ġ= Ġ 0 f ĊĠĠĠĠĠĠĠ Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Store . data . first Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġit [ float Preferences Key ( key )] Ġ?: Ġdefault ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġvalue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ å¼ĤæŃ¥ èİ·åıĸ Long æķ°æį® ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġread Long Flow ( key : ĠString , Ġdefault : ĠLong Ġ= Ġ 0 L ): ĠFlow < Long > Ġ= ĊĠĠĠĠĠĠĠ Ġdata Store . data . catch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġis ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( empty Preferences ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow Ġit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}. map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit [ long Preferences Key ( key )] Ġ?: Ġdefault ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åĲĮæŃ¥ èİ·åıĸ Long æķ°æį® ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġread Long Data ( key : ĠString , Ġdefault : ĠLong Ġ= Ġ 0 L ): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġvalue Ġ= Ġ 0 L ĊĠĠĠĠĠĠĠ Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Store . data . first Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġit [ long Preferences Key ( key )] Ġ?: Ġdefault ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġvalue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ å¼ĤæŃ¥ åĨĻåħ¥ Boolean æķ°æį® ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġsuspend Ġfun Ġsave Boolean Data ( key : ĠString , Ġvalue : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdata Store . edit Ġ{ Ġmutable Preferences Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutable Preferences [ boolean Preferences Key ( key )] Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åĲĮæŃ¥ åĨĻåħ¥ Boolean æķ°æį® ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġsave Sync Boolean Data ( key : ĠString , Ġvalue : ĠBoolean ) Ġ= ĊĠĠĠĠĠĠĠ Ġrun Blocking Ġ{ Ġsave Boolean Data ( key , Ġvalue ) Ġ} ĊĊĠĠĠ Ġsuspend Ġfun Ġsave Int Data ( key : ĠString , Ġvalue : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdata Store . edit Ġ{ Ġmutable Preferences Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutable Preferences [ int Preferences Key ( key )] Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åĲĮæŃ¥ åĨĻåħ¥ Int æķ°æį® ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġsave Sync Int Data ( key : ĠString , Ġvalue : ĠInt ) Ġ= Ġrun Blocking Ġ{ Ġsave Int Data ( key , Ġvalue ) Ġ} ĊĊĠĠĠ Ġsuspend Ġfun Ġsave String Data ( key : ĠString , Ġvalue : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdata Store . edit Ġ{ Ġmutable Preferences Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutable Preferences [ string Preferences Key ( key )] Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åĲĮæŃ¥ åĨĻåħ¥ String æķ°æį® ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġsave Sync String Data ( key : ĠString , Ġvalue : ĠString ) Ġ= Ġrun Blocking Ġ{ Ġsave String Data ( key , Ġvalue ) Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ å¼ĤæŃ¥ åĨĻåħ¥ Float æķ°æį® ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġsuspend Ġfun Ġsave Float Data ( key : ĠString , Ġvalue : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdata Store . edit Ġ{ Ġmutable Preferences Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutable Preferences [ float Preferences Key ( key )] Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åĲĮæŃ¥ åĨĻåħ¥ Float æķ°æį® ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġsave Sync Float Data ( key : ĠString , Ġvalue : ĠFloat ) Ġ= Ġrun Blocking Ġ{ Ġsave Float Data ( key , Ġvalue ) Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ å¼ĤæŃ¥ åĨĻåħ¥ Long æķ°æį® ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġsuspend Ġfun Ġsave Long Data ( key : ĠString , Ġvalue : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdata Store . edit Ġ{ Ġmutable Preferences Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmutable Preferences [ long Preferences Key ( key )] Ġ= Ġvalue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åĲĮæŃ¥ åĨĻåħ¥ Long æķ°æį® ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġsave Sync Long Data ( key : ĠString , Ġvalue : ĠLong ) Ġ= Ġrun Blocking Ġ{ Ġsave Long Data ( key , Ġvalue ) Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ å¼ĤæŃ¥ æ¸ħ éĻ¤ æķ°æį® ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġsuspend Ġfun Ġclear () Ġ{ ĊĠĠĠĠĠĠĠ Ġdata Store . edit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . clear () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åĲĮæŃ¥ æ¸ħ éĻ¤ æķ°æį® ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġclear Sync () Ġ{ ĊĠĠĠĠĠĠĠ Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Store . edit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . clear () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }