@ file : Suppress (" UN CHECK ED _ CAST ") Ċ Ċ package Ġcom . ill u . base library . core Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . core . content . edit Ċ import Ġcom . ill u . base library . App Ċ import Ġjava . lang . IllegalArgumentException Ċ Ċ private Ġconst Ġval ĠSP _ NAME Ġ= Ġ" sp _ name " Ċ Ċ @ Jvm Over loads Ċ fun Ġ< T > Ġget Sp Value ( ĊĠĠĠ Ġkey : ĠString , ĊĠĠĠ ĠdefaultValue : ĠT , ĊĠĠĠ ĠfileName : ĠString Ġ= ĠSP _ NAME Ċ ): ĠT Ġ{ ĊĠĠĠ Ġval Ġsp Ġ= ĠApp . INSTANCE . get SharedPreferences ( fileName , ĠContext . MODE _ PRIVATE ) ĊĠĠĠ Ġreturn Ġwhen ( defaultValue ) Ġ{ ĊĠĠĠĠĠĠĠ Ġis ĠBoolean Ġ-> Ġsp . getBoolean ( key , ĠdefaultValue ) Ġas ĠT ĊĠĠĠĠĠĠĠ Ġis ĠString Ġ-> Ġsp . getString ( key , ĠdefaultValue ) Ġas ĠT ĊĠĠĠĠĠĠĠ Ġis ĠInt Ġ-> Ġsp . getInt ( key , ĠdefaultValue ) Ġas ĠT ĊĠĠĠĠĠĠĠ Ġis ĠFloat Ġ-> Ġsp . get Float ( key , ĠdefaultValue ) Ġas ĠT ĊĠĠĠĠĠĠĠ Ġis ĠLong Ġ-> Ġsp . getLong ( key , ĠdefaultValue ) Ġas ĠT ĊĠĠĠĠĠĠĠ Ġis ĠSet < *> Ġ-> Ġsp . getString Set ( key , ĠdefaultValue Ġas ĠSet < String >) Ġas ĠT ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalArgumentException (" Unrecognized Ġdefault Ġvalue Ġ$ defaultValue ") ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Jvm Over loads Ċ fun Ġ< T > Ġput Sp Value ( ĊĠĠĠ Ġkey : ĠString , ĊĠĠĠ Ġvalue : ĠT , ĊĠĠĠ ĠfileName : ĠString Ġ= ĠSP _ NAME Ċ ) Ġ{ ĊĠĠĠ ĠApp . INSTANCE . get SharedPreferences ( fileName , ĠContext . MODE _ PRIVATE ). edit Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠBoolean Ġ-> Ġput Boolean ( key , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠString Ġ-> Ġput String ( key , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠInt Ġ-> Ġput Int ( key , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠFloat Ġ-> Ġput Float ( key , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠLong Ġ-> Ġput Long ( key , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠSet < *> Ġ-> Ġput String Set ( key , Ġvalue Ġas ĠSet < String >) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalArgumentException (" Unrecognized Ġvalue Ġ$ value ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġapply () ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Jvm Over loads Ċ fun Ġremove Sp Value ( ĊĠĠĠ Ġkey : ĠString , ĊĠĠĠ ĠfileName : ĠString Ġ= ĠSP _ NAME Ċ ) Ġ{ ĊĠĠĠ ĠApp . INSTANCE . get SharedPreferences ( fileName , ĠContext . MODE _ PRIVATE ) ĊĠĠĠĠĠĠĠ Ġ. edit () ĊĠĠĠĠĠĠĠ Ġ. remove ( key ) ĊĠĠĠĠĠĠĠ Ġ. apply () Ċ } Ċ Ċ @ Jvm Over loads Ċ fun Ġclear Sp Value ( fileName : ĠString Ġ= ĠSP _ NAME ) Ġ{ ĊĠĠĠ ĠApp . INSTANCE . get SharedPreferences ( fileName , ĠContext . MODE _ PRIVATE ) ĊĠĠĠĠĠĠĠ Ġ. edit () ĊĠĠĠĠĠĠĠ Ġ. clear () ĊĠĠĠĠĠĠĠ Ġ. apply () Ċ }