/* Ċ Ġ* Ġ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 . text . format . Date Utils . MINUTE _ IN _ M ILL IS Ċ import Ġcom . github . duplicates . Duplicate Comparator Ċ Ċ /** Ċ Ġ* ĠCompare Ġduplicate Ġbook marks . Ċ Ġ* Ċ Ġ* Ġ@ author Ġm os he . w Ċ Ġ*/ Ċ class ĠBook mark Comparator Ġ: ĠDuplicate Comparator < Bookmark Item >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġcompare ( lhs : ĠBook mark Item , Ġrhs : ĠBook mark Item ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġc : ĠInt ĊĊĠĠĠĠĠĠĠ Ġc Ġ= Ġcompare ( lhs . created , Ġrhs . created ) ĊĠĠĠĠĠĠĠ Ġif Ġ( c Ġ!= ĠS AME ) Ġreturn Ġc ĊĠĠĠĠĠĠĠ Ġc Ġ= Ġcompare ( lhs . date , Ġrhs . date ) ĊĠĠĠĠĠĠĠ Ġif Ġ( c Ġ!= ĠS AME ) Ġreturn Ġc ĊĠĠĠĠĠĠĠ Ġc Ġ= Ġcompare ( lhs . fav Icon , Ġrhs . fav Icon ) ĊĠĠĠĠĠĠĠ Ġif Ġ( c Ġ!= ĠS AME ) Ġreturn Ġc ĊĠĠĠĠĠĠĠ Ġc Ġ= Ġcompare ( lhs . title , Ġrhs . title ) ĊĠĠĠĠĠĠĠ Ġif Ġ( c Ġ!= ĠS AME ) Ġreturn Ġc ĊĠĠĠĠĠĠĠ Ġc Ġ= Ġcompare ( lhs . uri , Ġrhs . uri ) ĊĠĠĠĠĠĠĠ Ġif Ġ( c Ġ!= ĠS AME ) Ġreturn Ġc ĊĠĠĠĠĠĠĠ Ġc Ġ= Ġcompare ( lhs . vis its , Ġrhs . vis its ) ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( c Ġ!= ĠS AME ) Ġc Ġelse Ġsuper . compare ( lhs , Ġrhs ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdifference ( lhs : ĠBook mark Item , Ġrhs : ĠBook mark Item ): ĠBoolean Array Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠBoolean Array ( 6 ) ĊĊĠĠĠĠĠĠĠ Ġresult [ CREATED ] Ġ= Ġis Different Time ( lhs . created , Ġrhs . created , ĠMIN UTE _ IN _ M ILL IS ) ĊĠĠĠĠĠĠĠ Ġresult [ DATE ] Ġ= Ġis Different Time ( lhs . date , Ġrhs . date , ĠMIN UTE _ IN _ M ILL IS ) ĊĠĠĠĠĠĠĠ Ġresult [ FA V ICON ] Ġ= Ġis Different ( lhs . fav Icon , Ġrhs . fav Icon ) ĊĠĠĠĠĠĠĠ Ġresult [ TITLE ] Ġ= Ġis Different IgnoreCase ( lhs . title , Ġrhs . title ) ĊĠĠĠĠĠĠĠ Ġresult [ URL ] Ġ= Ġis Different ( lhs . uri , Ġrhs . uri ) ĊĠĠĠĠĠĠĠ Ġresult [ VIS ITS ] Ġ= Ġis Different ( lhs . vis its , Ġrhs . vis its ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġmatch ( lhs : ĠBook mark Item , Ġrhs : ĠBook mark Item , Ġdifference : ĠBoolean Array ?): ĠFloat Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdifferent Ġ= Ġdifference Ġ?: Ġdifference ( lhs , Ġrhs ) ĊĠĠĠĠĠĠĠ Ġvar Ġmatch Ġ= ĠMATCH _ SAME ĊĊĠĠĠĠĠĠĠ Ġif Ġ( different [ URL ]) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmatch Ġ*= Ġ 0 . 8 f ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( different [ TITLE ]) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmatch Ġ*= Ġmatch Title ( lhs . title , Ġrhs . title , Ġ 0 . 9 f ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( different [ CREATED ]) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmatch Ġ*= Ġ 0 . 9 5 f ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( different [ FA V ICON ]) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmatch Ġ*= Ġ 0 . 9 5 f ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( different [ DATE ]) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmatch Ġ*= Ġ 0 . 9 7 5 f ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( different [ VIS ITS ]) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmatch Ġ*= Ġ 0 . 9 7 5 f ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġmatch ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġconst Ġval ĠURL Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠTITLE Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠCRE ATED Ġ= Ġ 2 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠF AV ICON Ġ= Ġ 3 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠDATE Ġ= Ġ 4 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠVIS ITS Ġ= Ġ 5 ĊĠĠĠ Ġ} Ċ } Ċ