/* Ċ Ġ* ĠCopyright Ġ 2 0 1 6 , ĠM os he ĠW ais berg Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġcom . github . duplicates . bookmark Ċ Ċ import Ġandroid . content . Content Resolver Ċ import Ġandroid . content . Context Ċ import Ġandroid . database . Cursor Ċ import Ġandroid . net . Uri Ċ import Ġandroid . provider . Base Columns ._ ID Ċ import Ġcom . github . duplicates . Duplicate Provider Ċ import Ġcom . github . provider . Browser Ċ import Ġcom . github . provider . Browser . Bookmark Columns . BOOK MARK Ċ import Ġcom . github . provider . Browser . Bookmark Columns . CREATED Ċ import Ġcom . github . provider . Browser . Bookmark Columns . DATE Ċ import Ġcom . github . provider . Browser . Bookmark Columns . FA V ICON Ċ import Ġcom . github . provider . Browser . Bookmark Columns . TITLE Ċ import Ġcom . github . provider . Browser . Bookmark Columns . URL Ċ import Ġcom . github . provider . Browser . Bookmark Columns . VIS ITS Ċ Ċ /** Ċ Ġ* ĠProvide Ġduplicate Ġbook marks . Ċ Ġ* Ċ Ġ* Ġ@ author Ġm os he . w Ċ Ġ*/ Ċ class ĠBook mark Provider ( context : ĠContext ) Ġ: ĠDuplicate Provider < Bookmark Item >( context ) Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠgetContent Uri (): ĠUri Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠBrowser . BOOK MARK S _ URI ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Cursor Projection (): ĠArray < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠPRO JECTION ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Cursor Selection (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ"$ BOOK MARK = 1 " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Item ( cursor : ĠCursor ): ĠBook mark Item Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠBook mark Item () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġpopulate Item ( cursor : ĠCursor , Ġitem : ĠBook mark Item ) Ġ{ ĊĠĠĠĠĠĠĠ Ġitem . id Ġ= Ġcursor . getLong ( INDEX _ ID ) ĊĠĠĠĠĠĠĠ Ġitem . created Ġ= Ġcursor . getLong ( INDEX _ CREATED ) ĊĠĠĠĠĠĠĠ Ġitem . date Ġ= Ġcursor . getLong ( INDEX _ DATE ) ĊĠĠĠĠĠĠĠ Ġitem . fav Icon Ġ= Ġcursor . get Blob ( INDEX _ FA V ICON ) ĊĠĠĠĠĠĠĠ Ġitem . title Ġ= Ġempty ( cursor , ĠINDEX _ TITLE ) ĊĠĠĠĠĠĠĠ Ġitem . set Url ( cursor . getString ( INDEX _ URL )) ĊĠĠĠĠĠĠĠ Ġitem . vis its Ġ= Ġcursor . getInt ( INDEX _ VIS ITS ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdelete Item ( cr : ĠContent Resolver , Ġcontent Uri : ĠUri , Ġitem : ĠBook mark Item ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcr . delete ( content Uri , Ġ_ ID Ġ+ Ġ"=" Ġ+ Ġitem . id , Ġnull ) Ġ> Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Read Permissions (): ĠArray < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠPER MISSION S _ READ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Delete Permissions (): ĠArray < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠPER MISSION S _ WRITE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠPER MISSION S _ READ Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" com . android . browser . permission . READ _ HISTORY _ BOOK MARK S ") ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠPER MISSION S _ WRITE Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf (" com . android . browser . permission . WRITE _ HISTORY _ BOOK MARK S ") ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠPRO JECTION Ġ= ĠarrayOf (_ ID , ĠCRE ATED , ĠDATE , ĠF AV ICON , ĠTITLE , ĠURL , ĠVIS ITS ) ĊĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠINDEX _ ID Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠINDEX _ CREATED Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠINDEX _ DATE Ġ= Ġ 2 ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠINDEX _ FA V ICON Ġ= Ġ 3 ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠINDEX _ TITLE Ġ= Ġ 4 ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠINDEX _ URL Ġ= Ġ 5 ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠINDEX _ VIS ITS Ġ= Ġ 6 ĊĠĠĠ Ġ} Ċ } Ċ