-
Notifications
You must be signed in to change notification settings - Fork 499
Corona test result fetching, storage & wiring (EXPOSUREAPP-6007) #2824
Conversation
…`TestResult` to `CoronaTestResult` and add new states.
…re up HotDataFlow.
…ssor modules. Wire up legacy migration.
….kt in favor of a state mapper for PCRCoronaTest.kt via extension function.
Corona-Warn-App/src/main/java/de/rki/coronawarnapp/coronatest/type/CoronaTestProcessor.kt
Show resolved
Hide resolved
Corona-Warn-App/src/main/java/de/rki/coronawarnapp/coronatest/migration/CoronaTestMigration.kt
Outdated
Show resolved
Hide resolved
Corona-Warn-App/src/main/java/de/rki/coronawarnapp/coronatest/migration/CoronaTestMigration.kt
Outdated
Show resolved
Hide resolved
Corona-Warn-App/src/main/java/de/rki/coronawarnapp/coronatest/migration/CoronaTestMigration.kt
Outdated
Show resolved
Hide resolved
Corona-Warn-App/src/main/java/de/rki/coronawarnapp/coronatest/CoronaTestRepositoryExtensions.kt
Show resolved
Hide resolved
Corona-Warn-App/src/main/java/de/rki/coronawarnapp/coronatest/server/VerificationServer.kt
Outdated
Show resolved
Hide resolved
Corona-Warn-App/src/main/java/de/rki/coronawarnapp/coronatest/storage/CoronaTestStorage.kt
Show resolved
Hide resolved
Corona-Warn-App/src/main/java/de/rki/coronawarnapp/coronatest/type/CoronaTest.kt
Show resolved
Hide resolved
In general looks good , I like the separation for handling test lifecycle |
…ed on the return value.
…l related UI elements. Fix dagger injection issues (loop) related to worker scheduling.
# Conflicts: # Corona-Warn-App/src/androidTest/java/de/rki/coronawarnapp/ui/main/home/HomeData.kt # Corona-Warn-App/src/main/java/de/rki/coronawarnapp/submission/task/SubmissionTask.kt # Corona-Warn-App/src/main/java/de/rki/coronawarnapp/submission/ui/homecards/PcrTestErrorCard.kt # Corona-Warn-App/src/main/java/de/rki/coronawarnapp/submission/ui/homecards/PcrTestInvalidCard.kt # Corona-Warn-App/src/main/java/de/rki/coronawarnapp/submission/ui/homecards/PcrTestPendingCard.kt # Corona-Warn-App/src/main/java/de/rki/coronawarnapp/submission/ui/homecards/PcrTestPositiveCard.kt # Corona-Warn-App/src/main/java/de/rki/coronawarnapp/submission/ui/homecards/PcrTestReadyCard.kt # Corona-Warn-App/src/main/java/de/rki/coronawarnapp/submission/ui/homecards/RapidTestErrorCard.kt # Corona-Warn-App/src/main/java/de/rki/coronawarnapp/submission/ui/homecards/TestSubmissionDoneCard.kt # Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/home/HomeFragmentViewModel.kt
I got a crash while registering a test:
|
Currently expected, test registration will only work after additional PRs from other team members. I can make it not crash, but I think it does not matter, because it will not be able to register a test until PRs from @chiljamgossow @axelherbstreith and @SamuraiKek are merged. |
I'm not sure if my PR would need to be merged for this to work. I think I would actually need to be able to register a test in order to test my PR. |
I fixed the crashes, and registering a PCR test will now work, consent is hardcoded for now, this will be fixed by @SamuraiKek . |
Kudos, SonarCloud Quality Gate passed! |
CoronaTestRepository
that allows to work with implementations ofCoronaTest
.CoronaTest
has aCoronaTestProcessor
that hides the test specific actionsFlow<Set<CoronaTest>>
to allow threadsafe observation from various areas of the app.CoronaTestMigration
will take the old data and construct adata class PCRTest : CoronaTest
out of it, after that has been stored in the newCoronaTestStorage
the old attributes are deleted.HotDataFlow<Set<CoronaTest>>
. This flow is observed and on every data change a new snapshot of the data classes is serialized and persisted. The last snapshots is loaded from storage and used to initializeHotDataFlow
if our app is killed.PENDING
if there is no internet until we were able to determine the current test result state for the migrated test data.State
determination within new test data classes