package Ġcom . sh ah in . me ister search . data . local . sources . room Ċ Ċ import Ġandroidx . room . Dao Ċ import Ġandroidx . room . Insert Ċ import Ġandroidx . room . On Conflict Strategy Ċ import Ġandroidx . room . Query Ċ import Ġcom . sh ah in . me ister search . data . local . models . paging key . Remote Key Ċ Ċ /** Ċ Ġ* ĠA ĠRemote ĠKey ĠDAO Ċ Ġ* Ċ Ġ* ĠThis Ġclass Ġis Ġcreated Ġto Ġprovide Ġaccess Ġto Ġtables Ġhandling Ġpaging Ġkeys Ċ Ġ* Ġsuch Ġas ĠQuery , ĠNext Ġ& ĠPrevious ĠPages Ġand ĠLast ĠUpdated ĠTimestamp Ċ Ġ* Ċ Ġ* Ġ@ see ĠRemote Key Ċ Ġ*/ Ċ @ Dao Ċ interface ĠRemote Key Dao Ġ{ ĊĊĠĠĠ Ġ// region ĠP aging ĠMed iator ĠRemote ĠKey ĠQueries ĊĠĠĠ Ġ@ Insert ( on Conflict Ġ= ĠOn Conflict Strategy . REPLACE ) ĊĠĠĠ Ġsuspend Ġfun Ġinsert All ( remote Key : ĠList < Remote Key >) ĊĊĠĠĠ Ġ@ Insert ( on Conflict Ġ= ĠOn Conflict Strategy . REPLACE ) ĊĠĠĠ Ġsuspend Ġfun Ġinsert Or Replace ( remote Key : ĠRemote Key ) ĊĊĠĠĠ Ġ@ Query (" SELECT Ġ* ĠFROM Ġremote _ keys ĠWHERE Ġquery Value Ġ= Ġ: query ") ĊĠĠĠ Ġsuspend Ġfun Ġget Remote Key By Query ( query : ĠString ): ĠRemote Key ? ĊĊĠĠĠ Ġ@ Query (" DELETE ĠFROM Ġremote _ keys ĠWHERE Ġquery Value Ġ= Ġ: query ") ĊĠĠĠ Ġsuspend Ġfun Ġdelete By Query ( query : ĠString ) ĊĊĠĠĠ Ġ@ Query (" DELETE ĠFROM Ġremote _ keys ") ĊĠĠĠ Ġsuspend Ġfun Ġclear Remote Keys () ĊĠĠĠ Ġ// endregion Ċ Ċ }