/* Ċ Ġ* ĠĠĠ ĠCopyright Ġ 2 0 1 9 ĠNim rod ĠDay an Ġn im ro dd ay an . com Ċ Ġ* Ċ Ġ* ĠĠĠ Ġ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 . nim ro dd ay an . build metrics . cache Ċ Ċ import Ġcom . nim ro dd ay an . build metrics . Client Queries Ċ import Ġcom . nim ro dd ay an . build metrics . publisher . Client Ċ Ċ internal Ġinterface ĠClient Dao Ġ{ ĊĠĠĠ Ġfun Ġinsert ( client : ĠClient ) ĊĠĠĠ Ġfun Ġselect First (): ĠClient ĊĠĠĠ Ġfun Ġdelete All () ĊĠĠĠ Ġfun Ġmark Sync ed () Ċ } Ċ Ċ internal Ġclass ĠClient Dao Sqlite ( ĊĠĠĠ Ġprivate Ġval Ġclient Queries : ĠClient Queries Ċ ) Ġ: ĠClient Dao Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġinsert ( client : ĠClient ) Ġ{ ĊĠĠĠĠĠĠĠ Ġclient Queries . insert ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġclient . id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġos _ name Ġ= Ġclient . os Name , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġos _ version Ġ= Ġclient . os Version , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcpu Ġ= Ġclient . cpu , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġram Ġ= Ġclient . ram , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodel Ġ= Ġclient . model ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġselect First (): ĠClient Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġclient Queries . select First Ġ{ Ġid , Ġos _ name , Ġos _ version , Ġcpu , Ġram , Ġmodel , Ġsynced Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClient ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġid , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġos Name Ġ= Ġos _ name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġos Version Ġ= Ġos _ version , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcpu Ġ= Ġcpu , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġram Ġ= Ġram , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodel Ġ= Ġmodel , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsynced Ġ= Ġsynced ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ}. execute As One () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdelete All () Ġ{ ĊĠĠĠĠĠĠĠ Ġclient Queries . delete All () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġmark Sync ed () Ġ{ ĊĠĠĠĠĠĠĠ Ġclient Queries . mark Sync ed () ĊĠĠĠ Ġ} Ċ } Ċ Ċ internal Ġclass ĠClient Dao No Op Ġ: ĠClient Dao Ġ{ ĊĠĠĠ Ġlateinit Ġvar Ġclient : ĠClient ĊĊĠĠĠ Ġoverride Ġfun Ġinsert ( client : ĠClient ) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġselect First (): ĠClient Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġclient ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdelete All () Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġmark Sync ed () Ġ{ ĊĠĠĠ Ġ} Ċ } Ċ