package Ġorg . dh is 2 . data . prefs Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . SharedPreferences Ċ import Ġde . ad ors ys . android . secure storage library . Secure Preferences Ċ import Ġorg . dh is 2 . utils . Constants Ċ import Ġorg . dh is 2 . utils . Constants . SECURE _ CRED ENTIAL S Ċ import Ġorg . dh is 2 . utils . Constants . SECURE _ PASS Ċ import Ġorg . dh is 2 . utils . Constants . SECURE _ SERVER _ URL Ċ import Ġorg . dh is 2 . utils . Constants . SECURE _ USER _ NAME Ċ Ċ class ĠPreference Provider Impl ( val Ġcontext : ĠContext ) Ġ: ĠPreference Provider Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġshared Preferences : ĠSharedPreferences Ġ= ĊĠĠĠĠĠĠĠ Ġcontext . get SharedPreferences ( Constants . SHARE _ PRE FS , ĠContext . MODE _ PRIVATE ) ĊĊĠĠĠ Ġoverride Ġfun Ġshared Preferences (): ĠSharedPreferences Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġshared Preferences ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠsetValue ( key : ĠString , Ġvalue : ĠAny ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġvalue ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( it ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠString Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSecure Preferences . setValue ( context , Ġkey , Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshared Preferences . edit (). putString ( key , Ġit ). apply () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠBoolean Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSecure Preferences . setValue ( context , Ġkey , Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshared Preferences . edit (). put Boolean ( key , Ġit ). apply () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠInt Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSecure Preferences . setValue ( context , Ġkey , Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshared Preferences . edit (). put Int ( key , Ġit ). apply () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠLong Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSecure Preferences . setValue ( context , Ġkey , Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshared Preferences . edit (). put Long ( key , Ġit ). apply () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠFloat Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSecure Preferences . setValue ( context , Ġkey , Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshared Preferences . edit (). put Float ( key , Ġit ). apply () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠSet < *> Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSecure Preferences . setValue ( context , Ġkey , Ġit Ġas ĠMutable Set < String >) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshared Preferences . edit (). putString Set ( key , Ġit Ġas ĠSet < String >). apply () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġ?: Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSecure Preferences . remove Value ( context , Ġkey ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshared Preferences . edit (). clear (). apply () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġremove Value ( key : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( contains ( key )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSecure Preferences . remove Value ( context , Ġkey ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshared Preferences . edit (). remove ( key ). apply () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetString ( key : ĠString , Ġdefault : ĠString ?): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠSecure Preferences . getString Value ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , Ġkey , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshared Preferences . getString ( key , Ġdefault ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Boolean ( key : ĠString , Ġdefault : ĠBoolean ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠSecure Preferences . getBoolean Value ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , Ġkey , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshared Preferences . getBoolean ( key , Ġdefault ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Int ( key : ĠString , Ġdefault : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠSecure Preferences . getInt Value ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , Ġkey , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshared Preferences . getInt ( key , Ġdefault ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Long ( key : ĠString , Ġdefault : ĠLong ): ĠLong ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠSecure Preferences . getLong Value ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , Ġkey , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshared Preferences . getLong ( key , Ġdefault ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Float ( key : ĠString , Ġdefault : ĠFloat ): ĠFloat ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠSecure Preferences . get Float Value ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , Ġkey , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshared Preferences . get Float ( key , Ġdefault ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Set ( key : ĠString , Ġdefault : ĠSet < String >): ĠSet < String >? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠSecure Preferences . getString SetValue ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , Ġkey , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdefault ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcontains ( var arg Ġkeys : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġkeys . all Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSecure Preferences . contains ( context , Ġit ) Ġ|| Ġshared Preferences . contains ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsave User Credentials ( server Url : ĠString , ĠuserName : ĠString , Ġpass : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠSecure Preferences . setValue ( context , ĠSE C URE _ CRED ENTIAL S , Ġtrue ) ĊĠĠĠĠĠĠĠ ĠSecure Preferences . setValue ( context , ĠSE C URE _ SERVER _ URL , Ġserver Url ) ĊĠĠĠĠĠĠĠ ĠSecure Preferences . setValue ( context , ĠSE C URE _ USER _ NAME , ĠuserName ) ĊĠĠĠĠĠĠĠ ĠSecure Preferences . setValue ( context , ĠSE C URE _ PASS , Ġpass ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġare Credentials Set (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠSecure Preferences . getBoolean Value ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , ĠSE C URE _ CRED ENTIAL S , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshared Preferences . getBoolean ( SECURE _ CRED ENTIAL S , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġare Same Credentials ( server Url : ĠString , ĠuserName : ĠString , Ġpass : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠSecure Preferences . getString Value ( context , ĠSE C URE _ SERVER _ URL , Ġ"") Ġ== Ġserver Url Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSecure Preferences . getString Value ( context , ĠSE C URE _ USER _ NAME , Ġ"") Ġ== ĠuserName Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSecure Preferences . getString Value ( context , ĠSE C URE _ PASS , Ġ"") Ġ== Ġpass ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsave J ira Credentials ( jira Auth : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ ĠSecure Preferences . setValue ( context , ĠConstants . J IRA _ AUTH , Ġj ira Auth ) ĊĠĠĠĠĠĠĠ Ġreturn ĠString . format (" Basic Ġ% s ", Ġj ira Auth ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsave J ira User ( jira User : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠSecure Preferences . setValue ( context , ĠConstants . J IRA _ USER , Ġj ira User ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġclose J ira Session () Ġ{ ĊĠĠĠĠĠĠĠ ĠSecure Preferences . remove Value ( context , ĠConstants . J IRA _ AUTH ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġclear () Ġ{ ĊĠĠĠĠĠĠĠ ĠSecure Preferences . clear All Values ( context ) ĊĠĠĠĠĠĠĠ Ġshared Preferences . edit (). clear (). apply () ĊĠĠĠ Ġ} Ċ } Ċ