- Jan 05, 2021
-
-
Mohamed Metwalli authored
-
Mohamed Metwalli authored
-
Mohamed Metwalli authored
-
Mohamed Metwalli authored
-
- Jan 04, 2021
-
-
Mohamed Metwalli authored
-
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>
-
Mohamed Metwalli authored
-
Mohamed Metwalli authored
-
Mohamed Metwalli authored
-
- Dec 31, 2020
-
-
Mohamed Metwalli authored
-
Mohamed Metwalli authored
-
- Dec 30, 2020
-
-
Mohamed Metwalli authored
-
Mohamed Metwalli authored
-
Mohamed Metwalli authored
-
Mohamed Metwalli authored
-
Mohamed Metwalli authored
-
- Dec 29, 2020
-
-
Mohamed Metwalli authored
Add View assertion to make sure Fragment is already displaying its views to avoid capturing blank screenshots
-
Mohamed Metwalli authored
-
Mohamed Metwalli authored
-
Mohamed Metwalli authored
-
Mohamed Metwalli authored
-
- Dec 23, 2020
-
-
Matthias Urhahn authored
* Don't log all exposure windows on `RiskLevelTaskResult.toString()` due to performance impact when logging. * Add RiskLevelResult flow optimized for just getting the latest two results. * Share risk level result subscriptions. The delay when switching from Home to RiskDetails fragment will be bridged and no re-loading necessary. * Fix test regressions * Remove test code. * Introduce specific query for "latestAndLastSuccessful". Add unit tests for SQL queries. * Fix test regressions due to missing mocking. * Address merge conflicts. * Fix instrumentation tests not building. Co-authored-by:
Ralf Gehrer <ralfgehrer@users.noreply.github.com>
-
- Dec 16, 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 10, 2020
-
-
Matthias Urhahn authored
* Draft: Split up test result fragment into pending and negative. * TODO pending fragment needs to forward automatically when the result is available * When do we check if tracing is enabled? * When we receive a non-pending test result while on the pending-result fragment, we forward automatically to the right screen. * Clean up pending test result layout. * Extract invalid test result fragment into it's own screen. * LINTs * Remove unused problematic API. * Fix merge regressions. * Address PR comments: Improve navigation.
-
- Dec 08, 2020
-
-
Oliver Zimmerman authored
* Removed SubmissionIntroFragment which is now unused. Also removed its unnecessary usages * Remove unused strings. * Removed includes * Added back required string. Co-authored-by:
Ralf Gehrer <ralfgehrer@users.noreply.github.com>
-
- 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
-
- Dec 02, 2020
-
-
AlexanderAlferov authored
* Your test result available screen * Formatting * Lint fix
-
- Nov 30, 2020
-
-
Oliver Zimmerman authored
-
- Nov 29, 2020
-
-
Oliver Zimmerman authored
-
- Nov 26, 2020
-
-
Chilja Gossow authored
* create fragment, viewmodel, layout * remove info fragment * clean up * navigation change * navigate to data privacy review comments * move text to legal_strings.xml test code * legal_strings.xml * remove lifecycle assignment as it is redundant
-
- Nov 20, 2020
-
-
Chilja Gossow authored
* create SubmissionSettings and add to SubmissionRepository * refactor DI * refactor testcode * refactoring and test code * klint * remove AssistedInject * split consent method Co-authored-by:
Matthias Urhahn <matthias.urhahn@sap.com>
-
- 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>
-
- Nov 11, 2020
-
-
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>
-
- Oct 30, 2020
-
-
Matthias Urhahn authored
* Initial refactoring on the Submission flow. Trimming down SubmissionViewModel.kt * Refactored submission tan, and began instrumentation tests. Intro, Dispatcher and Tan complete * Adapted instrumentation tests after merge - added ToDos * Completed boilerplate submission instrumentation tests. Verification and screenshots to follow * Fix lints * More lint issues. * Fix instrumentation test dependency missmatch. * Move screenshot related permissions into a debug AndroidManifest.xml, such that they don't get included in production builds. * Added missing new line to manifest Co-authored-by:
Oliver Zimmerman <oezimmerman@gmail.com> Co-authored-by:
Kolya Opahle <k.opahle@sap.com> Co-authored-by:
harambasicluka <64483219+harambasicluka@users.noreply.github.com>
-
- Oct 19, 2020
-
-
Matthias Urhahn authored
* Introduced `TracingCardState` and `TracingDetailsState`. Removed all direct viewmodel/livedata access from all nested layouts for `TracingViewModel`. Removed `FormatterRiskHelper`. Introduced logic to reactively update the UI state if bluetooth, location or tracing state changes. TODO: * Finish tests in TracingCardStateTest.kt and TracingDetailsStateTest.kt * Finish TracingDetailsViewModel.kt and TracingCardViewModel.kt * Remove obsolete dependencies on TracingViewModel.kt and singletons RiskLevelRepository.kt, TracingRepository.kt * Breakthrough, cards update again. * Further cleanup of TracingViewModel.kt, TracingRepository.kt Still not quite there yet, too many calls going into every direction, back and forth, instead of just top->down, but we are getting there. We want data flow from business logic code to the UI, keep the UI KISS. * Update TracingCardState tests to account for changes * More refactoring, TracingViewModel.kt is now finally gone. * Fix risk details card, we reuse the cardviewmodel but need to overwrite the `showDetails` flag depending from where it's used. * Refactored several properties (notification related) out of SettingsViewModel/Repository * Fix injection * Refactoring submission related databinding code on the home fragment * Make TracingRepository.kt injectable and change viewmodel scoping for refresh calls to app scope. * Remove additional formatter calls from submission cards on home screen. * Refactored additional SubmissionViewModel logic into SubmissionRepository on the Homescreen. First UI Test is now passing. Simplified ViewModel instantiation related code. Prepared HomeFragment for smoother UI state changes, less reloading. * Improved home,tracing-details and tracing-settings loading behavior, less flickering. Fixed LiveData value assignment on background-thread. * New reactive provider for Bluetooth and Location status. Cleaned up ConnectivityHelper.kt partially. * Implement remaining tests, batch 1. * Implement remaining tests, batch 2. * Fix lint issues. * Removed a few codesmells and code duplication. Introduced Flow.shareLatest(...) * Removed unused parameters. * LINT fixes. * Fix unit test failing due to missing mocks. * Address PR comments. * Improve UI loading states, remove flickering. * Remove log spam due to polling values, add extra abort condition that checks for cancellation. Co-authored-by:
ralfgehrer <mail@ralfgehrer.com>
-
- Oct 14, 2020
-
-
Alex Paulescu authored
* Added MVVM and DI to OnboardingFragment * Refactored OnboardingFragment to work with MVVM and DI * Refactored OnboardingPrivacyFragment to work with MVVM and DI * Moved navigation functions from OnboardingTracingFragment to VM * Refactored OnboardingTestFragment to work with MVVM and DI * Refactored OnboardingNotificationsFragment to work with MVVM and DI * Added ktlintFormat changes * Added intstrumentation tests skeleton for each fragment in Onboarding flow * Removed unused import * Changed Onboarding fragment top constraint * Removed unnecessary VM declaration from layouts * Added requested changes * Added new lineat end of files Co-authored-by:
harambasicluka <64483219+harambasicluka@users.noreply.github.com> Co-authored-by:
Matthias Urhahn <matthias.urhahn@sap.com> Co-authored-by:
Ralf Gehrer <ralfgehrer@users.noreply.github.com>
-
- Oct 07, 2020
-
-
Matthias Urhahn authored
Introduce VM injection for home screen and enable screen testing (EXPOSUREAPP-2946, EXPOSUREAPP-2948) (#1320) * Rename "MainFragment" to "HomeFragment" Add VM injection. Move initial logic into VM. TODO: Move more code, write more tests. * Additional refactoring, moving logic out of the Fragment. Moving code into their own encapsulated routines/components. Use composition to reuse TracingViewModel, SettingsViewModel and SubmissionViewModel * Introduce @AppContext annotation to prevent anyone mistaking it for something else. * Add VM to RiskDetailsFragment * Simplify nested viewmodels, here: TracingViewModel.kt * Add skeletons instrumentation test skeleton for single fragments with injection and mocking. * Address PR comments. * Introduce sealed events class, + some refactoring. * Make the linter happy.
-
- Oct 01, 2020
-
-
Matthias Urhahn authored
* Fix unreliable test. Random could be randomly 0 which would fail the test. * Create types for buildflavors to prevent string comparison. Use these build variants for specific tests. * Don't assign the times variable to a final value as it breaks tests. Until refactored, it's okay to recalculate this. * Remove a few sonar code smells. * Fix broken instrumentation test for key verification. Add matching binary, signature and pubkey from pod.
-
- Sep 18, 2020
-
-
Matthias Urhahn authored
This reverts commit 6054bf57.
-