package Ġcom . s let ical boy . learning . components . provider Ċ Ċ import Ġandroid . content . Content Provider Ċ import Ġandroid . content . Content Values Ċ import Ġandroid . content . Uri Matcher Ċ import Ġandroid . database . Cursor Ċ import Ġandroid . database . Matrix Cursor Ċ import Ġandroid . net . Uri Ċ import Ġandroid . util . Log Ċ Ċ class ĠStore Provider Ġ: ĠContent Provider () Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠTAG Ġ= Ġ" Store Provider " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠAUTH ORITY Ġ= Ġ" com . s let ical boy . daily work . store " ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠURI _ MATCH ER Ġ= ĠUri Matcher ( Uri Matcher . NO _ MATCH ) ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠURI _ MATCH ER . add URI ( AUTH ORITY , Ġ"/ cache ", Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠURI _ MATCH ER . add URI ( AUTH ORITY , Ġ"/ pair ", Ġ 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdelete ( uri : ĠUri , Ġselection : ĠString ?, Ġselection Args : ĠArray < String >? ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠUnsupportedOperationException (" Not Ġyet Ġimplemented ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetType ( uri : ĠUri ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinsert ( uri : ĠUri , Ġvalues : ĠContent Values ?): ĠUri ? Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠUnsupportedOperationException (" Not Ġyet Ġimplemented ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠæŃ¤ æĸ¹æ³ķ ä¼ļ æ¯Ķ ĠApplication ĠçļĦ ĠonCreate () Ġæĸ¹æ³ķ åħĪ æī§è¡Į ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" onCreate () Ġstart Ġ---> ") ĊĠĠĠĠĠĠĠ ĠStore Manager . Companion . init ( context ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġquery ( uri : ĠUri , Ġprojection : ĠArray < String > ?, Ġselection : ĠString ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġselection Args : ĠArray < String > ?, Ġsort Order : ĠString ?): ĠCursor ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcursor Ġ= ĠMatrix Cursor ( projection ) ĊĠĠĠĠĠĠĠ Ġvar Ġvalue Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġval Ġtable Ġ= Ġuri . last Path Segment ĊĠĠĠĠĠĠĠ Ġvar Ġsql Ġ= Ġ" select Ġmac Ġfrom Ġdevice _ list Ġwhere Ġmac =? Ġand Ġstatus " ĊĠĠĠĠĠĠĠ Ġsql Ġ+= Ġwhen Ġ( table ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" cache " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"= 0 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" pair " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ">= 3 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcursor . add Row ( array Of < Any >( value )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcursor ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġc : ĠCursor Ġ= ĠStore Manager . get (). readable Db (). raw Query ( sql , Ġprojection ) ĊĠĠĠĠĠĠĠ Ġvalue Ġ= Ġif Ġ( c . count Ġ!= Ġ 0 ) Ġ 1 Ġelse Ġ 0 ĊĠĠĠĠĠĠĠ Ġc . close () ĊĠĠĠĠĠĠĠ Ġcursor . add Row ( array Of < Any >( value )) ĊĠĠĠĠĠĠĠ Ġreturn Ġcursor ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġupdate ( uri : ĠUri , Ġvalues : ĠContent Values ?, Ġselection : ĠString ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġselection Args : ĠArray < String >? ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠUnsupportedOperationException (" Not Ġyet Ġimplemented ") ĊĠĠĠ Ġ} Ċ }