package Ġbr . com . code team . ct any where . preferences Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . SharedPreferences Ċ Ċ object ĠPref Ġ{ ĊĠĠĠ Ġprivate Ġconst Ġval ĠFILE Ġ= Ġ" PREFER ENCE _ FILE _ KEY " ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠE scre ve Ġnas ĠSharedPreferences Ġpriv adas ĊĠĠĠĠ Ġ* Ġ@ param Ġkey ĊĠĠĠĠ Ġ* Ġ@ param Ġvalue ĊĠĠĠĠ Ġ* Ġ@ param Ġcontext ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠ Ġfun Ġwrite ( key : ĠString , Ġvalue : ĠAny , Ġcontext : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġshared Preferences Ġ= Ġcontext . get SharedPreferences ( context . packageName Ġ+ ĠFILE , ĠContext . MODE _ PRIVATE ) ĊĠĠĠĠĠĠĠ Ġval Ġeditor Ġ= Ġshared Preferences . edit () ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠBoolean Ġ-> Ġeditor . put Boolean ( key , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠFloat Ġ-> Ġeditor . put Float ( key , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠInt Ġ-> Ġeditor . put Int ( key , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠLong Ġ-> Ġeditor . put Long ( key , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠString Ġ-> Ġeditor . putString ( key , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠSet < *> Ġ-> Ġeditor . putString Set ( key , Ġvalue Ġas ĠSet < String >) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠRuntimeException (" Tipo Ġde Ġpreference Ġ(" Ġ+ Ġvalue . java Class . simple Name Ġ+ Ġ") ĠnÃ£o Ġsup ort ado , Ġos Ġtipos Ġsup ort ados ĠsÃ£o Ġ{ Boolean , ĠFloat , ĠInteger , ĠLong , ĠString , ĠSet < String > }") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġeditor . apply () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠComp ara Ġo Ġvalor Ġde Ġuma ĠPreference Ġcom Ġum Ġvalor Ġale atÃ³rio Ġpass ado Ġcomo ĠparÃ¢ metro ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġequals ( key : ĠString , Ġvalue : ĠAny , Ġcontext : ĠContext ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcontent Ġ= Ġcontext . get SharedPreferences ( context . packageName Ġ+ ĠFILE , ĠContext . MODE _ PRIVATE ). all [ key ] ĊĊĠĠĠĠĠĠĠ Ġval Ġtype Ġ= Ġwhen Ġ( content ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠBoolean Ġ-> Ġvalue Ġis ĠBoolean ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠFloat Ġ-> Ġvalue Ġis ĠFloat ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠInt Ġ-> Ġvalue Ġis ĠInt ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠLong Ġ-> Ġvalue Ġis ĠLong ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠString Ġ-> Ġvalue Ġis ĠString ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠRuntimeException (" Os Ġtipos Ġde Ġcon par aÃ§Ã£o ĠsÃ£o Ġdiferentes Ġ( ĠValue : Ġ" Ġ+ Ġvalue . java Class . simple Name Ġ+ Ġ" Ġ) ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( content ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠBoolean Ġ-> Ġcontent Ġ== Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠFloat Ġ-> Ġcontent Ġ== Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠInt Ġ-> Ġcontent Ġ== Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠLong Ġ-> Ġcontent Ġ== Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠString Ġ-> Ġcontent . equals ( value ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠRuntimeException (" Este Ġtipo Ġde Ġobjeto ĠnÃ£o ĠÃ© Ġposs ÃŃvel Ġexecut ar Ġuma Ġcompar aÃ§Ã£o Ġ(" Ġ+ Ġvalue . java Class . simple Name Ġ+ Ġ") Ġos Ġtipos Ġsup ort ados ĠsÃ£o Ġ{ Boolean , ĠFloat , ĠInteger , ĠLong , ĠString }") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠL Ãª Ġas ĠSharedPreferences Ġpriv adas ĊĠĠĠĠ Ġ* Ġ@ param Ġkey ĊĠĠĠĠ Ġ* Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcontext ĊĠĠĠĠ Ġ* Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġ< T > ĊĠĠĠĠ Ġ* Ġ* ĊĠĠĠĠ Ġ* Ġ@ return ĠRet orna Ġo Ġobjeto Ġsolicit ado ĊĠĠĠ Ġ</ T > Ġ*/ ĊĠĠĠ Ġfun Ġ< T > Ġread ( key : ĠString , Ġcontext : ĠContext ): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠ Ġreturn Ġcontext . get SharedPreferences ( context . packageName Ġ+ ĠFILE , ĠContext . MODE _ PRIVATE ). all [ key ] Ġas ĠT ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠL Ãª Ġas ĠSharedPreferences Ġpriv adas ĊĠĠĠĠ Ġ* Ġ@ param Ġkey ĊĠĠĠĠ Ġ* Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcontext ĊĠĠĠĠ Ġ* Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġ< T > ĊĠĠĠĠ Ġ* Ġ* ĊĠĠĠĠ Ġ* Ġ@ return ĠRet orna Ġo Ġobjeto Ġsolicit ado ĊĠĠĠ Ġ</ T > Ġ*/ ĊĠĠĠ Ġfun Ġ< T > Ġread ( key : ĠString , Ġdef Value : ĠAny , Ġcontext : ĠContext ): ĠT Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( def Value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠBoolean Ġ-> Ġcontext . get SharedPreferences ( context . packageName Ġ+ ĠFILE , ĠContext . MODE _ PRIVATE ). getBoolean ( key , Ġdef Value ) Ġas ĠT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠFloat Ġ-> Ġcontext . get SharedPreferences ( context . packageName Ġ+ ĠFILE , ĠContext . MODE _ PRIVATE ). get Float ( key , Ġdef Value ) Ġas ĠT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠInt Ġ-> Ġcontext . get SharedPreferences ( context . packageName Ġ+ ĠFILE , ĠContext . MODE _ PRIVATE ). getInt ( key , Ġdef Value ) Ġas ĠT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠLong Ġ-> Ġcontext . get SharedPreferences ( context . packageName Ġ+ ĠFILE , ĠContext . MODE _ PRIVATE ). getLong ( key , Ġdef Value ) Ġas ĠT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠString Ġ-> Ġcontext . get SharedPreferences ( context . packageName Ġ+ ĠFILE , ĠContext . MODE _ PRIVATE ). getString ( key , Ġdef Value ) Ġas ĠT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠRuntimeException (" Valor Ġda Ġch ave ĠnÃ£o Ġencontr ado Ġ(" Ġ+ Ġkey . java Class . simple Name Ġ+ Ġ") ĠnÃ£o Ġsup ort ado , Ġos Ġtipos Ġsup ort ados ĠsÃ£o Ġ{ Boolean , ĠFloat , ĠInteger , ĠLong , ĠString , ĠSet < String > }") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠL imp a Ġtodos Ġas ĠSharedPreferences Ġdo Ġprojeto ĊĠĠĠĠ Ġ* Ġ@ param Ġcontext ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġclear All ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcontext . get SharedPreferences ( context . packageName Ġ+ ĠFILE , ĠContext . MODE _ PRIVATE ). edit (). clear (). apply () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRegist ra Ġo ĠListener Ġquando ĠÃ© Ġalter ado Ġalg uma ĠShared Preference Ġdo Ġapp ĊĠĠĠĠ Ġ* Ġ@ param Ġcontext ĊĠĠĠĠ Ġ* Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġlistener ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġregister Preference Changed ( context : ĠContext , Ġlistener : ĠSharedPreferences . On Shared Preference ChangeListener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcontext . get SharedPreferences ( context . packageName Ġ+ ĠFILE , ĠContext . MODE _ PRIVATE ). register On Shared Preference ChangeListener ( listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠDes regist ra Ġo ĠListener Ġde Ġalter aÃ§Ã£o Ġde ĠSharedPreferences ĊĠĠĠĠ Ġ* Ġ@ param Ġcontext ĊĠĠĠĠ Ġ* Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġlistener ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġunregister Preference Changed ( context : ĠContext , Ġlistener : ĠSharedPreferences . On Shared Preference ChangeListener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcontext . get SharedPreferences ( context . packageName Ġ+ ĠFILE , ĠContext . MODE _ PRIVATE ). unregister On Shared Preference ChangeListener ( listener ) ĊĠĠĠ Ġ} Ċ } Ċ