/* Ċ Ġ* ĠCopyright Ġ 2 0 2 1 , Ġ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 . db Ċ Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . room . Dao Ċ import Ġandroidx . room . Query Ċ import Ġandroidx . room . Transaction Ċ import Ġcom . github . duplicates . Duplicate ItemType Ċ Ċ /** Ċ Ġ* ĠPair Ġentity ĠDAO . Ċ Ġ*/ Ċ @ Dao Ċ interface ĠDuplicate Item Pair Dao Ġ: ĠBase Dao < Duplicate Item Pair Entity > Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSelect Ġall Ġpairs Ġfrom Ġthe Ġtable . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġall Ġpairs . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Query (" SELECT Ġ* ĠFROM Ġpair ") ĊĠĠĠ Ġfun Ġquery All (): ĠList < Duplicate Item Pair Entity > ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSelect Ġall Ġpairs Ġfrom Ġthe Ġtable . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġall Ġpairs . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Transaction ĊĠĠĠ Ġ@ Query (" SELECT Ġ* ĠFROM Ġpair ") ĊĠĠĠ Ġfun Ġquery All With Tasks Live (): ĠLive Data < List < Duplicate Item Pair Entity >> ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSelect Ġall Ġpairs Ġfrom Ġthe Ġtable . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġall Ġpairs . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Query (" SELECT Ġ* ĠFROM Ġpair ĠWHERE Ġtype =: type ") ĊĠĠĠ Ġfun Ġquery All ( type : ĠDuplicate ItemType ): ĠList < Duplicate Item Pair Entity > ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠDelete Ġall Ġpairs . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Query (" DELETE ĠFROM Ġpair ") ĊĠĠĠ Ġfun Ġdelete All (): ĠInt ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠDelete Ġall Ġpairs . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Query (" DELETE ĠFROM Ġpair ĠWHERE Ġtype =: type ") ĊĠĠĠ Ġfun Ġdelete All ( type : ĠDuplicate ItemType ): ĠInt ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠDelete Ġall Ġitems . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Query (" DELETE ĠFROM Ġpair ĠWHERE Ġ( type =: type ) ĠAND Ġ(( id 1 =: id ) ĠOR Ġ( id 2 =: id )) ") ĊĠĠĠ Ġfun Ġdelete All ( type : ĠDuplicate ItemType , Ġid : ĠLong ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠUpdate Ġthe Ġitem 1 's Ġchecked Ġstatus . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Query (" UPDATE Ġpair ĠSET Ġchecked 1 =: checked ĠWHERE Ġ( type =: type ) ĠAND Ġ( id 1 =: id )") ĊĠĠĠ Ġfun Ġupdate Item Checked 1 ( type : ĠDuplicate ItemType , Ġid : ĠLong , Ġchecked : ĠBoolean ): ĠInt ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠUpdate Ġthe Ġitem 2 's Ġchecked Ġstatus . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Query (" UPDATE Ġpair ĠSET Ġchecked 2 =: checked ĠWHERE Ġ( type =: type ) ĠAND Ġ( id 2 =: id )") ĊĠĠĠ Ġfun Ġupdate Item Checked 2 ( type : ĠDuplicate ItemType , Ġid : ĠLong , Ġchecked : ĠBoolean ): ĠInt Ċ }