Commit 4025f68
authored
feat!: room integration p1 MonitorStorage with fallback support (#137)
Phase 1 of database modernization - migrates MonitorStorage to Room
using a copy-based migration strategy with automatic fallback.
Migration approach:
- Room uses new database file "RoomCalendarMonitor"
- Data copied from legacy DB on first access (read-only)
- Falls back to LegacyMonitorStorage if migration fails
- Legacy database preserved for retry in future versions
New files:
- MonitorAlertEntity, MonitorAlertDao, MonitorDatabase (Room)
- RoomMonitorStorage (implements MonitorStorageInterface)
- LegacyMonitorStorage (extracted for fallback)
- MigrationException (signals fallback trigger)
Also:
- Optimize UI test startup (suppress battery dialog)
- Fix CI test result collection for scoped storage (API 30+)
* refactor: room integration p1 MonitorStorage
wip
* ci: exclude allure results from dorny
* test: maybe fix unit tests gradle
* test: migration test
* ci: hopefully make test results writting more consistent with internal
storage
* fix: potentially room migration
* fix: cleanup and docs
* test: new migration fix
* test: fix migration test
* docs: update
* ci: fix dorny reporter
* docs: update XmlRunListener javadoc
* refactor: constantize col names
* docs: update comment
* docs: windows run from wsl to windows side via powershell
* test(perf): dramaticall Speed up MainActivity and DismissedEventsActivity UI tests
These tests were taking 15-60+ seconds each due to:
- Ultron polling for 15 seconds when views weren't immediately ready
- Battery optimization dialog blocking view assertions
- No synchronization with background data loading operations
- 300ms+ dialog dismissal delay on every test
Changes:
- Add suppressBatteryDialog option to UITestFixture to prevent battery
optimization dialog via SharedPreference
- Enable waitForAsyncTasks=true for tests with background data loading,
using IdlingResource for proper Espresso synchronization
- Skip dialog dismissal entirely when dialogs are pre-suppressed
- Reduce default Ultron timeout from 15s to 5s (IdlingResource handles
async waits, timeout is just a safety net)
Expected improvement: 15-60s per test → 2-5s per test
* test: do perf stuff for the other activites
* fix: transaction wrap
* test: test our actual code not some similar stuff
* test: narrow broad exceptiosn bring and bring dialog wait down again
* fix: init commit of version the uses clean new db
instead of migrating the old one
* refactor: cleaner update
* fix: bug bot and narrow exception1 parent 5cd9cce commit 4025f68
26 files changed
Lines changed: 1435 additions & 160 deletions
File tree
- .cursor/rules
- .github/workflows
- android/app
- src
- androidTest/java
- com/github/quarck/calnotify
- database/poc
- monitorstorage
- testutils
- ui
- de/schroepf/androidxmlrunlistener
- main/java/com/github/quarck/calnotify
- database
- monitorstorage
- docs/dev_todo
- scripts
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
56 | 56 | | |
57 | 57 | | |
58 | 58 | | |
59 | | - | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
101 | 101 | | |
102 | 102 | | |
103 | 103 | | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
809 | 809 | | |
810 | 810 | | |
811 | 811 | | |
812 | | - | |
| 812 | + | |
| 813 | + | |
813 | 814 | | |
814 | 815 | | |
815 | 816 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
344 | 344 | | |
345 | 345 | | |
346 | 346 | | |
347 | | - | |
| 347 | + | |
348 | 348 | | |
349 | 349 | | |
350 | 350 | | |
351 | 351 | | |
352 | | - | |
353 | | - | |
354 | | - | |
355 | | - | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
356 | 355 | | |
357 | | - | |
358 | | - | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
359 | 360 | | |
360 | 361 | | |
361 | 362 | | |
| |||
396 | 397 | | |
397 | 398 | | |
398 | 399 | | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
399 | 409 | | |
400 | 410 | | |
401 | 411 | | |
| |||
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| 26 | + | |
26 | 27 | | |
27 | 28 | | |
28 | 29 | | |
| |||
0 commit comments