package Ġjp . j ug g ler . sub way to oter . table čĊč Ċ import Ġandroid . content . Content Values č Ċ import Ġandroid . database . sqlite . SQLite Database č Ċ import Ġjp . j ug g ler . sub way to oter . App 1 č Ċ import Ġjp . j ug g ler . util . Log Category č Ċ import Ġjp . j ug g ler . util . getString č Ċ import Ġjp . j ug g ler . util . to JsonObject č Ċ import Ġorg . json . JSONObject čĊč Ċ object ĠClient Info Ġ: Table Companion Ġ{ čĊ ĉ private Ġval Ġlog Ġ= ĠLog Category (" Client Info ") čĊĉčĊ ĉ const Ġval Ġtable Ġ= Ġ" client _ info 2 " čĊ ĉ private Ġconst Ġval ĠCOL _ HOST Ġ= Ġ" h " čĊ ĉ private Ġconst Ġval ĠCOL _ CLIENT _ NAME Ġ= Ġ" cn " čĊ ĉ private Ġconst Ġval ĠCOL _ RESULT Ġ= Ġ" r " čĊĉčĊ ĉ override Ġfun Ġon DB Create ( db Ġ: ĠSQLite Database ) Ġ{ čĊĉ ĉ db . exec SQL ( čĊĉĉ ĉ " create Ġtable Ġif Ġnot Ġexists Ġ" Ġ+ Ġtable čĊĉĉĉ ĉ + Ġ" (_ id ĠINTEGER ĠPRIMARY ĠKEY " čĊĉĉĉ ĉ + Ġ", h Ġtext Ġnot Ġnull " čĊĉĉĉ ĉ + Ġ", cn Ġtext Ġnot Ġnull " čĊĉĉĉ ĉ + Ġ", r Ġtext Ġnot Ġnull " čĊĉĉĉ ĉ + Ġ")" čĊĉ ĉ ) čĊĉ ĉ db . exec SQL ( čĊĉĉ ĉ " create Ġunique Ġindex Ġif Ġnot Ġexists Ġ" Ġ+ Ġtable Ġ+ Ġ"_ host _ client _ name Ġon Ġ" Ġ+ Ġtable Ġ+ Ġ"( h , cn )" čĊĉ ĉ ) čĊ ĉ } čĊĉčĊ ĉ override Ġfun Ġon DB Upgrade ( db Ġ: ĠSQLite Database , Ġold Version Ġ: ĠInt , Ġnew Version Ġ: ĠInt ) Ġ{ čĊĉ ĉ if ( old Version Ġ<= Ġ 1 8 Ġ&& Ġnew Version Ġ>= Ġ 1 9 ) Ġ{ čĊĉĉ ĉ on DB Create ( db ) čĊĉ ĉ } čĊ ĉ } čĊĉčĊ ĉ fun Ġload ( instance Ġ: ĠString , Ġclient _ name Ġ: ĠString ) Ġ: ĠJSONObject ? Ġ{ čĊĉ ĉ try Ġ{ čĊĉĉ ĉ App 1 . database . query ( table , Ġnull , Ġ" h =? Ġand Ġcn = ?", ĠarrayOf ( instance , Ġclient _ name ), Ġnull , Ġnull , Ġnull ) čĊĉĉĉ ĉ . use Ġ{ Ġcursor Ġ-> čĊĉĉĉĉ ĉ if ( cursor . moveTo First ()) Ġ{ čĊĉĉĉĉĉ ĉ return Ġcursor . getString ( COL _ RESULT ). to JsonObject () čĊĉĉĉĉ ĉ } čĊĉĉĉ ĉ } čĊĉ ĉ } Ġcatch ( ex Ġ: ĠThrowable ) Ġ{ čĊĉĉ ĉ log . e ( ex , Ġ" load Ġfailed .") čĊĉ ĉ } čĊĉĉčĊĉ ĉ return Ġnull čĊ ĉ } čĊĉčĊ ĉ fun Ġsave ( instance Ġ: ĠString , Ġclient _ name Ġ: ĠString , Ġjson Ġ: ĠString ) Ġ{ čĊĉ ĉ try Ġ{ čĊĉĉ ĉ val Ġcv Ġ= ĠContent Values () čĊĉĉ ĉ cv . put ( COL _ HOST , Ġinstance ) čĊĉĉ ĉ cv . put ( COL _ CLIENT _ NAME , Ġclient _ name ) čĊĉĉ ĉ cv . put ( COL _ RESULT , Ġjson ) čĊĉĉ ĉ App 1 . database . replace ( table , Ġnull , Ġcv ) čĊĉ ĉ } Ġcatch ( ex Ġ: ĠThrowable ) Ġ{ čĊĉĉ ĉ log . e ( ex , Ġ" save Ġfailed .") čĊĉ ĉ } čĊĉĉčĊ ĉ } čĊĉčĊ ĉ // Ġ åįĺ ä½ĵ ãĥĨãĤ¹ãĥĪ çĶ¨ ãĢĤ ãĤ¤ãĥ³ ãĤ¹ãĤ¿ ãĥ³ãĤ¹ åĲį ãĤĴæĮĩå®ļ ãģĹãģ¦ åīĬéĻ¤ ãģĻãĤĭ čĊ ĉ fun Ġdelete ( instance Ġ: ĠString , client _ name Ġ: ĠString Ġ) Ġ{ čĊĉ ĉ try Ġ{ čĊĉĉ ĉ App 1 . database . delete ( table , Ġ"$ COL _ HOST =? Ġand Ġ$ COL _ CLIENT _ NAME = ?", ĠarrayOf ( instance , Ġclient _ name )) čĊĉ ĉ } Ġcatch ( ex Ġ: ĠThrowable ) Ġ{ čĊĉĉ ĉ log . e ( ex , Ġ" delete Ġfailed .") čĊĉ ĉ } čĊ ĉ } č Ċ } čĊ