- Jan 11, 2021
-
-
Matthias Urhahn authored
-
- Jan 08, 2021
-
-
Chilja Gossow authored
Co-authored-by:
Ralf Gehrer <ralfgehrer@users.noreply.github.com>
-
Matthias Urhahn authored
Remove @dimen/match_constraint as it will be replaced by tooling with 0dp whenever used and thus adds noise. (#2055)
-
- Jan 07, 2021
-
-
Matthias Urhahn authored
* Initial draft for user accessible debug logs in production. TODO: Sharing, Tests, Cleanup FileLoggerTree? * Ready strings for translation. * Log file compression for sharing (zip). * Add log sharing * Change how DebugLogger is initialized to make sure we can record issues that happen very early in the apps lifecycle. * Add missing toolbar back arrow navigation. * Fix initial delay for ui state emissions. * Censor registration token. * Adjust warning regarding sensitive data in debug logs. * Use property injection instead of component getters. * Hide option until greenlit. * Add test for RegistrationTokenCensor * Unit tests. * Make unit test without triggerfile more specific. * LINTs * Fix missing injection provider in release mode. * Fix regtoken censor if condition. * Fix typos. * Remove empty manifest specific to deviceForTesters build. * Wait until log job is canceled before deleting log files. Otherwise a race condition could lead to file creation after job cancellation. * Replace runBlockingTest with runBlocking we don't need scheduler control and runBlockingTest is sometimes unreliable. * Refactor FileSharing to use compat builder from androidx. * Handle exceptions on debug log start() * Print device infos when log is started. * Text changes requested by UA Co-authored-by:
ralfgehrer <mail@ralfgehrer.com>
-
- Dec 23, 2020
-
-
Matthias Urhahn authored
* Let the AppConfig validity check use absolute values, to support device time check behavior. * Add mapping for "disable-device-time-check" to app config. * Show popup dialog if the device time is invalid. * Remove extra retrofit cache (use only LocalAppConfigSource.kt) * Exposure device time check * Reset user acknowledgement * LINTs * Add test menu option to disable device time check via affecting the config mapping. * Download, but don't submit keys if device time is incorrect. Abort risk level calculation if time is incorrect. * Due to multiple properties in ConfigData affecting `isDeviceTimeCorrect`, make it a body property and don't allow overriding via constructor. * Add unit test for test settings affecting the device config only in tester builds. * Show notification regarding incorrect time when device is in the background. * Fix test regressions and add additional test cases for download and risk task abort conditions on incorrect device time. * Fix merge regressions. * Add time unit to log statement. * Fix incorrect time dialog showing in a loop when entering leaving the home screen. * Remove unused code path for clear(). * Print additional timestamps to help debugging efforts in the future.
-
Rituraj Sambherao authored
* Text Color changed * Text Color changed for calendar screen * removing build.gradle changes that carried over from 1.10 * lint fix * adapt color scheme to be consistent and high contrast * klint Co-authored-by:
Ralf Gehrer <ralfgehrer@users.noreply.github.com> Co-authored-by:
Chilja Gossow <49635654+chiljamgossow@users.noreply.github.com> Co-authored-by:
chilja <chiljamgossow@gmail.com>
-
- Dec 22, 2020
-
-
Matthias Urhahn authored
* Refactor home-screen and tracing details fragment. * Use recycler view to display list items * Remove nested/included layouts and make Android Studio layout previews functional * Split list items into independent elements (positive/negative/pending) * Layout cleanups & flattening * Small padding and alignment fixes * Clean up tests and fix class names. * Move UI classes towards "package by feature", each feature has their own ui package. * LINTs * Fix log statements. * Only crash in tester builds. * Update Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/home/HomeAdapter.kt Co-authored-by:
fynngodau <fynngodau@mailbox.org> * Refactor adapter init. * LINT * Remove "card" from property name, the "TracingStateProvider" is UI agnostic. * LINTs * Don't show the risk card if there is a positive test result. * Fix crash on init with unknown resource IDs (before data binding is available). * Fix progress card not being colored in risk details fragment * LINTs * Prepare viewholders for payload use. * Update Corona-Warn-App/src/main/res/layout/home_fragment_layout.xml Co-authored-by:
fynngodau <fynngodau@mailbox.org> * Improve toolbar and tracing bar behavior, scrollable, fewer nested layouts. * Adjust popup theme. * Remove color state list for cards, click behavior is done via `selectableItemBackground` * Fix visual artifact when expanding toolbar menu. * Align box coloring in dark mode and click animation. * Fix flickering Test and FAQ card. * Fix missing "enable tracing" button in home card. * Fix risk/tracing details elevation/dividers in light and dark mode * Resolve merge regressions and include contact diary card via recyclerview. * Adjust toolbar background color to new mockups (diary mockups have lighter darkmode). * Update Corona-Warn-App/src/main/res/layout/home_card_container_layout.xml Co-authored-by:
fynngodau <fynngodau@mailbox.org> * Update Corona-Warn-App/src/main/res/layout/tracing_content_failed_view.xml Co-authored-by:
fynngodau <fynngodau@mailbox.org> * Tint card background color. Just replacing the background didn't ahve the desired effect. * Fix possible NPE on last encounter calculation. * LINTs and typos. Co-authored-by:
fynngodau <fynngodau@mailbox.org>
-
- Dec 17, 2020
-
-
AlexanderAlferov authored
* Data retention with test fragment and tests * Formatting * Minor fix * Removed unnecessary injection * Resolve merge conflicts * Adjusted Tasks with tests * Formatting * Refactoring
-
- Dec 10, 2020
-
-
Matthias Urhahn authored
* Fix TEK Storage item sorting. * Remove legacy test fragment, add necessary features to other fragments. * LINTs Co-authored-by:
Ralf Gehrer <ralfgehrer@users.noreply.github.com>
-
- Dec 08, 2020
-
-
Matthias Urhahn authored
* Add email share feature to submission test menu. * LINTs * Fix duplicate TEK history calls. * LINTs * Fix TEKStorage live update and adjust export format. * Fix LINT
-
- 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
-
-
Rituraj Sambherao authored
* Andere Warnen screen added * Merge conflict resolve and screen stability improvement * string text header added to ensure translation * using submitTaskState instead of API request state * onDataPrivacyClick() function added in the relevant viewModel * long strings divided * legal strings updated * added navigation to mainfragment removed unnecessary cases fixed colors for under16 layout fixed country list in layout added onDataPrivacyClick method in own ViewModel refactored color value * minor changes in navigation
-
- Dec 01, 2020
-
-
Matthias Urhahn authored
* Remove "lastTimeDiagnosisKeysFromServerFetch" and replace it with less missleading data. While it was called "lastTimeDiagnosisKeysFromServerFetch" it was actually "last time we submitted keys to google". * To decide whether to refresh in "onResume", we now use "has there been any submission to the ENF?" * To display a timestamp on the risk card, we take the last successful submission to the ENF as the risk card displays the calculation results based on the latest submission. While we could use the last calculated risk level result timestamp, we currently also trigger risk calculations if there are no new submissions to the ENF, which would mean the timestamp is updated even though the result is not based on new data. I've also fixed the test fragment button behavior and added descriptions, the "Reset risk level" button surfaced the initial issue because it behaved like a "do a 75% data reset" button. * Tests and LINTs Co-authored-by:
harambasicluka <64483219+harambasicluka@users.noreply.github.com> Co-authored-by:
Ralf Gehrer <ralfgehrer@users.noreply.github.com>
-
- Nov 25, 2020
-
-
BMItter authored
* preparation share exposureWindows via email etc. - wip * Exposure Windows can be shared if data is availabe * Manifest and provider path deviceForTesters only * fixed strange conflicts * klint * Pretty exposure window export * removed testlog * removed relicts
-
- Nov 24, 2020
-
-
Matthias Urhahn authored
-
Matthias Urhahn authored
-
- Nov 20, 2020
-
-
chris-cwa authored
* updated test api fragment to display exposure windows * do not show dummy text on device * removed it
-
- Nov 19, 2020
-
-
Matthias Urhahn authored
-
BMItter authored
* Show aggregated risk result in testmenu riskCalculationFragment * Use extention fun to build string for aggregated result * Show exposure window count and exposure windows as json + fixed a layoutbug with cut off * satisfy lint * Use real values * Connected ExposureResultStore * ENF v2 Calculation adjusted Testmenu Entry for v2 * Adjusted to ExposureResultStore changes * Added logs * Removed and adjusted some old stuff * Made backend parameters a little bit better readable * its better this way * Created additional risk calc info * Refactoring * sourcecheck clean
-
- Nov 16, 2020
-
-
Kolya Opahle authored
Cannot delete tests older than 21 days - DE: Tests die älter als 21 Tage sind, können nicht gelöscht werden (EXPOSUREAPP-2398) (#1586) * 1. Replaced redundant uiStateState during test result fetch with a NetworkRequestWrapper that is able to represent multiple states. This allows for better request state handling throughout the app 2. Completely removed the SubmissionViewModel 3. Failure to fetch the test should now always display the invalid test card on the home screen Signed-off-by:
Kolya Opahle <k.opahle@sap.com> * Keep displaying fetching card on server errors as this usually does not indicate any problems with the test itself Signed-off-by:
Kolya Opahle <k.opahle@sap.com> * Fixing unit tests (mostly just syntax, one test case changed due to new card) Signed-off-by:
Kolya Opahle <k.opahle@sap.com> * Promoted unknown host exception to server exception Co-authored-by:
chris-cwa <69595386+chris-cwa@users.noreply.github.com> Co-authored-by:
harambasicluka <64483219+harambasicluka@users.noreply.github.com>
-
Matthias Urhahn authored
Co-authored-by:
Kolya Opahle <k.opahle@sap.com> Co-authored-by:
harambasicluka <64483219+harambasicluka@users.noreply.github.com>
-
- 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>
-
- Nov 05, 2020
-
-
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>
-
- 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>
-
- Oct 27, 2020
-
-
Matthias Urhahn authored
* Two new progress states for the risk card+details. * Add unit tests for new card states. * Flatten UI of risk card to improve layouting performance on slow devices. * Remove stale strings from other translations. * UX wants the ... ¯\_(ツ)_/¯ 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 15, 2020
-
-
Matthias Urhahn authored
* Switch 3 to 24 hour mode * Fix incorrect toast message. * Create `TestSettings` class. * Adjust test to handle 24 hour mode. * Adjust test to check for day rollover in hourly keypkg mode. Co-authored-by:
Ralf Gehrer <ralfgehrer@users.noreply.github.com>
-
- Oct 13, 2020
-
-
Matthias Urhahn authored
* tasks wip * Additional work on task controller skeleton code. * Further refactoring iterations on the new task system interfaces. * Further refactoring iterations on the new task system interfaces. * Remove enum key type and replace with TaskRequest class * Move the config interface into the factory show make clear what the relation here is. * * Remove the task ID from the public interface, there is currently no need to expose it. Interested parties use the request's ID to find their task data. * Throw a defined exception (early) if we submit a task for which there is no factory hooked up. * Finished unit tests for TaskController * Small adjustments to the public TaskController interface * Task typing should not be based on the request types, this allows TaskRequests to be subclassed without shooting yourself in the foot by unexpectedly breaking the type checks. * Lints * Verify factory call order. * Lints * Add test menu entry for the TaskController * Address PR comments. * Fix flaky tests. * Address PR comments. * Fix dagger graph in deviceRelease mode, wrong file name ending. Co-authored-by:
chris-cwa <chris.cwa.sap@gmail.com> Co-authored-by:
harambasicluka <64483219+harambasicluka@users.noreply.github.com>
-
- Oct 02, 2020
-
-
Matthias Urhahn authored
* Remove code duplication between different flavors. Remove extra MainFragment and NavGraph. Introduce TestMenu indirection Add logic for splitting test code up into extra fragments. * Style list items a bit :) * fix lints * Detekt *hug* * We can only show the menu entry if we are actually on the right flavor, otherwise, in deviceDebug, we would not have access to the right resources. * Address PR comments * Fix wrong XML namespace.
-
chris-cwa authored
Legal Texts (EXPOSUREAPP-2954 , EXPOSUREAPP-2951, EXPOSUREAPP-2942, EXPOSUREAPP-2938, EXPOSUREAPP-2931, EXPOSUREAPP-2925, EXPOSUREAPP-2924, EXPOSUREAPP-2923, EXPOSUREAPP-2922, EXPOSUREAPP-2920, EXPOSUREAPP-2919, EXPOSUREAPP-2918, EXPOSUREAPP-2917) (#1270) * text body from EXPOSURE_APP 2740 * line breaks * - duplicate values * Interoperability: Make Changes to User Consent Text (Initial Onboarding) (EXPOSUREAPP-2938) (#1276) * 2938 updated legal strings in defaults, de & tr * added translatable false * updated german strings (#1278) * nex text for EXPOSUREAPP-2942 * Legal Textchange: Exposure Logging Screen (EXPOSUREAPP-2923) (#1280) * Legal Textchange: Home Screen - FAQ Section (EXPOSUREAPP-2922) (#1281) * Legal Textchange: Initial Onboarding (EXPOSUREAPP-2920) (#1282) * Legal Textchange: Test Result Screen (EXPOSUREAPP-2918) (#1283) * Legal Textchange: Info Screen (EXPOSUREAPP-2917) (#1284) * update string (#1288) * kEA-2942 * Legal Textchange: New Eula (Nutzungsbedingungen) (EXPOSUREAPP-2951) (#1285) * updated eula * updated tr & en eula with german * Interoperability: Changes to Data Privacy (EXPOSUREAPP-2954) (#1287) * Interoperability: Make Changes to User Consent Text (Key Upload) (EXPOSUREAPP-2942) (#1275) * 2942 - strings updated and added to new legal string file * removed tr strings, to fix circle ci error. * added translatable false * Follow up: Initital onboarding 3rd & 6th paragraph (EXPOSUREAPP-2920) (#1289) * updated & added strings * updated 6th paragraph * Legal Textchange: Cross Country Exposure Logging Screen (EXPOSUREAPP-2924) (#1279) * updated & added strings * text under countries added Co-authored-by:
Rituraj Sambherao <git.rituraj.sambherao@gmail.com> * Interoperability: Delta Onboarding (EXPOSUREAPP-2931, EXPOSUREAPP-2919) (#1277) * 2931 text update * move to legal text & update 2919 * delta onboarding text changes for initial text Co-authored-by:
Oliver Zimmerman <oezimmerman@gmail.com> * Legal Textchange: Delta Interop Screen (EXPOSUREAPP-2919) (#1294) * 2931 text update * delta onboarding text changes for initial text * Added new legal texts and navigation to terms. - adjused xml layout - added required strings - created navigation to legal terms in both nav graphs - created navigation in fragment * Update OnboardingDeltaInteroperabilityFragment.kt * Update OnboardingDeltaInteroperabilityFragment.kt Co-authored-by:
Luka Harambasic <luka.harambasic@sap.com> * fixed wrong implementation regrading user consent in warn others Co-authored-by:
harambasicluka <64483219+harambasicluka@users.noreply.github.com> Co-authored-by:
Rituraj Sambherao <git.rituraj.sambherao@gmail.com> Co-authored-by:
Oliver Zimmerman <oezimmerman@gmail.com> Co-authored-by:
Luka Harambasic <luka.harambasic@sap.com>
-
Matthias Urhahn authored
* Define environment for each flavor and build type. * Add smart LiveData class that does async initialization (not on the main thread). * View extensions setGone/setInvisible * Refactor test for api fragment. * Replace ALT environment with a list to select from. * klint * Fix tests * Fix tests * Further flaky test fixes. * Move the debug check for isLast3HourModeEnabled to the settings. The KeyFileDownloader.kt shouldn't be aware of that detail. The settings are what is affected by the build flavors/modes. * Code cleanup and UI improvement of fragment_test_for_a_p_i.xml * Code that retries flaky tests until we found a better solution. Not great, Not terrible... Co-authored-by:
Mert Safter <mert.safter@sap.com>
-
- Sep 29, 2020
-
-
Matthias Urhahn authored
* Move AppConfig related code into it's own package. * Use "files" instead of "cache" for storing our AppConfigApiTest. * Add "files" to "cache" migration. * Refactor CDN related code into an independent "environment module". TODO: UnitTests, Fallback behavior even if cached AppConfig is stale. * Further structure refactoring and unit test for app config cache migration. * Added config fallback behavior for all cases + additional tests. * Improve code readability. * First POC for multi-environment support. * logic for ACME test Countries toggle button in Dev menu * ACME Test Countries dev menu * Additional clean up and refactoring on build constants. * Cleaned up the test fragment a bit. * Fixed detekt issue * Fix flaky test that depends on build variant. * Let the test fragment show us the actual environment we toggled to. * Changes upon review * Address PR comments. Co-authored-by:
Rituraj Sambherao <git.rituraj.sambherao@gmail.com>
-
- Sep 23, 2020
-
-
Mert Safter authored
* Import flag assets. Create init CountrySelectionList and Fragment * Implement missing components. Create ViewModel and Repository for Interop * fix wrong property usage * Implement storage of selected countries * Implement warn dialog * Added navigation from country selection to tracing fragment * Fixed lint errors * Fix typo and build error * Move navigation out of onResume * Implement Warning dialog and do some code cleanup * Begin of onboarding for Interoperability. Fix linting issues * Implement onboarding for Interoperability (#1976) * Implement skip path of interop screen in onboarding (#1976) * Implement navigation logic for onBoarding (#1976) * Fix linting issues * Adjust country list and view to new UI (#2667) * Merge OnboardingTracingFragment with country list (#2665) * UI adjustments (#2665) * Fix linting issues * Implement Delta Onboarding logic (#2665) * Adjust interoperability screens to new UI (#2730, #2733) * Added navigation from country selection to tracing fragment * Fix merge issues with interoperability branch * Fix merge issues with interoperability branch * Fix merge changes with 1.5.x branch * Remove unused Formatter * Remove import of unused Formatter * Remove import of unused Formatter * Fix linting issue * Adjust UI to mock changes (#2730) * Adjust fragment binding to new solution and code cleanup * Adjust layout ids to guidelines. Comment strings.xml * Moved back navigation event to ViewModel * Move to DI and ViewModel navigation * Improve accessibility * Improve accessibility * Adjusted UI to updated mockups. Clean-Up of InteroperabilityRepository and LocalData * Refactoring and ViewModel use. * Make detekt happy. * Fix PR comments, typos, inline getString. * Fix refactoring typo Co-authored-by:
Alexandru.Paulescu <alexandru.paulescu@sap.com> Co-authored-by:
Matthias Urhahn <matthias.urhahn@sap.com> Co-authored-by:
Matthias Urhahn <darken@darken.eu>
-
- 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
* 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>
-
Matthias Urhahn authored
* New Scan Confirmation Texts Change (EXPOSUREAPP-2427) (#1097) Co-authored-by:
harambasicluka <64483219+harambasicluka@users.noreply.github.com> Co-authored-by:
Jakob Möller <jakob.moeller@sap.com> * New Strings for Risikobegegnung mit niedrigem Risiko (EXPOSUREAPP-2462) (#1106) * + new strings * let the app not crash on other languages than DE * values for lint and tests * made bad test a comment * removed unnecessary strings * more string fixes Co-authored-by:
Jakob Möller <jakob.moeller@sap.com> Co-authored-by:
Luka Harambasic <luka.harambasic@sap.com> * Remove Cache Clearing to reduce CDN load on failing devices (EXPOSUREAPP-2405) (#1108) * Remove Cache Clearing to reduce CDN load on failing devices. This ideally needs to be accompanied by a way to clear the cache manually and a way to identify more root causes of Transaction Failures. Signed-off-by:
d067928 <jakob.moeller@sap.com> * Remove Files that failed for Key Retrieval Only Remove Files from Cache that failed to download, instead of every file. This is accompanied ideally by no rollback in the Key Retrieval. We only delete the cache ref, the file will not be deleted as it is considered not present Signed-off-by:
d067928 <jakob.moeller@sap.com> * Introduce dedicated QuotaCalculator for Unit Testing Signed-off-by:
d067928 <jakob.moeller@sap.com> * Refactor QuotaCalculator for LocalData Property Access and Write Tests Signed-off-by:
d067928 <jakob.moeller@sap.com> * Use Instant on the Device Read since this is not timezone specific Signed-off-by:
d067928 <jakob.moeller@sap.com> * Add specific state for the quota calculation and dedicated rollback Signed-off-by:
d067928 <jakob.moeller@sap.com> * PR Comments Signed-off-by:
d067928 <jakob.moeller@sap.com> * Feature: Update low risk string (EXPOSUREAPP-1971) (#1125) * Improve Explanation for "Risikobegegnung mit niedrigem Risiko" (EXPOSUREAPP-1971) (#1112) * Adapt QuotaCalculatorTest to old JUnit4 API Signed-off-by:
d067928 <jakob.moeller@sap.com> * [INTERNAL] Translation delivery: commit by LX Lab (#1132) Change-Id: Ib76a9ea2b03163a05dd8b6acf2179262f9bcf5bf * Removed ar & ru and updated defaults (#1133) * Throw Exception in case we have a failed entry to ensure Abortion of the Transaction (EXPOSUREAPP-2405) (#1134) * Throw Exception in case we have a failed entry to ensure Abortion of the Transaction. Signed-off-by:
d067928 <jakob.moeller@sap.com> * Adjust test to not expect call to clear cache files Signed-off-by:
d067928 <jakob.moeller@sap.com> * version bump to 1.3.1 * Reverted replaced wording (EXPOSUREAPP-2638) (#1153) * Fix: No exposure with low risk so far * Fixed klint issues (#1144) * restored reverted replaced wording for lint * https://github.com/corona-warn-app/cwa-app-android/pull/1153#discussion_r487801724 * fixed term * Align TestFragment Crash behavior with background transaction crash behavior. * Add logging mechanism to debug hotfix issue. * Lint Resolvement, Nav Graph Issue clean, Enable Log for deviceForTesters, Correct Quota Tests due to now lacking exception Signed-off-by:
d067928 <jakob.moeller@sap.com> Co-authored-by:
Philipp Woessner <64482866+pwoessner@users.noreply.github.com> Co-authored-by:
Jakob Möller <jakob.moeller@sap.com> Co-authored-by:
Rituraj Sambherao <54317407+ritsam@users.noreply.github.com> Co-authored-by:
harambasicluka <64483219+harambasicluka@users.noreply.github.com> Co-authored-by:
chris-cwa <69595386+chris-cwa@users.noreply.github.com> Co-authored-by:
Luka Harambasic <luka.harambasic@sap.com> Co-authored-by:
SAP LX Lab Service Account <tmsatsls+github.com_service-tip-git@sap.com> 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>
-
Matthias Urhahn authored
* Align TestFragment Crash behavior with background transaction crash behavior. * Add logging mechanism to debug hotfix issue. * Lint Resolvement, Nav Graph Issue clean, Enable Log for deviceForTesters, Correct Quota Tests due to now lacking exception Co-authored-by:
Matthias Urhahn <matthias.urhahn@sap.com> Co-authored-by:
d067928 <jakob.moeller@sap.com>
-
- Sep 11, 2020
-
-
Matthias Urhahn authored
Remove unavailable test fragment from release navgraph and fix incorrect package/folder structure. (#1146) Co-authored-by:
Matthias Urhahn <matthias.urhahn@sap.com>
-