Skip to content
Snippets Groups Projects
  1. Nov 16, 2020
    • Matthias Urhahn's avatar
      Improve HotDataFlow behavior (EXPOSUREAPP-3777) (#1612) · 0f866e50
      Matthias Urhahn authored
      * Fix HotDataFlow behavior.
      * Prevent re-execution of past submissions when the observable goes cold.
      * Guard internal value updates with a mutex in case the value update is not as thread-safe as we think it is.
      
      * Fix problematic testcases.
      0f866e50
    • Matthias Urhahn's avatar
      Handle failure to persist GSON serialized JSON data (EXPOSUREAPP-3777) (#1604) · a6335e7f
      Matthias Urhahn authored
      * Flush the json data after writing it, otherwise if the app process dies, we end up with an empty file.
      GSON deserializes this into a null object that looks like a non-null object until it is evaluated some time later.
      
      Force an evaluation via `require(it.size >= 0)` and delete the corrupt data file when catching the exception.
      
      * Show a visible error dialog if we fail to save data.
      
      * Used buffered versions of readers and writer.
      a6335e7f
  2. Nov 03, 2020
  3. Oct 29, 2020
  4. Oct 28, 2020
  5. Oct 27, 2020
  6. Oct 26, 2020
  7. Oct 23, 2020
  8. Oct 22, 2020
  9. Oct 21, 2020
  10. Oct 20, 2020
  11. Oct 19, 2020
    • Matthias Urhahn's avatar
      Refactor missused ViewModels, support automated UI tests and screenshots (EXPOSUREAPP-2946) (#1415) · cec56fdb
      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: default avatarralfgehrer <mail@ralfgehrer.com>
      cec56fdb
  12. Oct 18, 2020
    • Oliver Zimmerman's avatar
      Refactor submission flow fragments (EXPOSUREAPP-2746) (#1410) · 47af324b
      Oliver Zimmerman authored
      
      * converted SubmissionTanFragment to assisted inject
      
      * removed unused import
      
      * Refactored submission dispatcher
      
      * lint fixes
      
      * removed unnecessary companion  object
      
      * Submission Test Result refactored
      
      * Submission Contact refactored
      
      * Submission Done Refactored and lint fixes
      
      * more lint fixes
      
      * Submission Intro refactored
      
      * interface fix
      
      * Submission QR Codde Scan refactored
      
      * SubmissionResultPositiveOtherWarning refactored
      
      * Adapted Navigation style to use SubmissionNavigationEvent - aligns with Onboarding refactoring.
      
      * Submission Symptom Introduction refactored and fragment restructure
      
      * SymptomCalendar refactor and ktlint
      
      * ktlint
      
      * deleted unnecessary extra line
      
      * ktlint
      
      * removed directions declaration that was causing issues
      
      * navigation fix
      
      * Move companion object to end of class
      
      * Migrated submission modules to SubmissionActivityModule, and included in MainActivityModule
      
      * Use nav util instead of findNavController + ktlint fixes
      
      * more lint fixes
      
      * refactor name of SubmissionActivityModule to SubmissionFragmentModule
      
      Co-authored-by: default avatarMatthias Urhahn <matthias.urhahn@sap.com>
      47af324b
Loading