diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/eventregistration/storage/CheckInDatabaseData.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/eventregistration/storage/CheckInDatabaseData.kt index 2797a59ee206d546406dc7f7e460bb2839dfe756..32f3d6094ea2ed0c44d94baa5f7afd7059bddef4 100644 --- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/eventregistration/storage/CheckInDatabaseData.kt +++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/eventregistration/storage/CheckInDatabaseData.kt @@ -1,7 +1,7 @@ package de.rki.coronawarnapp.eventregistration.storage -import de.rki.coronawarnapp.eventregistration.events.TraceLocation import de.rki.coronawarnapp.eventregistration.storage.entity.TraceLocationCheckInEntity +import de.rki.coronawarnapp.server.protocols.internal.pt.TraceLocationOuterClass import org.joda.time.Instant object CheckInDatabaseData { @@ -9,7 +9,7 @@ object CheckInDatabaseData { val testCheckIn = TraceLocationCheckInEntity( guid = "testGuid1", version = 1, - type = TraceLocation.Type.TEMPORARY_OTHER.value, + type = TraceLocationOuterClass.TraceLocationType.LOCATION_TYPE_TEMPORARY_OTHER.number, description = "testDescription1", address = "testAddress1", traceLocationStart = Instant.parse("2021-01-01T12:00:00.000Z"), @@ -25,7 +25,7 @@ object CheckInDatabaseData { val testCheckInWithoutCheckOutTime = TraceLocationCheckInEntity( guid = "testGuid2", version = 1, - type = TraceLocation.Type.TEMPORARY_OTHER.value, + type = TraceLocationOuterClass.TraceLocationType.LOCATION_TYPE_TEMPORARY_OTHER.number, description = "testDescription2", address = "testAddress2", traceLocationStart = null, diff --git a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/eventregistration/storage/TraceLocationDatabaseData.kt b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/eventregistration/storage/TraceLocationDatabaseData.kt index 3891b6bdfd0e2d397f6208a0381a67b9ae360cce..8386bf1db927397aa9f0de44607d24edd63f8b7d 100644 --- a/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/eventregistration/storage/TraceLocationDatabaseData.kt +++ b/Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/eventregistration/storage/TraceLocationDatabaseData.kt @@ -1,7 +1,8 @@ package de.rki.coronawarnapp.eventregistration.storage -import de.rki.coronawarnapp.eventregistration.events.TraceLocation import de.rki.coronawarnapp.eventregistration.storage.entity.TraceLocationEntity +import de.rki.coronawarnapp.server.protocols.internal.pt.TraceLocationOuterClass.TraceLocationType.LOCATION_TYPE_PERMANENT_OTHER +import de.rki.coronawarnapp.server.protocols.internal.pt.TraceLocationOuterClass.TraceLocationType.LOCATION_TYPE_TEMPORARY_OTHER import org.joda.time.Instant object TraceLocationDatabaseData { @@ -9,7 +10,7 @@ object TraceLocationDatabaseData { val testTraceLocation1 = TraceLocationEntity( guid = "TestGuid1", version = 1, - type = TraceLocation.Type.TEMPORARY_OTHER, + type = LOCATION_TYPE_TEMPORARY_OTHER, description = "TestTraceLocation1", address = "TestTraceLocationAddress1", startDate = Instant.parse("2021-01-01T12:00:00.000Z"), @@ -21,7 +22,7 @@ object TraceLocationDatabaseData { val testTraceLocation2 = TraceLocationEntity( guid = "TestGuid2", version = 1, - type = TraceLocation.Type.PERMANENT_OTHER, + type = LOCATION_TYPE_PERMANENT_OTHER, description = "TestTraceLocation2", address = "TestTraceLocationAddress2", startDate = null, diff --git a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/eventregistration/ui/createevent/CreateEventTestViewModel.kt b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/eventregistration/ui/createevent/CreateEventTestViewModel.kt index 3668a469297caae2efb4ecde3da605eb74d23d8e..69ad6c5879e0293b1f5b46ff85e67f8249e5b35f 100644 --- a/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/eventregistration/ui/createevent/CreateEventTestViewModel.kt +++ b/Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/eventregistration/ui/createevent/CreateEventTestViewModel.kt @@ -6,6 +6,7 @@ import dagger.assisted.AssistedInject import de.rki.coronawarnapp.eventregistration.events.DefaultTraceLocation import de.rki.coronawarnapp.eventregistration.events.TraceLocation import de.rki.coronawarnapp.eventregistration.storage.repo.TraceLocationRepository +import de.rki.coronawarnapp.server.protocols.internal.pt.TraceLocationOuterClass import de.rki.coronawarnapp.util.TimeAndDateExtensions.seconds import de.rki.coronawarnapp.util.coroutine.DispatcherProvider import de.rki.coronawarnapp.util.viewmodel.CWAViewModel @@ -47,7 +48,8 @@ class CreateEventTestViewModel @AssistedInject constructor( val endTimeStampSeconds = endDate?.toInstant()?.seconds ?: 0 val traceLocationType = - if (type == "Event") TraceLocation.Type.TEMPORARY_OTHER else TraceLocation.Type.PERMANENT_OTHER + if (type == "Event") TraceLocationOuterClass.TraceLocationType.LOCATION_TYPE_TEMPORARY_OTHER + else TraceLocationOuterClass.TraceLocationType.LOCATION_TYPE_PERMANENT_OTHER val traceLocation = DefaultTraceLocation( UUID.randomUUID().toString(), // will be provided by the server when the endpoint is ready diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/eventregistration/events/DefaultTraceLocation.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/eventregistration/events/DefaultTraceLocation.kt index f792ebf9ea52339be007226803ba26598b307ce8..53ef445b2c13687ce84671945100b8ce9320aad5 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/eventregistration/events/DefaultTraceLocation.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/eventregistration/events/DefaultTraceLocation.kt @@ -1,13 +1,14 @@ package de.rki.coronawarnapp.eventregistration.events import de.rki.coronawarnapp.eventregistration.storage.entity.TraceLocationEntity +import de.rki.coronawarnapp.server.protocols.internal.pt.TraceLocationOuterClass import org.joda.time.Instant const val TRACE_LOCATION_VERSION = 1 data class DefaultTraceLocation( override val guid: String, - override val type: TraceLocation.Type, + override val type: TraceLocationOuterClass.TraceLocationType, override val description: String, override val address: String, override val startDate: Instant?, diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/eventregistration/events/TraceLocation.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/eventregistration/events/TraceLocation.kt index 1316ea7996b67e139cf70ffe404017bf91c1e23c..3eac8e92ce12020549651f9c1c39de050e020d17 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/eventregistration/events/TraceLocation.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/eventregistration/events/TraceLocation.kt @@ -1,21 +1,16 @@ package de.rki.coronawarnapp.eventregistration.events +import de.rki.coronawarnapp.server.protocols.internal.pt.TraceLocationOuterClass import org.joda.time.Instant interface TraceLocation { val guid: String val version: Int - val type: Type + val type: TraceLocationOuterClass.TraceLocationType val description: String val address: String val startDate: Instant? val endDate: Instant? val defaultCheckInLengthInMinutes: Int? val signature: String - - enum class Type(val value: Int) { - UNSPECIFIED(0), - PERMANENT_OTHER(1), - TEMPORARY_OTHER(2) - } } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/eventregistration/storage/entity/TraceLocationConverters.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/eventregistration/storage/entity/TraceLocationConverters.kt index 89546329e0ea2ac472ad58100bb89d733ec818dd..2f547dd177d8e3988401930858dd01c073ac11f1 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/eventregistration/storage/entity/TraceLocationConverters.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/eventregistration/storage/entity/TraceLocationConverters.kt @@ -1,13 +1,14 @@ package de.rki.coronawarnapp.eventregistration.storage.entity import androidx.room.TypeConverter -import de.rki.coronawarnapp.eventregistration.events.TraceLocation +import de.rki.coronawarnapp.server.protocols.internal.pt.TraceLocationOuterClass class TraceLocationConverters { @TypeConverter - fun toTraceLocationType(value: Int) = enumValues<TraceLocation.Type>().single { it.value == value } + fun toTraceLocationType(value: Int): TraceLocationOuterClass.TraceLocationType = + TraceLocationOuterClass.TraceLocationType.forNumber(value)!! @TypeConverter - fun fromTraceLocationType(type: TraceLocation.Type) = type.value + fun fromTraceLocationType(type: TraceLocationOuterClass.TraceLocationType): Int = type.number } diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/eventregistration/storage/entity/TraceLocationEntity.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/eventregistration/storage/entity/TraceLocationEntity.kt index c681d3a92acf6c123ba70af40d17a86447ae178b..052257f6bc75ebab5cccdb82ed8bd4d1f01b6de5 100644 --- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/eventregistration/storage/entity/TraceLocationEntity.kt +++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/eventregistration/storage/entity/TraceLocationEntity.kt @@ -4,6 +4,7 @@ import androidx.room.ColumnInfo import androidx.room.Entity import androidx.room.PrimaryKey import de.rki.coronawarnapp.eventregistration.events.TraceLocation +import de.rki.coronawarnapp.server.protocols.internal.pt.TraceLocationOuterClass import org.joda.time.Instant @Entity(tableName = "traceLocations") @@ -11,7 +12,7 @@ data class TraceLocationEntity( @PrimaryKey @ColumnInfo(name = "guid") val guid: String, @ColumnInfo(name = "version") val version: Int, - @ColumnInfo(name = "type") val type: TraceLocation.Type, + @ColumnInfo(name = "type") val type: TraceLocationOuterClass.TraceLocationType, @ColumnInfo(name = "description") val description: String, @ColumnInfo(name = "address") val address: String, @ColumnInfo(name = "startDate") val startDate: Instant?, diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/eventregistration/events/DefaultTraceLocationKtTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/eventregistration/events/DefaultTraceLocationKtTest.kt index 4b624abcb3af1eed4f04e9e9fca798b4243d013d..9afe5214bd2b2105da2dc2ff5e00a5f4212293f2 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/eventregistration/events/DefaultTraceLocationKtTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/eventregistration/events/DefaultTraceLocationKtTest.kt @@ -1,6 +1,8 @@ package de.rki.coronawarnapp.eventregistration.events import de.rki.coronawarnapp.eventregistration.storage.entity.TraceLocationEntity +import de.rki.coronawarnapp.server.protocols.internal.pt.TraceLocationOuterClass.TraceLocationType.LOCATION_TYPE_PERMANENT_OTHER +import de.rki.coronawarnapp.server.protocols.internal.pt.TraceLocationOuterClass.TraceLocationType.LOCATION_TYPE_TEMPORARY_OTHER import io.kotest.matchers.shouldBe import org.joda.time.Instant import org.junit.jupiter.api.Test @@ -13,7 +15,7 @@ internal class DefaultTraceLocationKtTest : BaseTest() { TraceLocationEntity( guid = "TestGuid", version = 1, - type = TraceLocation.Type.TEMPORARY_OTHER, + type = LOCATION_TYPE_PERMANENT_OTHER, description = "TestTraceLocation", address = "TestTraceLocationAddress", startDate = Instant.parse("2021-01-01T12:00:00.000Z"), @@ -23,7 +25,7 @@ internal class DefaultTraceLocationKtTest : BaseTest() { ).toTraceLocation() shouldBe DefaultTraceLocation( guid = "TestGuid", version = 1, - type = TraceLocation.Type.TEMPORARY_OTHER, + type = LOCATION_TYPE_PERMANENT_OTHER, description = "TestTraceLocation", address = "TestTraceLocationAddress", startDate = Instant.parse("2021-01-01T12:00:00.000Z"), @@ -38,7 +40,7 @@ internal class DefaultTraceLocationKtTest : BaseTest() { TraceLocationEntity( guid = "TestGuid", version = 1, - type = TraceLocation.Type.PERMANENT_OTHER, + type = LOCATION_TYPE_PERMANENT_OTHER, description = "TestTraceLocation", address = "TestTraceLocationAddress", startDate = null, @@ -48,7 +50,7 @@ internal class DefaultTraceLocationKtTest : BaseTest() { ).toTraceLocation() shouldBe DefaultTraceLocation( guid = "TestGuid", version = 1, - type = TraceLocation.Type.PERMANENT_OTHER, + type = LOCATION_TYPE_PERMANENT_OTHER, description = "TestTraceLocation", address = "TestTraceLocationAddress", startDate = null, @@ -64,7 +66,7 @@ internal class DefaultTraceLocationKtTest : BaseTest() { TraceLocationEntity( guid = "TestGuid1", version = 1, - type = TraceLocation.Type.TEMPORARY_OTHER, + type = LOCATION_TYPE_TEMPORARY_OTHER, description = "TestTraceLocation1", address = "TestTraceLocationAddress1", startDate = Instant.parse("2021-01-01T12:00:00.000Z"), @@ -75,7 +77,7 @@ internal class DefaultTraceLocationKtTest : BaseTest() { TraceLocationEntity( guid = "TestGuid2", version = 1, - type = TraceLocation.Type.PERMANENT_OTHER, + type = LOCATION_TYPE_PERMANENT_OTHER, description = "TestTraceLocation2", address = "TestTraceLocationAddress2", startDate = null, @@ -87,7 +89,7 @@ internal class DefaultTraceLocationKtTest : BaseTest() { DefaultTraceLocation( guid = "TestGuid1", version = 1, - type = TraceLocation.Type.TEMPORARY_OTHER, + type = LOCATION_TYPE_TEMPORARY_OTHER, description = "TestTraceLocation1", address = "TestTraceLocationAddress1", startDate = Instant.parse("2021-01-01T12:00:00.000Z"), @@ -98,7 +100,7 @@ internal class DefaultTraceLocationKtTest : BaseTest() { DefaultTraceLocation( guid = "TestGuid2", version = 1, - type = TraceLocation.Type.PERMANENT_OTHER, + type = LOCATION_TYPE_PERMANENT_OTHER, description = "TestTraceLocation2", address = "TestTraceLocationAddress2", startDate = null, diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/eventregistration/storage/entity/TraceLocationConvertersTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/eventregistration/storage/entity/TraceLocationConvertersTest.kt index 24260f9a924bae6c6602020ddf8eeb42149b3b8f..203b7762c3423f2564a5e5c32bdb8046cc95d622 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/eventregistration/storage/entity/TraceLocationConvertersTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/eventregistration/storage/entity/TraceLocationConvertersTest.kt @@ -1,6 +1,6 @@ package de.rki.coronawarnapp.eventregistration.storage.entity -import de.rki.coronawarnapp.eventregistration.events.TraceLocation +import de.rki.coronawarnapp.server.protocols.internal.pt.TraceLocationOuterClass import io.kotest.matchers.shouldBe import org.junit.jupiter.api.Test import testhelpers.BaseTest @@ -12,18 +12,18 @@ internal class TraceLocationConvertersTest : BaseTest() { @Test fun `toTraceLocationType() should convert different integer values to correct TraceLocation Types`() { with(converter) { - toTraceLocationType(0) shouldBe TraceLocation.Type.UNSPECIFIED - toTraceLocationType(1) shouldBe TraceLocation.Type.PERMANENT_OTHER - toTraceLocationType(2) shouldBe TraceLocation.Type.TEMPORARY_OTHER + toTraceLocationType(0) shouldBe TraceLocationOuterClass.TraceLocationType.LOCATION_TYPE_UNSPECIFIED + toTraceLocationType(1) shouldBe TraceLocationOuterClass.TraceLocationType.LOCATION_TYPE_PERMANENT_OTHER + toTraceLocationType(2) shouldBe TraceLocationOuterClass.TraceLocationType.LOCATION_TYPE_TEMPORARY_OTHER } } @Test fun `fromTraceLocationType() should convert TraceLocation Types to correct integer values`() { with(converter) { - fromTraceLocationType(TraceLocation.Type.UNSPECIFIED) shouldBe 0 - fromTraceLocationType(TraceLocation.Type.PERMANENT_OTHER) shouldBe 1 - fromTraceLocationType(TraceLocation.Type.TEMPORARY_OTHER) shouldBe 2 + fromTraceLocationType(TraceLocationOuterClass.TraceLocationType.LOCATION_TYPE_UNSPECIFIED) shouldBe 0 + fromTraceLocationType(TraceLocationOuterClass.TraceLocationType.LOCATION_TYPE_PERMANENT_OTHER) shouldBe 1 + fromTraceLocationType(TraceLocationOuterClass.TraceLocationType.LOCATION_TYPE_TEMPORARY_OTHER) shouldBe 2 } } } diff --git a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/eventregistration/storage/entity/TraceLocationEntityTest.kt b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/eventregistration/storage/entity/TraceLocationEntityTest.kt index df49201e4cd8a9d5d4bcacce5e02e345f94c3462..6ab4817ec29e9e95ca0cc85cd0c59186f2265448 100644 --- a/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/eventregistration/storage/entity/TraceLocationEntityTest.kt +++ b/Corona-Warn-App/src/test/java/de/rki/coronawarnapp/eventregistration/storage/entity/TraceLocationEntityTest.kt @@ -1,7 +1,8 @@ package de.rki.coronawarnapp.eventregistration.storage.entity import de.rki.coronawarnapp.eventregistration.events.DefaultTraceLocation -import de.rki.coronawarnapp.eventregistration.events.TraceLocation +import de.rki.coronawarnapp.server.protocols.internal.pt.TraceLocationOuterClass.TraceLocationType.LOCATION_TYPE_PERMANENT_OTHER +import de.rki.coronawarnapp.server.protocols.internal.pt.TraceLocationOuterClass.TraceLocationType.LOCATION_TYPE_TEMPORARY_OTHER import io.kotest.matchers.shouldBe import org.joda.time.Instant import org.junit.jupiter.api.Test @@ -14,7 +15,7 @@ internal class TraceLocationEntityTest : BaseTest() { DefaultTraceLocation( guid = "TestGuid", version = 1, - type = TraceLocation.Type.TEMPORARY_OTHER, + type = LOCATION_TYPE_TEMPORARY_OTHER, description = "TestTraceLocation", address = "TestTraceLocationAddress", startDate = Instant.parse("2021-01-01T12:00:00.000Z"), @@ -24,7 +25,7 @@ internal class TraceLocationEntityTest : BaseTest() { ).toTraceLocationEntity() shouldBe TraceLocationEntity( guid = "TestGuid", version = 1, - type = TraceLocation.Type.TEMPORARY_OTHER, + type = LOCATION_TYPE_TEMPORARY_OTHER, description = "TestTraceLocation", address = "TestTraceLocationAddress", startDate = Instant.parse("2021-01-01T12:00:00.000Z"), @@ -39,7 +40,7 @@ internal class TraceLocationEntityTest : BaseTest() { DefaultTraceLocation( guid = "TestGuid", version = 1, - type = TraceLocation.Type.PERMANENT_OTHER, + type = LOCATION_TYPE_PERMANENT_OTHER, description = "TestTraceLocation", address = "TestTraceLocationAddress", startDate = null, @@ -49,7 +50,7 @@ internal class TraceLocationEntityTest : BaseTest() { ).toTraceLocationEntity() shouldBe TraceLocationEntity( guid = "TestGuid", version = 1, - type = TraceLocation.Type.PERMANENT_OTHER, + type = LOCATION_TYPE_PERMANENT_OTHER, description = "TestTraceLocation", address = "TestTraceLocationAddress", startDate = null,