package Ġcom . example . on so pt first assignment . singleton Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . SharedPreferences Ċ import Ġandroidx . security . crypto . Encrypted SharedPreferences Ċ import Ġandroidx . security . crypto . Master Keys Ċ Ċ object ĠEn crypted KeyStore Ġ{ ĊĠĠĠ Ġprivate Ġval ĠP REF _ KEY Ġ= Ġ" pref " ĊĠĠĠ Ġprivate Ġval ĠMEMBER _ BASE _ URL Ġ= Ġ" member " ĊĠĠĠ Ġprivate Ġval Ġkey Gen Parameter Spec Ġ= ĠMaster Keys . AES 2 5 6 _ GCM _ SPEC ĊĠĠĠ Ġprivate Ġval Ġmaster Key Alias Ġ= ĠMaster Keys . get OrCreate ( key Gen Parameter Spec ) ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġshared Pref : ĠSharedPreferences ĊĊĠĠĠ Ġfun Ġinit ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġshared Pref Ġ= ĠEn crypted SharedPreferences . create ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠP REF _ KEY , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmaster Key Alias , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEn crypted SharedPreferences . Pref Key Encryption Scheme . AES 2 5 6 _ SI V , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEn crypted SharedPreferences . Pref Value Encryption Scheme . AES 2 5 6 _ GCM ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġshared Pref ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. edit () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. putString ( MEMBER _ BASE _ URL , Ġ" http :// 1 5 . 1 6 4 . 8 3 . 2 1 0 : 3 0 0 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget BaseUrl (): ĠString Ġ= Ġshared Pref . getString ( MEMBER _ BASE _ URL , Ġ"") !! Ċ }