- Nov 05, 2020
-
-
Matthias Urhahn authored
* CodeStyle needs to be part of the project. * Correct XML formatting.
-
- 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 17, 2020
-
-
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:
Matthias Urhahn <matthias.urhahn@sap.com>
-
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:
Matthias Urhahn <matthias.urhahn@sap.com>
-
Oliver Zimmerman authored
* initial commit of new fragment for symptom screen * Added relevant strings for symptom screen. Started editing xml of initial symptom screen * Addded 3 selection options within symptom screen * button id name change to something more relevant * ID changes to be something more relevant to symptom scenerio. * Implemented symptom initial screen logic. Temporary nav for testing. * CircleCI formatting * Adapted interoperability test provided by apopov * Added accessibilty announcement on resume, fixed navigation for main page * circleCI indentation fix * removed ar & ru and updated default strings * Adaption to ViewModel logic. Not yet complete Adaption to ViewModel logic, attempting to align with implementation done with some interoporibility tasks: reusable layout files, etc. * More ViewModel transformation additions * revert nav from test. Circle CI formatting changes * Update SubmissionSymptomIntroductionFragment.kt * Removed old fragment based test * Will implement navigation during marry session. * Update SubmissionViewModel.kt * Calendar button selection screen + required strings * Custom calendar view * Accessibility improved * introduced data types for symptoms * represent date by long in millis * new TransmissionRiskVector * Constants and formatting * Naming changes requested * Better event naming * Update fragment_submission_symptom_intro.xml * Finishing calendar implementation - still need to implement calendar widget Surrounding calendar submission UI - minus calednar widget Necessary strings * Merged introduction and calendar screen. Created calendar fragment screen, Finished calendar XML view Added required entries for choices in SubmissionViewModel Adjusted Formatters for button selection. Changed nav graph. * + todo * CircleCI code style changes * EXPERT STUFF * Latest push for marry session * replaced transaction risk vector * update textcolor on symptom indication change * update buttons by code * code formatting * Added logic for Negative and No Information buttons and adjusted xml view to be more aligned with design Added logic for Negative and No Information buttons and adjusted xml view to be more aligned with design * disable next button when state is null. * + readability * Calendar screen logic adapted for button selection * extracted domain logic from prototype and from transaction * - not used events * joint improvements * removed unused events * Calendar unsetSelection added * detekt rules changed and formatting * - calendar view refactor: CalendarCalculator singleton introduced for batter testing capacity - unit tests added * detekt issues * Colors and styles cleared * fixed strings * maintained unit tests * adopted changes from main nav graph to device for testers nav graph * reverted comment * made start of symptoms nullable * tests * Adjusted navigation, fixed dark theme * Update Project.xml * use of postValue() in SubmissionViewModel.kt * Added direction in tester nav graph * improvements required by review * moving companion * moving companion * moving companion * fixed issues from partner review * fixed issues from partner review * fixed issues from partner review * fixed issues from partner review * fixed issues from partner review * using utc * edge case tests * made inner class * Refactored Symptoms Class Name (+data class) * Change SubmissionViewModel scope to ensure that the same viewmodel is used to store submission data. * extracted null check + log Co-authored-by:
Luka Harambasic <luka.harambasic@sap.com> Co-authored-by:
chris-cwa <chris.cwa.sap@gmail.com> Co-authored-by:
Alexander Alferov <a.alferov@sap.com> Co-authored-by:
harambasicluka <64483219+harambasicluka@users.noreply.github.com> Co-authored-by:
Matthias Urhahn <darken@darken.eu> Co-authored-by:
Matthias Urhahn <matthias.urhahn@sap.com>
-
- 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>
-
- Sep 01, 2020
-
-
Oliver Zimmerman authored
* Removed blanked internet connection UI state. New Dev base for pipeline issues Removed the blanket internet connection status: Removed the connection state from TracingStatusHelper Adjusted formatters which use the adjusted TracingStatusHelper Removed connection logic from various fragments (SettingsTracingFragment, etc.) Adjusted XML views (Settings Fragment: no connection card, etc.) Adjusted automated tests that previously included the connection state. Closes JIRA task EXPOSUREAPP-1572 * Update FormatterSettingsHelperTest.kt * Update fragment_main.xml deviceForTesters was still using connection state. * Update Project.xml * Update FormatterSettingsHelperTest.kt Co-authored-by:
harambasicluka <64483219+harambasicluka@users.noreply.github.com>
-
- Aug 26, 2020
-
-
Matthias Urhahn authored
* Disable klint debug output to make it easier to find the actual error in the log. * Setup jUnit5 & kotest. * Add base classes for testing to setup log output. * Introduce class `DeviceStorage` to check (or request on newer APIs) free space. Rel. EXPOSUREAPP-2259 * Add test cases for failure modes. * Make it obvious that the check should not be executed on the ui thread. * Try fall back to legacy method if the API26+ version fails. If that also fails, throw the exception and let the caller handle it. * Wire up injection annotations. * Remove unused mockito testing dependency. * klint... Co-authored-by:
Matthias Urhahn <matthias.urhahn@sap.com> Co-authored-by:
Jakob Möller <jakob.moeller@sap.com>
-
- Aug 24, 2020
-
-
Matthias Urhahn authored
* Ship a common codeStyle that matches KLint. * The config for newlines at end of files should also have a new line at it's end :D. Co-authored-by:
Matthias Urhahn <matthias.urhahn@sap.com> Co-authored-by:
Jakob Möller <jakob.moeller@sap.com>
-