- Nov 16, 2020
-
-
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
-
- 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>
-
- Nov 11, 2020
-
-
chris-cwa authored
# Conflicts: # Corona-Warn-App/src/main/java/de/rki/coronawarnapp/appconfig/AppConfigModule.kt # Corona-Warn-App/src/main/java/de/rki/coronawarnapp/risk/RiskLevelTask.kt
-
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>
-
Matthias Urhahn authored
Merge 1.7.x into 1.8.x (DEV)
-
Matthias Urhahn authored
-
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>
-
Ralf Gehrer authored
* Update EN SDK to 1.7.2 (EXPOSUREAPP-3662) * Upgrade Work Manager dependencies Co-authored-by:
harambasicluka <64483219+harambasicluka@users.noreply.github.com>
-
Kolya Opahle authored
Determine Risk Level for Exposure Windows & Aggregation (EXPOSUREAPP-3537, EXPOSUREAPP-3518) (#1546) * 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 * Implementing steps to aggregate results form exposure windows - wip * Address PR comments and KLints. * Fix refactoring regression. * ktlint * 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. * Simplify current concepts for making the app config observable until we have a default configuration. * 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. * 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 * 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 * exposure history exception & log adjustment * Fixed unittests for new config parser and risk levels Signed-off-by:
Kolya Opahle <k.opahle@sap.com> * Added some logging to the calculateRisk function and removed the suspend qualifiers as AppConfig is fetched during init Signed-off-by:
Kolya Opahle <k.opahle@sap.com> Co-authored-by:
Matthias Urhahn <matthias.urhahn@sap.com> Co-authored-by:
BMItter <Berndus@gmx.de> Co-authored-by:
harambasicluka <64483219+harambasicluka@users.noreply.github.com>
-
Ralf Gehrer authored
* Extend NotificationHelper with functionality to schedule repeating notifications. * Enable cancelation of recurring notifications * Only show two positive test reminders * Implement proper positive test result reminder triggers * please ktlint * Reset notification on app reset via settings * Extract positive test result notification logic in an injectable service * Add tests * Fix injection issue of NotificationReceiver * Reset states of the SubmissionRepository on app reset via settings menu * Fix ktlint issue * add more logs Co-authored-by:
harambasicluka <64483219+harambasicluka@users.noreply.github.com>
-
janetback authored
-
Oliver Zimmerman authored
* Small change to check length of TAN before checking it's validity * Unit test adjustment to reflect changes. * Adjusted comparison to use less than operator. Additional tests. * Seperated tan valid and tan length check fore better readibility. Adjusted tests * lint fix * use new isCorrectLength in isTanValidFormat Co-authored-by:
harambasicluka <64483219+harambasicluka@users.noreply.github.com>
-
- Nov 09, 2020
-
-
janetback authored
Co-authored-by:
harambasicluka <64483219+harambasicluka@users.noreply.github.com>
-
chris-cwa authored
-
AlexanderAlferov authored
* Deadman notification: strings, onetimeworker, time calculation and unit tests * Periodic deadman notification worker added * Deadman notification refactor * Deadman notification refactor New tests * Worker refactored to new DI * Test boilerplate added * Additional tests * Clean up * Added mock providers for deadman notification workers * Comments and code clean up * Test clean up * Schedule work from CoronaWarnApplication * Variable naming fix * Switch to foreground state * Formatting * Formatting * Inject Notification Manager Compat * Change WorkManager initialization, make it impossible to inject the instance without it being initialized. Co-authored-by:
harambasicluka <64483219+harambasicluka@users.noreply.github.com> Co-authored-by:
Matthias Urhahn <matthias.urhahn@sap.com>
-
Matthias Urhahn authored
-
Matthias Urhahn authored
1.7 to 1.8
-
chris-cwa authored
-
- Nov 06, 2020
-
-
chris-cwa authored
* converted RetrieveDiagnosisKeysTransaction to Task * cherry picked and solved access to the new task * fixed background workers * fixed background workers * detekt ktlint unit test * ktlint * check cancel * fixed flow * fixed flow * fixed flow * fixed typo * Make klint happy. * Little refactoring to address PR comments (DI instead of static access). Co-authored-by:
harambasicluka <64483219+harambasicluka@users.noreply.github.com> Co-authored-by:
Matthias Urhahn <matthias.urhahn@sap.com>
-
janetback authored
-
- Nov 05, 2020
-
-
Rituraj Sambherao authored
* Harmonization of the expired QR-Code * implmentation and refactoring of the asyncRegisterDevice method * fix detekt pipeline issue * test failing pipeline fix * QRCode Exceotion, observevent and timestamp improvements as per code reviews * removed deregistration logic from Fragment to viewModel UI Thread protection as this is important logic and should run on ViewModel * Code conflict resolution * ktlint fixes * changin the method deregisterTestFromDevice() to private * scanStatus SingleLIveEvent and relevant test cases added Co-authored-by:
harambasicluka <64483219+harambasicluka@users.noreply.github.com>
-
chris-cwa authored
-
harambasicluka authored
1.7.x to 1.8.x (DEV)
-
chris-cwa authored
# Conflicts: # gradle.properties
-
janetback authored
Co-authored-by:
Ralf Gehrer <ralfgehrer@users.noreply.github.com>
-
Matthias Urhahn 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. * Address PR comments and KLints. * Fix refactoring regression. * 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. * Simplify current concepts for making the app config observable until we have a default configuration. * 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. * 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 * Throw a more specific exception if gson type decoding fails due to malformed base64 encoding. * Add unit test for Gson ByteArrayAdapter. Co-authored-by:
harambasicluka <64483219+harambasicluka@users.noreply.github.com>
-
janetback authored
-
janetback authored
-
Matthias Urhahn authored
* CodeStyle needs to be part of the project. * Correct XML formatting.
-