- Jan 22, 2021
-
-
BMItter authored
Contact Journal Risk Extension - Risk details contact overview logic & peristance (EXPOSUREAPP-4577) (#2142) * Added AggregatedRiskPerDateResult to AggregatedRisk, Added AggregatedRiskPerDateResult to riskresult database * Added list of AggregatedRiskPerDateResult to AggregatedRisk, Added AggregatedRiskPerDateResult to riskresult db * Save aggregated risk per date results * Override aggregatedRiskPerDateResults * Delete risk level per date which are older than 2 weeks * Prepared logic to show risk level per date in contact diary overview * Test day mapping for risk result * Added tests for AggregatedRiskPerDateResultDao * Fixed layouts in contact diary overview * Show risk in overview * click adjustments * Moved logic into view model * adjusted ListItem * Added clearing of obsolete aggregated risk per date results, cleaned tests * detekt & klint clean * Added test for clearing aggregated risk per date results * avoid main thread * Performance up lift by avoiding string templates * missleading comment * adjusted filter method * We dislike flaky tests * Added testability for migration * Adjusted day count for journal * fixed test * ktlint & detekt * adjusten retention * ktlint, detekt * adjusted ContactDiaryCleanTaskTest * Add tests for aggregated risk per date result table Co-authored-by:
harambasicluka <64483219+harambasicluka@users.noreply.github.com>
-
- Jan 04, 2021
-
-
Matthias Urhahn authored
* Change primary key for risk result database to a monotonic ID. This prevents time travel from breaking "get latest" as we will get the latest by monotonic ID, instead of "calculatedAt". * We don't need `fallbackToDestructiveMigrationFrom(3)` until we actually upgrade the schema to 3. * Fix database test (missing monotonicId) * Catch exceptions during migrations and recreate the table. * Add check for result size after recreating+insertion. Co-authored-by:
Ralf Gehrer <ralfgehrer@users.noreply.github.com>
-
- Dec 15, 2020
-
-
Kolya Opahle authored
-
- Dec 14, 2020
-
-
Matthias Urhahn authored
* implemented dao, entitiy, database, module - wip * Added cross ref classes for joining data * Adjusted daos * - Added ContactDiaryModule to AppComponent - Reduced code a bit * missing interface change * Uniform naming * Defined methods for contact diary repo * added mapper extension * fixed naming, Implement contact diary repo * Added repo to module, Flows shall return lists * Added foreign key constraints - outdated * Clear contact diary database on DataReset, removed unneccessary element * removed singletons * adjustments to new tech spec * Adjusted daos from stash * Added new daos to related classes * Redefined contact diary repo * Implemented contact diary repo * Added mission dao annotations * sorting opportunity * sourcecheck clean * cleanUp, added db schema, removed old stuff * missing call * ForeigenKey must be in entity declaration * Added contact diary db test, removed broken tests * added autogenerate primarykey * Moved data joining from App-Lvl to database * Explicit naming in entities * sourcecheck & ktlint clean Co-authored-by:
BMItter <berndus@gmx.de>
-
- Dec 03, 2020
-
-
Matthias Urhahn authored
* Submission upload, first draft. Storing Symptoms and TEKs. TODO: * Change upload task to use stored data. * Blocking upload task * Tests * Update symptoms on each screen. Integrate permission request and automatic TEK history update. TODO: * Cancel dialog * Blocking upload task * Tests * Add submission on cancel behavior. * LINTs and unit tests. * Hooking up navigation and first break through on TAN based submission. * Hook up navigation for QR Code to test result without consent. * Fix positive result consent given submission: Abort to Main Screen * Restore default environment. * Adjust notification target fragment. * Address LINTs * Clean up symptoms introduction nav actions. * Fix tests
-
- Nov 27, 2020
-
-
chris-cwa authored
-
- Oct 29, 2020
-
-
BMItter authored
* FileLoggerPlus - RX added - preparation * Buffer config as constants * avoid empty lines * Reworked logging to file - wip * Collecting errors to dao - wip * Added crash report to app db and created module * do it * inject crashReportTree - wip * use dagger injection * retrieve short hash via gradle * removed todo * Updated database to version 2 for new ReportEntity - old base * deprecated old engagement - RX not allowed anymore * use global scope for coroutines in crash report tree - ktlint clean * added menu item - error reporter (replace later to new structure) * basic recylcerview and fragment added to menu - wip * deprecated data class * Delete CrashModel.kt * crash report list item to use data binding * separated Reporteradapter - klint clean * use separated Adapter in ReporterFragment - cleanup * Added ErrorReporterViewModel - connected data to list * dependency injection for crash report, better structure, todo cleanup * some refactoring, cleanup, ktlint * adjustments for 1.6.x * temp action to open crash report fragment * removed testcode * updated layout - wip * connected view & data * satisfy circle ci checks * plant reportingTree, testbutton, klint clean * updated layout for reporter - wip * better format and layout * better message handling * missing icons for errors on debug * Adjusted error report index * Removed ugly show button, report clickable * Added SettingsCrashReportDetailsFragment & corresponding files * fixed merge inconsistence * fixed injection overall * use livedata * details added to report - wip * beauty * share & layout root preparation * make error report shareable * removed Dispatcher.IO for example * Introduce skeleton classes for bugreporting * Refactoring, adjustments to be able to build again * Created BugEventEntity, Changed id to Long for more efficiency, Removed unused events * refactored ui to deviceForTesters, testmenu etc * adjusted interfaces & related, better structure * uses own db, added converter, adjusted modules * adjusted bugrepo, defaultbugrepo * shared report, better visualisation * changed crash db name * Implemented DefaultBugRepository * Added device info to BugEvent, BugReporter collects Tag, Added default impl of BugEvent etc * corrected bug in RollingLogHistory * removed deprecated crash package * quickfix - wip * cleanup * cleanUp, adjusted simulation button to new structure * moved bug related layouts to deviceForTesters package * removed old RX dependenies and related context * fix build for deviceDebug * lint clean * current set of relevant exceptions as before * attach log to output * improved output * Delete obsolet ic_bug in main * Delete ic_coffee.xml * changed shortID to shortCommitHash for better transparency * companion to bottom * removed string encapsulation * cleanup unused import and blank line - PR Comment * typo fixed * rm empty line * removed relict module * layout fix * adjusted unrelated method call * fixed package inkonsistence * Use flow instead of livedata in non-ui * better fun naming * Replaced interface with inline listener * Improved SettingsCrashReportDetailsFragment and SettingsCrashReportViewModel, formatting adjusted * cleaned converter * Delete Project.xml * added log statement to DefaultBugRepository * adjusted magical number * Use CommonConverters instead of unique Converters in BugDatabase * Extension function for the resuce -defaultBugRepository * removed FormatterCrashReport completly * changed long to UUID * satisfy buggy ktlint checks * Update SettingsCrashReportViewModel.kt use postvalue * avoid passing viewmodel * store appVersionCode as Long for beeing futuresave * Update SettingsCrashReportViewModel.kt removed lazy init * Changed BugDatabase to factory pattern Co-authored-by:
Matthias Urhahn <matthias.urhahn@sap.com> Co-authored-by:
harambasicluka <64483219+harambasicluka@users.noreply.github.com>
-
- Sep 18, 2020
-
-
Matthias Urhahn authored
This reverts commit 6054bf57.
-
Jakob Möller authored
* Added first set of country flags Signed-off-by:
Kolya Opahle <k.opahle@sap.com> * Added first implementation of Submission Country Selection Screen. (Currently not part of nav graph). Moved stuff inside of submission package into subpackages Signed-off-by:
Kolya Opahle <k.opahle@sap.com> * Added missing changes to nav_graph file * Test Menu options for Country selection and Measurement (EXPOSUREAPP-2229) (#1086) * Implement country filter (#2229) * Implement measure for Risk calculation and Key Retrieval (#2229) * Some code cleanup for measureRiskLevelAndKeyRetrieval * Some code cleanup (#2229) * Implement usage of AppConfig usage for country codes (#2229) * change CURRENT_COUNTRY val to var * Suppress "LongMethod" warning (#2229) * Adjust unit tests to respect new country filter * Align with backend for app config country property name * Display total file size of keys in results (#2229) * Fix linting issue * Update strings.xml files * Do refactoring and some code clean up * Move RiskLevel and Key retrieval measurement in own class * Move code in logical classes. Remove translation in test fragment * Fix linting and Unit tests * Remove 3hour boolean check from debug class. * Refactor CountryWrapper and missing dates check. * Fix linting and Unit tests * Add Unit test for getMissingDates * Code cleanup * Hide keyboard on action * Extend statistics for api submission * Set callback to null after invoked Co-authored-by:
Mert Safter <mert.safter@sap.com> Co-authored-by:
Matthias Urhahn <matthias.urhahn@sap.com> * Overhaul of DiagnosisKey related Download and Caching Mechanisms (EXPOSUREAPP-2469) (#1136) * Rework of keyfile download and caching. * Supports interop * More modular for better testing and build flavour based behavior adjustments * More resilient handling of failed downloads * Preperations for future hourly download and serverside checksums TODO: Finish unit tests, keycache migration and cache health check * First batch of unit tests and some fixes for incorrect behavior that the tests surfaced. * Added unit tests for the KeyCacheRepository TODO: Tests for downloader and migration. * Implemented POC for migration old key files. * Fixed legacy file migration and cleanup, improved logging. * Added unit tests for legacy key file migration. * Add fallback for different file hashes in the header. * Yes kLint, we know it's a long method, but for this it's better to read it in one block vs jumping to extra methods. * More linting issues, adjusting project code style prevent a few of these in the future. * Added missing unit tests for `KeyFileDownloader` and fixed faulty behavior that was noticed during testing. * CRUD (instrumentation) test for `KeyCacheDatabase` * Remove unused `FileStorageHelper` and related constants+tests. * Fix last3Hours unit test in deviceRelease mode, we need to explicitly enable debug for these tests. * Until we have more information about the hashsum's format in the header, default to `ETag * Split app config server API from diagnosis key download API, and reintroduce caching for the app config download. * Add test to check that the cache is used on flaky connections. * Code changes based on PR comment, part #1. * Code fluff, formatting. * Handle download errors correctly. * Refactoring: * Remove unnecessary `currentDate` we always start with the newest date from the servers index. * Make a specialised class for header validation * Let legacy cache migration abort early, depending on whether the key dir exists. * If we can't create the base directory for the key repo, throw an exception. * Delete cache entry if a download fails. * Fixed test regression due to refactoring. * Consolidate staleness check into `getStale` * Consolidate clean up for failed downloads into the download method. Added tests to check that we delete the keycache entry if the download fails (which we didn't for hours :O!) * Because the hour-mode uses caching too, we add an explicit button to the test menu that clears the cache. * Add comment with reference to ticket regarding follow up on the other headers. * Move expected storage size per country into a named constant. Co-authored-by:
Matthias Urhahn <matthias.urhahn@sap.com> * Implementation of tests for the interoperability countries selection screen (EXPOSUREAPP-2439) (#1140) * Added initial set of viewModel tests Signed-off-by:
Kolya Opahle <k.opahle@sap.com> * Fail tests on unexpected null. Co-authored-by:
Matthias Urhahn <matthias.urhahn@sap.com> Co-authored-by:
Kolya Opahle <k.opahle@sap.com> Co-authored-by:
apopovsap <66370584+apopovsap@users.noreply.github.com> Co-authored-by:
Mert Safter <69803294+MertSafter@users.noreply.github.com> Co-authored-by:
Mert Safter <mert.safter@sap.com> Co-authored-by:
Matthias Urhahn <matthias.urhahn@sap.com> Co-authored-by:
Matthias Urhahn <darken@darken.eu>
-
- Sep 11, 2020
-
-
Matthias Urhahn authored
* Rework of keyfile download and caching. * Supports interop * More modular for better testing and build flavour based behavior adjustments * More resilient handling of failed downloads * Preperations for future hourly download and serverside checksums TODO: Finish unit tests, keycache migration and cache health check * First batch of unit tests and some fixes for incorrect behavior that the tests surfaced. * Added unit tests for the KeyCacheRepository TODO: Tests for downloader and migration. * Implemented POC for migration old key files. * Fixed legacy file migration and cleanup, improved logging. * Added unit tests for legacy key file migration. * Add fallback for different file hashes in the header. * Yes kLint, we know it's a long method, but for this it's better to read it in one block vs jumping to extra methods. * More linting issues, adjusting project code style prevent a few of these in the future. * Added missing unit tests for `KeyFileDownloader` and fixed faulty behavior that was noticed during testing. * CRUD (instrumentation) test for `KeyCacheDatabase` * Remove unused `FileStorageHelper` and related constants+tests. * Fix last3Hours unit test in deviceRelease mode, we need to explicitly enable debug for these tests. * Until we have more information about the hashsum's format in the header, default to `ETag * Split app config server API from diagnosis key download API, and reintroduce caching for the app config download. * Add test to check that the cache is used on flaky connections. * Code changes based on PR comment, part #1. * Code fluff, formatting. * Handle download errors correctly. * Refactoring: * Remove unnecessary `currentDate` we always start with the newest date from the servers index. * Make a specialised class for header validation * Let legacy cache migration abort early, depending on whether the key dir exists. * If we can't create the base directory for the key repo, throw an exception. * Delete cache entry if a download fails. * Fixed test regression due to refactoring. * Consolidate staleness check into `getStale` * Consolidate clean up for failed downloads into the download method. Added tests to check that we delete the keycache entry if the download fails (which we didn't for hours :O!) * Because the hour-mode uses caching too, we add an explicit button to the test menu that clears the cache. * Add comment with reference to ticket regarding follow up on the other headers. * Move expected storage size per country into a named constant. Co-authored-by:
Matthias Urhahn <matthias.urhahn@sap.com>
-
- Jun 07, 2020
-
-
Jakob Möller authored
Integrate Schema Export for Upgrade Possibilities and Fallback Behavior for DB Migration Failure (#251) Signed-off-by:
d067928 <jakob.moeller@sap.com> Co-authored-by:
Hee Tatt Ooi <hee.tatt.ooi@sap.com>
-