Skip to content
Snippets Groups Projects
  1. Sep 18, 2020
    • Matthias Urhahn's avatar
      Revert "Interoperability to 1.5.X (#1173)" · c419ae66
      Matthias Urhahn authored
      This reverts commit 6054bf57.
      c419ae66
    • Jakob Möller's avatar
      Interoperability to 1.5.X (#1173) · 6054bf57
      Jakob Möller authored
      
      * Added first set of country flags
      
      Signed-off-by: default avatarKolya 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: default avatarKolya 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: default avatarMert Safter <mert.safter@sap.com>
      Co-authored-by: default avatarMatthias 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: default avatarMatthias 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: default avatarKolya Opahle <k.opahle@sap.com>
      
      * Fail tests on unexpected null.
      
      Co-authored-by: default avatarMatthias Urhahn <matthias.urhahn@sap.com>
      
      Co-authored-by: default avatarKolya Opahle <k.opahle@sap.com>
      Co-authored-by: default avatarapopovsap <66370584+apopovsap@users.noreply.github.com>
      Co-authored-by: default avatarMert Safter <69803294+MertSafter@users.noreply.github.com>
      Co-authored-by: default avatarMert Safter <mert.safter@sap.com>
      Co-authored-by: default avatarMatthias Urhahn <matthias.urhahn@sap.com>
      Co-authored-by: default avatarMatthias Urhahn <darken@darken.eu>
      Unverified
      6054bf57
  2. Sep 17, 2020
    • Matthias Urhahn's avatar
      Reduce boilerplate code for fragment view setup (#1161) · 0676ab79
      Matthias Urhahn authored
      
      * Reduce boilerplate code for fragment view setup.
      
      * Fix klint issue + change codestyle to match klint.
      
      * Fixed regressions in `MainFragment` in `device` buildflavor
      
      * Fix kotlin upgrade regression
      
      * Disable KotlinNothingValueException in Kotlin 1.4 until kotest/mockk can handle it.
      
      * Make "binding.lifecycleOwner = this" automatic.
      
      * Addressed PR comments.
      
      * build issue to due mixing branches
      
      Co-authored-by: default avatarMatthias Urhahn <matthias.urhahn@sap.com>
      Unverified
      0676ab79
    • Matthias Urhahn's avatar
      Introduce ViewModel Injection (#1151) · e8320fdf
      Matthias Urhahn authored
      
      * DI: ViewModel (VDC) injection wiring + example in TestRiskLevelCalculation.kt
      
      * Refactoring the TestRiskLevel fragment to demo our new viewmodel approach. Part1
      
      * Refactoring the TestRiskLevel fragment to demo our new viewmodel approach. Part2
      
      * Fix `Unexpected indentation (expected 4, actual 8)`
      
      * Code fluff
      
      * klint
      
      * Remove empty test + klint
      
      * Rename VDC to CWAViewModel
      
      * Add example unit tests for the TestFragment's ViewModel.
      
      * Revert AppInjector renaming.
      
      * Comments explaining the code.
      
      * Rename class to make it's purpose less confusing.
      
      * Revert "Rename class to make it's purpose less confusing."
      
      This reverts commit c80298bb
      
      * Rename class to make it's purpose less confusing.
      
      * Simpler ViewModel Injection example.
      
      * klint <3
      
      Co-authored-by: default avatarMatthias Urhahn <matthias.urhahn@sap.com>
      Unverified
      e8320fdf
  3. Sep 14, 2020
  4. Sep 02, 2020
  5. Sep 01, 2020
  6. Aug 27, 2020
  7. Aug 26, 2020
  8. Aug 19, 2020
  9. Aug 12, 2020
  10. Aug 07, 2020
    • Philipp Woessner's avatar
    • Fabian-K's avatar
      plausible deniability (#946) · f98ac2dd
      Fabian-K authored
      * Added requestPadding property to all VerficationService requests
      
      * Added fake calls to the WebReqeustBuilder
      
      * :construction:
      
       initial draft to enable plausible deniability
      
      * Switched from SubmissionConstants to KeyType enum everywhere
      
      * basic playbook implementation with fake and real requests
      
      * Playbook
      - ensure request pattern for playbooks is always the same
      
      VerificationService
      - apply padding to ensure equal request size (header & body)
      
      SecurityHelper
      - extract hash256 to HashHelper. This simplifies tests that use only the hash function (and therefore don´t need to initialize SecurityHelper and its dependencies)
      
      * Implemented random chance of dummy playbook execution on app open
      
      Signed-off-by: default avatarKolya Opahle <k.opahle@sap.com>
      
      * Playbook
      - ignore exceptions for fake requests
      
      SubmissionService
      - add padding header to fake request for same header size
      
      WebRequestBuilder
      - include fake keys in upload (:construction_site:
      
      )
      
      * DiagnosisKeyService: removed (low value & difficult to test)
      
      SubmissionService & SubmitDiagnosisKeysTransaction
      - inline playbook & backgroundNoise property to prevent issues during testing
      
      DiagnosisKeyConstantsTest, SubmissionServiceTest, SubmitDiagnosisKeysTransactionTest & SubmissionViewModelTest
      - adjusted to changes
      
      * Dummy playbook will now be repeated and delayed randomly
      
      Signed-off-by: default avatarKolya Opahle <k.opahle@sap.com>
      
      * Linting
      
      Signed-off-by: default avatarKolya Opahle <k.opahle@sap.com>
      
      * Initial Code for background noise worker
      
      Signed-off-by: default avatarKolya Opahle <k.opahle@sap.com>
      
      * First implementation of noise background worker
      
      Signed-off-by: default avatarKolya Opahle <k.opahle@sap.com>
      
      * Linting
      
      Signed-off-by: default avatarKolya Opahle <k.opahle@sap.com>
      
      * PlaybookImpl
      - ensure that fake requests are executed when real requests fail
      
      SubmissionService & VerificationService
      - adjust header name for padding
      
      WebRequestBuilder
      - add padding to dummy submission
      
      * BackgroundNoise is now trigger-only
      
      PlaybookImpl
      - include follow-up executions after every playbook
      - logging
      
      SubmissionViewModel.kt, SubmissionService.kt, SubmitDiagnosisKeysTransaction.kt, MainActivity.kt, BackgroundNoisePeriodicWorker.kt, DiagnosisTestResultRetrievalPeriodicWorker.kt
      - propagate context for coroutine
      
      VerificationService
      - ensure body size of 1000
      
      * WebRequestBuilder.kt
      - adjust fake key generation
      
      PlaybookImplTest.kt
      - remove unused server.enqueue
      
      SubmissionService.kt 6 SubmitDiagnosisKeysTransaction.kt
      - remove commented out code
      
      * revert temporary changes to SubmissionResultPositiveOtherWarningFragment.kt
      
      * Background job scheduling implemented
      
      Signed-off-by: default avatarKolya Opahle <k.opahle@sap.com>
      
      * - adjust fake key size
      - remove temporary comment
      
      * Moved build work calls to own file to fix linting
      
      Signed-off-by: default avatarKolya Opahle <k.opahle@sap.com>
      
      * - initialize coroutine scope within the playbook, revert passing it from outside
      - remove experimental test dependency for coroutines
      
      * - use single endpoint per server for fake requests
      - reduce request size from 1000 to 250 for the verification server
      - include dummy registration token in fake request to fulfill verification on server side
      - prepare for randomized count of submitted keys
      - always include headers cwa-authorization & cwa-header-padding for submission server
      
      * - simplify empty header using constant
      
      Co-authored-by: default avatarKolya Opahle <k.opahle@sap.com>
      Unverified
      f98ac2dd
  11. Jul 30, 2020
  12. Jul 22, 2020
  13. Jul 21, 2020
  14. Jul 15, 2020
  15. Jul 13, 2020
  16. Jul 10, 2020
  17. Jul 07, 2020
  18. Jul 06, 2020
  19. Jul 02, 2020
  20. Jun 22, 2020
  21. Jun 20, 2020
  22. Jun 19, 2020
  23. Jun 17, 2020
  24. Jun 15, 2020
  25. Jun 13, 2020
  26. Jun 12, 2020
Loading