package Ġcom . sil icon labs . ble demo . g att _ configur ator . utils Ċ Ċ import Ġandroid . content . Context Ċ import Ġcom . google . gson . Gson Ċ import Ġcom . google . gson . Json Syntax Exception Ċ import Ġcom . google . gson . reflect . Type Token Ċ import Ġcom . sil icon labs . ble demo . g att _ configur ator . models . Gatt Server Ċ Ċ class ĠG att Configurator Storage ( context : ĠContext ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġpreferences Ġ= Ġcontext . get SharedPreferences ( PRE FS _ G ATT _ CONFIG UR ATOR _ STORAGE , ĠContext . MODE _ PRIVATE ) ĊĊĠĠĠ Ġfun Ġsave Gatt Server List ( list : ĠArrayList < Gatt Server >) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġjson Ġ= ĠGson (). toJson ( list ) ĊĠĠĠĠĠĠĠ Ġval Ġeditor Ġ= Ġpreferences . edit () ĊĠĠĠĠĠĠĠ Ġeditor . putString ( KEY _ G ATT _ SERVER _ LIST , Ġjson ). apply () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġload Gatt Server List (): ĠArrayList < Gatt Server > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġjson Ġ= Ġpreferences . getString ( KEY _ G ATT _ SERVER _ LIST , Ġ"") ĊĠĠĠĠĠĠĠ Ġval Ġtype Ġ= Ġobject Ġ: ĠType Token < ArrayList < Gatt Server >>() Ġ{} . type ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGson (). fromJson ( json , Ġtype ) Ġ?: ĠArrayList () ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠJson Syntax Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArrayList () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsave Active Gatt Server ( g att Server : ĠG att Server ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġjson Ġ= ĠGson (). toJson ( g att Server ) ĊĠĠĠĠĠĠĠ Ġval Ġeditor Ġ= Ġpreferences . edit () ĊĠĠĠĠĠĠĠ Ġeditor . putString ( KEY _ ACTIVE _ G ATT _ SERVER , Ġjson ). apply () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġload Active Gatt Server (): ĠG att Server ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġjson Ġ= Ġpreferences . getString ( KEY _ ACTIVE _ G ATT _ SERVER , Ġ"") ĊĠĠĠĠĠĠĠ Ġreturn ĠGson (). fromJson ( json , ĠG att Server :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshould Display Removal Dialog (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġpreferences . getBoolean ( KEY _ DISPLAY _ RE MO VAL _ DIALOG , Ġtrue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Display Removal Dialog ( enable : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġpreferences ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. edit () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. put Boolean ( KEY _ DISPLAY _ RE MO VAL _ DIALOG , Ġenable ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Should Display Leave Gatt Server Config Dialog ( display : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġpreferences . edit (). put Boolean ( DISPLAY _ LEAVE _ CONFIG _ DIALOG , Ġdisplay ). apply () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġshould Display Leave Gatt Server Config Dialog () Ġ: ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġpreferences . getBoolean ( DISPLAY _ LEAVE _ CONFIG _ DIALOG , Ġtrue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠP REF S _ G ATT _ CONFIG UR ATOR _ STORAGE Ġ= Ġ" PRE FS _ G ATT _ CONFIG UR ATOR _ STORAGE " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠKEY _ G ATT _ SERVER _ LIST Ġ= Ġ" KEY _ G ATT _ SERVER _ LIST " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠKEY _ ACTIVE _ G ATT _ SERVER Ġ= Ġ" KEY _ ACTIVE _ G ATT _ SERVER " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠKEY _ DISPLAY _ RE MO VAL _ DIALOG Ġ= Ġ" KEY _ DISPLAY _ RE MO VAL _ DIALOG " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠDISPLAY _ LEAVE _ CONFIG _ DIALOG Ġ= Ġ" DISPLAY _ LEAVE _ CONFIG _ DIALOG " ĊĠĠĠ Ġ} Ċ } Ċ