- Nov 18, 2020
-
-
chris-cwa authored
* activate WindowExposure mode * extirpated tokens! * detekt, ktlint * fixed tests * - v1 methods * - get v1 exposure summary * - fixme * updated exposure summary repo * Adding mock dependencies that are required to instantiate the worker factories in our binding test. * Added numberOfDaysWithHighRisk and numberOfDaysWithLowRisk according to new tech spec * Transformed minimumDistinctEncountersForRisk and mostRecentDateForRisk into extension fun * make sure list of windows and aggregated result belong together * sending values for current UI * fixed ktlint * renamed ExposureResultStore * fixed tests Co-authored-by:
Matthias Urhahn <matthias.urhahn@sap.com> Co-authored-by:
BMItter <berndus@gmx.de>
-
Kolya Opahle authored
-
Kolya Opahle authored
-
BMItter authored
* Added numberOfDaysWithHighRisk and numberOfDaysWithLowRisk according to new tech spec * Transformed minimumDistinctEncountersForRisk and mostRecentDateForRisk into extension fun * typealias for ProtobufRiskLevels Signed-off-by:
Kolya Opahle <k.opahle@sap.com> Co-authored-by:
Kolya Opahle <k.opahle@sap.com>
-
- Nov 17, 2020
-
-
janetback authored
Co-authored-by:
harambasicluka <64483219+harambasicluka@users.noreply.github.com> Co-authored-by:
Matthias Urhahn <matthias.urhahn@sap.com>
-
janetback authored
* Update privacy_de.html * Update privacy_de.html Co-authored-by:
Matthias Urhahn <matthias.urhahn@sap.com>
-
janetback authored
-
BMItter authored
* Adjusted tests accordingly - removed deprecated provideDiagnosisKeys * satisfy detekt
-
- Nov 16, 2020
-
-
Kolya Opahle authored
Cannot delete tests older than 21 days - DE: Tests die älter als 21 Tage sind, können nicht gelöscht werden (EXPOSUREAPP-2398) (#1586) * 1. Replaced redundant uiStateState during test result fetch with a NetworkRequestWrapper that is able to represent multiple states. This allows for better request state handling throughout the app 2. Completely removed the SubmissionViewModel 3. Failure to fetch the test should now always display the invalid test card on the home screen Signed-off-by:
Kolya Opahle <k.opahle@sap.com> * Keep displaying fetching card on server errors as this usually does not indicate any problems with the test itself Signed-off-by:
Kolya Opahle <k.opahle@sap.com> * Fixing unit tests (mostly just syntax, one test case changed due to new card) Signed-off-by:
Kolya Opahle <k.opahle@sap.com> * Promoted unknown host exception to server exception Co-authored-by:
chris-cwa <69595386+chris-cwa@users.noreply.github.com> Co-authored-by:
harambasicluka <64483219+harambasicluka@users.noreply.github.com>
-
Matthias Urhahn authored
Co-authored-by:
Kolya Opahle <k.opahle@sap.com> Co-authored-by:
harambasicluka <64483219+harambasicluka@users.noreply.github.com>
-
Matthias Urhahn authored
* Enable logfile for tester builds by default. * Fix test regression.
-
Matthias Urhahn authored
-
Matthias Urhahn authored
* Make config sharing behavior `SharingStarted.Lazily`. (start once, never release) Otherwise classes that are just interested in the current config, if there is no other subscriber active, would launch the `startValueProvider` and pull a config each time. The ExposureDetectionTracker is such a candidate that would like to use the latest config every ~3min. While this already no longer happens since "Track config changes" (4d1ecb54), because there is no a class that is permanently subscribed to `currentConfig`, we should not rely on side-effects, so let's make the sharing behavior explicit. * Fix test regression. Co-authored-by:
harambasicluka <64483219+harambasicluka@users.noreply.github.com>
-
Matthias Urhahn authored
* Fix HotDataFlow behavior. * Prevent re-execution of past submissions when the observable goes cold. * Guard internal value updates with a mutex in case the value update is not as thread-safe as we think it is. * Fix problematic testcases.
-
Kolya Opahle authored
* Initial switch to new app config version (no tests/lint) * Fixed some unit tests, not all are working yet * Fixed ConfigParserTest * ktlint fixes * ktlint * ExposureWindows to map is now beautiful Signed-off-by:
Kolya Opahle <k.opahle@sap.com> Co-authored-by:
BMItter <Berndus@gmx.de>
-
Oliver Zimmerman authored
* Update RiskLevelRepository.kt * Removed comment Co-authored-by:
harambasicluka <64483219+harambasicluka@users.noreply.github.com>
-
BMItter authored
* Implemented the opportunity to use ExposureDetectionTracker without identifier * Old provideDiagnosisKeys = NO-OP * clean * maxLength clean * refactoring and extension function * adjusted wording * Throw UnsupportedOperationException in ENFClient in case * ktlint clean * fix tests for now * commented out Exception temporarily * adjusted enfTest -wip, throw unsupportedOperationException
-
Matthias Urhahn authored
* Flush the json data after writing it, otherwise if the app process dies, we end up with an empty file. GSON deserializes this into a null object that looks like a non-null object until it is evaluated some time later. Force an evaluation via `require(it.size >= 0)` and delete the corrupt data file when catching the exception. * Show a visible error dialog if we fail to save data. * Used buffered versions of readers and writer.
-
Ralf Gehrer authored
Co-authored-by:
harambasicluka <64483219+harambasicluka@users.noreply.github.com>
-
- Nov 13, 2020
-
-
Matthias Urhahn authored
* Catch cancellation exceptions for coroutines launched on the viewModelScope. * Use the viewmodel provided launch method to use common handling. Co-authored-by:
harambasicluka <64483219+harambasicluka@users.noreply.github.com> Co-authored-by:
chris-cwa <69595386+chris-cwa@users.noreply.github.com>
-
SAP LX Lab Service Account authored
Change-Id: I64e8b3a17346d3e14e3c7306c89100633afc104e Co-authored-by:
Ralf Gehrer <ralfgehrer@users.noreply.github.com>
-
janetback authored
-
chris-cwa authored
* + config changed detector * tests * ConfigChangeDetector.kt improvements. * Fix config collecting scoping * Move the identifier update into the RiskLevelTask * Add test coverage * Logs NO-OPs too. * Filter emissions early if the value didn't change. * extracted constant Co-authored-by:
Matthias Urhahn <matthias.urhahn@sap.com>
-
Roman Elizarov authored
There is a number of place in the app with the following code pattern: try { // do some suspending operation } catch(e: Exception) { e.report(ExceptionCategory.EXPOSURENOTIFICATION) // or similar } In all such place if the corresponding suspending gets cancelled for any reason, the resulting CancellationException will get reported as an application crash. This fix prevents it from happening, since a cancellation exception is a part of a normal operation, not a failure that should be reported.
-
- Nov 12, 2020
-
-
BMItter authored
* Implemented exposure window provider, adjusted ENF Client * Implemented new provideDiagnosisKeys to activate ExposureWindow mode, deprecated old diagnosis related content * Adjusted ENFClientTest * conflict fix - wip * test fix
-
AlexanderAlferov authored
* Split and hide the protobuf config behind interfaces with individual mappers responsible for creating the desired formats. * Merge branch 'release/1.7.x' into feature/3455-more-frequent-riskscore-updates-configs # Conflicts: # Corona-Warn-App/src/deviceForTesters/java/de/rki/coronawarnapp/test/risklevel/ui/TestRiskLevelCalculationFragmentCWAViewModel.kt # Corona-Warn-App/src/main/java/de/rki/coronawarnapp/transaction/RiskLevelTransaction.kt # Corona-Warn-App/src/test/java/de/rki/coronawarnapp/transaction/RiskLevelTransactionTest.kt * Make the AppConfig observable. Provide the server time offset. Offer a lastUpdatedAt timestamp. Add an app config specific test screen. Clean up test screens a bit and move debug options out of API test options. * Fix test regression due to refactoring (moved code around). * Store the server timestamp and offset at retrieval. Switch to config storage via json to be able to store additional meta data fields (i.e. time). * KLint and Me have a hate relationship based on both mutual admiration. * Fix time offset parsing being locale dependent. * Fix broken unit tests. * Improve offset accuracy, move before unzipping. * Fix overly long livedata subscription to results (viewmodel scope vs observer scope) * Add mapping for the new protobuf configs + tests. * For cached (retrofit) response, we need to check the cacheResponse and its timestamps to determine an accurate time offset. * Exposure a boolean property to tell us when a fallback config is being used. * Hide the observable flow<ConfigData> behind a method that can automatically triggers refreshes. * Use a common mapper interface. * set old risklevelcalculation deprecated * Created skeleton for new risk calculation and aggregation * Initial * Implementing steps to aggregate results form exposure windows - wip * Address PR comments and KLints. * Fix refactoring regression. * ktlint * Json parsing * Added ExposureWindowRiskLevelConfig and ExposureWindowRiskLevelConfigMapper for new config api (not yet introduced) Signed-off-by:
Kolya Opahle <k.opahle@sap.com> * Added first Implementation of exposure window based calculateRisk function Signed-off-by:
Kolya Opahle <k.opahle@sap.com> * Added generics to Range.inRange Signed-off-by:
Kolya Opahle <k.opahle@sap.com> * Added Ugly Hack to RiskLevelTransaction to allow for compilation during testing Signed-off-by:
Kolya Opahle <k.opahle@sap.com> * Linting and injecting RiskLevelCalculation into TestRiskLevelCalculationFragmentCWAViewModel, currently wont build because ExposureWindowRiskLevelConfig has no Provider Signed-off-by:
Kolya Opahle <k.opahle@sap.com> * Linting extravaganza Signed-off-by:
Kolya Opahle <k.opahle@sap.com> * Lint Wars Episode VI: Return of the trailing Comma * Improve config unzipping code. * Add flag to forward exception thrown during HotDataFlow.kt initialization. * Don't specify a default context via singleton. * Move download and fallback logic into it's own class just responsible for sourcing the config: "AppConfigSource". "AppConfigProvider" is now only responsible for making it available. * Check test cases * Simplify current concepts for making the app config observable until we have a default configuration. * Implementing steps to aggregate results form exposure windows * cleaned todo * Adjusted default values * Improve app config test screen, delete options, better feedback. Show toast instead of crash on errors. * Fixed GSON serialization not encoding/decoding the byte array correctly. Added specific type adapters for instant and duration to get cleaner json. * Remove type adapters from base gson due to conflict with CalculationTrackerStorage. * refactored Windows aggregation * We want to default to forced serialization of instant by our converters, instead of using the default serialization which will differ between Java8.Instant and JodaTime.Instant, to prevent future headaches there, register explicit converters by default, and overwrite them if necessary (currently only needed for CalculationTrackerStorage.kt). * Improve AppConfigServer code readability by moving code into extensions. * Fix merge conflicts * removed example value * Added missing import to WorkerBinderTest * fixed unit tests * Removed auto formatting on unrelated files (revert + cherry pick in other commit) Signed-off-by:
Kolya Opahle <k.opahle@sap.com> * Implementing steps to aggregate results form exposure windows * Renamed ExposureWindowRiskLevelConfig to ExposureWindowRiskCalculationConfig * adjusted & refactored Windows aggregation * removed example Values * satisfy lint * make Aggregation work with Instant now * Use long while calculation * Added normalizedTimePerDayToRiskLevelMappingList to AppConfig * normalizedTimePerDayToRiskLevelMappingList from AppConfig * satisfy lint * Get AppConfig on init and listen for updates * exposureData to aggregatedRiskPerDateResult * Corrected name in ConfigParserTest * use instant for specific aggregation logs * satisfy CI * satisfy detekt * Mock exposure windows * Full test process * Fix gitignore * Improved logging * Correct test cases dates handling * Config fix and logs * Small clean up * fixed some naming and conversion issues with json test case parsing Signed-off-by:
Kolya Opahle <k.opahle@sap.com> * TRL Encodings in config did not match TRL Encodings used in js example * Removing a return that broke the calculation * Actual tests and formatting * Formatting Co-authored-by:
Matthias Urhahn <matthias.urhahn@sap.com> Co-authored-by:
BMItter <Berndus@gmx.de> Co-authored-by:
Kolya Opahle <k.opahle@sap.com> Co-authored-by:
harambasicluka <64483219+harambasicluka@users.noreply.github.com>
-
Matthias Urhahn authored
-
- Nov 11, 2020
-
-
CWA Technical User authored
* Update from https://github.com/corona-warn-app/cwa-protocol-buffers/commit/fb60eddacb048b9c0cd8a3c67ab728a9878611ed * Include new default app config for v2. Co-authored-by:
Matthias Urhahn <matthias.urhahn@sap.com>
-
janetback authored
Co-authored-by:
harambasicluka <64483219+harambasicluka@users.noreply.github.com>
-
Oliver Zimmerman authored
* add TracingStatus check that forces No_Calculation option if exposure logging stopped * detekt adjustments * Added test with Rituraj for tracing status when tracing status is inactive Co-authored-by:
harambasicluka <64483219+harambasicluka@users.noreply.github.com>
-
Matthias Urhahn authored
Co-authored-by:
harambasicluka <64483219+harambasicluka@users.noreply.github.com>
-
Matthias Urhahn authored
* If we revoked any cached keys we need to force an index lookup. + Additional tests to check that forced index lookup is decided on correctly. * Fix merge regressions in tests.
-
Matthias Urhahn authored
The timeout checker doesn't need to force an app-config refresh, it's fine working with the latest available one. (#1573) Co-authored-by:
Ralf Gehrer <ralfgehrer@users.noreply.github.com>
-
Matthias Urhahn authored
* Show more specific error message when quota limit is reached and remove "Update ever 24h text". * Show custom title in error dialog and make stack trace selectable. * LINTs * Add a log statement so that in all cases the the base error reporting is made visible. Co-authored-by:
harambasicluka <64483219+harambasicluka@users.noreply.github.com>
-
Rituraj Sambherao authored
* improved logging for Bakcground Worker * loggin added in updateRiskLevelScore Notification Permissions logged and notification sent is loggged * merge conflict resolution * uniformity in Log tags Co-authored-by:
harambasicluka <64483219+harambasicluka@users.noreply.github.com>
-
CWA Technical User authored
* Update from https://github.com/corona-warn-app/cwa-protocol-buffers/commit/9586b423837c598edc76c2ddf08baebcce1b1c36 * Adjust API to new protobuf names. Update default config. * Adjust function naming invalid -> revoked. Co-authored-by:
Matthias Urhahn <matthias.urhahn@sap.com>
-
Matthias Urhahn authored
* Replaced KeyFileDownloader.kt in favor of KeyFileSyncTool.kt. Supports new logic for more frequent downloads First draft. * Change "country" to location, which is more fitting. * Split sync success tracking into days and hours, track them separately. * Fix stale location data not being cleaned up. * Test fragment, first drafts. Remove 24 hour mode options, no longer used. * Implemented metered connection check for hourly key download. * Provide timeout values for download transaction and individual downloads via app config. * Add clear+download actions, and current network state display to the key download test fragment. * Complete unit tests for KeyDownloadTool.kt * Complete unit tests for FlowPreference and DownloadConfigMapper- * Unit tests for day and hour sync tool. * Complete tests for KeyPackageSyncTool.kt * klint & detekt <3 * Fix tags and commented out code (the deletion behavior is covered by `getting completed keys` * Fix text typo. * Sync tools need to tell what (if) new packages have been downloaded. * Interval checks for exposure detection. * Use the ENFClient, avoid direct access to the calculation tracker. * Remove defensive check "wanted countries"/"available countries" to reduce server hits. * CalculationTracker's timeout should come from the AppConfig (androidExposureDetectionParameters.overallTimeoutInSeconds) * Add test to confirm that we delete stale locations. * Finished key packages test screen. Introduced some boilerplate code to make async diffutils easier to use (will help us with the homefragment later on). * Remove ETag fallback behavior, missing ETag is such an edge case that we should throw. * Check valid max and min config values. * Fix linting issues. * Address PR comments. * EXPECT_NEW_*_PACKAGES should be based on the package time data, not the download creation timestamp. The downloads creation timestamp can be subject to race conditions. * Fix overflow due to time addition with Long.MAX_VALUE * Clean up tests * Don't crash the task if we can't get today's hour index. (Makes timetravel testing difficult, and a real abort reason would be a crash on the day index) * Display errors (don't crash) when running manual keysync from the test menu. * Fix last day/hour sync result success state not being updated. * Change Key download task collision mode from ENQUEUE to SKIP_IF_SIBLING_RUNNING. * Rename CalculationTracker to ExposureDetectionTracker * Rename `forceSync` to `forceIndexLookup`. * Remove outdated comments. * Spell out viewholder. * Move `maxExposureDetectionsPerUTCDay == 0` into it's own check. * Change test menu metered connection button behavior. It's now a button that "fakes" the connection status to metered. It's now also part of the `TestSettings` and the connection state is faked for the `NetworkStateProvider` class which may be reused. * Change test menu metered connection button behavior. It's now a button that "fakes" the connection status to metered. It's now also part of the `TestSettings` and the connection state is faked for the `NetworkStateProvider` class which may be reused. * Dry sync/error logging call. * Improve parameter naming, it's target locations, not available locations. The app config alone determines which locations we try to sync. Co-authored-by:
BMItter <46747780+BMItter@users.noreply.github.com>
-
Matthias Urhahn authored
* Fix task exceptions not being forwarded to our current error UI elements. * Clean up old transaction names. * Use simple class name as error tag. * Prevent error reporting from triggering in unit tests due to static access. * Move isUnitTest to CWDebug Co-authored-by:
harambasicluka <64483219+harambasicluka@users.noreply.github.com>
-
- Nov 10, 2020
-
-
Matthias Urhahn authored
* Add default app config as last resort fallback. * Change config type names and improve logging for HotDataFlow.kt * Run the app config retrieval on the app scope, otherwise UI unsubscription could cancel the app config retrieval. * Offer "identifier" property that can identify app configs such that subscribers know when it is considered changed. * Behavior change AppConfigProvider.kt, there is no caching/replay grace period, once the last subscription is gone, it's last value is cleared. * Klint ;) * Add a unit test specifically for checking the default configs checkum and parsability. * Fix test breaking on CI. * Don't check the checksum for the config loaded from assets. Co-authored-by:
harambasicluka <64483219+harambasicluka@users.noreply.github.com>
-