Skip to content
This repository has been archived by the owner on Jun 20, 2023. It is now read-only.

Limit number of keys to be uploaded to server #107

Merged
merged 4 commits into from
Jun 2, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import de.rki.coronawarnapp.transaction.SubmitDiagnosisKeysTransaction.SubmitDia
import de.rki.coronawarnapp.transaction.SubmitDiagnosisKeysTransaction.SubmitDiagnosisKeysTransactionState.RETRIEVE_TAN
import de.rki.coronawarnapp.transaction.SubmitDiagnosisKeysTransaction.SubmitDiagnosisKeysTransactionState.RETRIEVE_TEMPORARY_EXPOSURE_KEY_HISTORY
import de.rki.coronawarnapp.transaction.SubmitDiagnosisKeysTransaction.SubmitDiagnosisKeysTransactionState.SUBMIT_KEYS
import de.rki.coronawarnapp.util.ProtoFormatConverterExtensions.limitKeyCount
import de.rki.coronawarnapp.util.ProtoFormatConverterExtensions.transformKeyHistoryToExternalFormat

/**
Expand Down Expand Up @@ -58,6 +59,7 @@ object SubmitDiagnosisKeysTransaction : Transaction() {
****************************************************/
val temporaryExposureKeyList = executeState(RETRIEVE_TEMPORARY_EXPOSURE_KEY_HISTORY) {
InternalExposureNotificationClient.asyncGetTemporaryExposureKeyHistory()
.limitKeyCount()
.transformKeyHistoryToExternalFormat()
}
/****************************************************
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ object ProtoFormatConverterExtensions {

private const val ROLLING_PERIOD = 144
private const val DEFAULT_TRANSMISSION_RISK_LEVEL = 1
private const val MAXIMUM_KEYS = 14

fun List<TemporaryExposureKey>.limitKeyCount() =
this.sortedWith(compareBy({ it.rollingStartIntervalNumber })).asReversed().take(MAXIMUM_KEYS)

fun List<TemporaryExposureKey>.transformKeyHistoryToExternalFormat() = this.map {
KeyExportFormat.TemporaryExposureKey.newBuilder()
Expand Down