package Ġio . ure f lect . app . utils Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . app . Application Ċ import Ġandroid . preference . Preference Manager Ċ import Ġandroid . util . Log Ċ import Ġcom . google . gson . Gson Ċ import Ġio . ure f lect . app . services . Api Ċ Ċ const Ġval ĠTOKEN Ġ= Ġ" token " Ċ Ċ class ĠStorage Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġclear ( app : ĠApplication ) Ġ= ĠPreference Manager . getDefault SharedPreferences ( app ). edit (). clear (). commit () ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Suppress Lint (" Apply Shared Pref ") Ċ fun Ġ< T > ĠT . to Storage ( app : ĠApplication , Ġkey : ĠString ): ĠT Ġ= Ġthis . apply Ġ{ ĊĠĠĠ ĠPreference Manager . getDefault SharedPreferences ( app ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. edit () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. putString ( key , ĠGson (). toJson ( this )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. commit () Ċ } Ċ Ċ inline Ġfun Ġ< re ified ĠT > Ġfrom Storage ( app : ĠApplication , Ġkey : ĠString ): ĠT ? Ġ= Ġtry Ġ{ ĊĠĠĠ ĠLog . i (" Storage ", Ġ" Retrie ved Ġ" Ġ+ Ġkey Ġ+ Ġ": Ġ" Ġ+ ĠPreference Manager . getDefault SharedPreferences ( app ). getString ( key , Ġ" null ")) ĊĠĠĠ ĠGson (). fromJson ( Preference Manager . getDefault SharedPreferences ( app ). getString ( key , Ġ" null "), ĠApi . generic Type < T >()) Ċ } Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠ Ġnull Ċ }