From 4e3c03cfaa45b298f04abba97c534a9224262666 Mon Sep 17 00:00:00 2001 From: Christian Grigis Date: Thu, 8 Oct 2020 11:38:57 +0200 Subject: [PATCH] Fix overflow that prevents matching --- .../gms/nearby/exposurenotification/ExposureDatabase.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/play-services-nearby-core/src/main/kotlin/org/microg/gms/nearby/exposurenotification/ExposureDatabase.kt b/play-services-nearby-core/src/main/kotlin/org/microg/gms/nearby/exposurenotification/ExposureDatabase.kt index a21fecf8..3609fa97 100644 --- a/play-services-nearby-core/src/main/kotlin/org/microg/gms/nearby/exposurenotification/ExposureDatabase.kt +++ b/play-services-nearby-core/src/main/kotlin/org/microg/gms/nearby/exposurenotification/ExposureDatabase.kt @@ -346,7 +346,7 @@ class ExposureDatabase private constructor(private val context: Context) : SQLit val keys = listSingleDiagnosisKeysPendingSearch(tid, database) val oldestRpi = oldestRpi for (key in keys) { - if ((key.rollingStartIntervalNumber + key.rollingPeriod) * ROLLING_WINDOW_LENGTH_MS + ALLOWED_KEY_OFFSET_MS < oldestRpi) { + if ((key.rollingStartIntervalNumber + key.rollingPeriod).toLong() * ROLLING_WINDOW_LENGTH_MS + ALLOWED_KEY_OFFSET_MS < oldestRpi) { // Early ignore because key is older than since we started scanning. applySingleDiagnosisKeySearchResult(key, false, database) } else { @@ -385,7 +385,7 @@ class ExposureDatabase private constructor(private val context: Context) : SQLit riskLogged = key.transmissionRiskLevel Log.d(TAG, "First key with risk ${key.transmissionRiskLevel}: ${ByteString.of(*key.keyData).hex()} starts ${key.rollingStartIntervalNumber}") } - if ((key.rollingStartIntervalNumber + key.rollingPeriod) * ROLLING_WINDOW_LENGTH_MS + ALLOWED_KEY_OFFSET_MS < oldestRpi) { + if ((key.rollingStartIntervalNumber + key.rollingPeriod).toLong() * ROLLING_WINDOW_LENGTH_MS + ALLOWED_KEY_OFFSET_MS < oldestRpi) { // Early ignore because key is older than since we started scanning. ignored++; } else {