Adam Brown
c67b9ee81e
ensuring that we remove read messages when they come through by respecting the processed type when creating the notifications
2021-10-26 20:03:10 +01:00
Adam Brown
0bdc65b47f
diffing the notification events against the currently rendered events allow us to dismiss notifications from removed events
2021-10-26 20:03:10 +01:00
Adam Brown
b27fb264fc
using a process state of keep/removed rather than mapping to an ignored event id
...
- this state will be used to diff the currently rendered events against the new ones
2021-10-26 20:03:10 +01:00
Adam Brown
b7b4c01bde
splitting the event processing from the rendering
...
- this allows us to only synchronise of the event list modifications rather than the entire notification creation/rendering which should in turn reduce some of our ANRs https://github.com/vector-im/element-android/issues/4214
2021-10-26 20:03:10 +01:00
Adam Brown
03fe45da60
ensuring that we removing the summary group before removing individual notifications
...
- adds some comments to explain the positioning
2021-10-26 20:03:10 +01:00
Adam Brown
a94a1a0523
formatting
2021-10-26 20:03:10 +01:00
Adam Brown
0d316e69de
handling creating the summary when notification events are filtered to empty due to only containing removals
2021-10-26 20:03:10 +01:00
Adam Brown
3d567d0dcd
removing no longer needed hasBeenDisplayed state, the eventList is our source of truth
...
- when events have finished being displayed they should be removed from the eventList via notification delete actions
2021-10-26 20:03:10 +01:00
Adam Brown
c85afa96d3
lifting settings change to cancel all notifications out of the renderer
...
- the renderer's responsibility it handling events
2021-10-26 20:03:10 +01:00
Adam Brown
3023cb4d39
chaining the event process, notification creation and display logic into a NotificationRender
...
- extract the displaying into its own class to avoid leaking the entire notificationutils
- cancel/display notification actions are completely driven by the event or abscense of event from the eventList
- attempts to avoid redundant render passes by checking if the eventList has changed since the last render
2021-10-26 20:03:10 +01:00
Adam Brown
0f4ec65b7a
creating the notifications separate to where they're displayed
...
- also handles when the event diff means the notifications should be removed
2021-10-26 20:03:10 +01:00
Adam Brown
7b0c483134
creating dedicated class for the processing the serialized events
...
- updates the logic to track when events are removed as a way for the notifications to remove themselves, null events mean they've been removed
2021-10-26 20:03:10 +01:00
ganfra
a9d192fa39
Flow migration: add back some test
2021-10-26 18:09:07 +02:00
ganfra
c936954119
Flow migration: start replacing Rx by Flow
2021-10-26 14:24:23 +02:00
ganfra
e1f4e4f934
Hilt: fix test
2021-10-22 18:38:48 +02:00
Adam Brown
fc793c442b
reverting back to using an array for the circular cache, makes preloading and setting the value simpler
...
- adds unit tests to show it working
2021-10-14 14:02:23 +01:00
ganfra
a24a9b43fa
Mavericks 2: make the UT happy. Let SDK exposes MatrixCoroutineDispatchers.
2021-10-12 13:47:32 +02:00
ganfra
f6b81b36d0
Mavericks 2: switch from MvRxState to MavericksState
2021-10-01 10:08:06 +02:00
Adam Brown
b55e94b938
extracting the rx instant setup to a reuseable test rule
2021-09-29 13:23:40 +01:00
Adam Brown
daa3125e57
adding test cases around the SharedSecureStorageViewModel initial state and back flow
...
- introduces a temporary workaorund the unit tests Mavericks by including a no op LifecycleRegistry
- manually sets instant rx schedulers via the static helpers, the layers that set the schedulers are not currently injectable
2021-09-29 13:14:22 +01:00
Adam Brown
19d1d981c3
linting
2021-09-27 17:39:21 +01:00
Adam Brown
509c61c1a8
extracting the test fakes to their own package
2021-09-27 17:23:07 +01:00
Adam Brown
ac0c7067e0
updating the keys exporter to validate the generated file size in an attempt to warn the user of malformed outputs
...
- injects the io dispatcher to allow the testing
- adds unit tests around the different error flows
2021-09-27 17:23:07 +01:00
ganfra
84e6a67a51
Jitsi widget: refact a bit so we use data instead of url when possible
2021-08-27 14:03:52 +02:00
Benoit Marty
047c59eba0
Rework colors management
2021-06-09 15:36:20 +02:00
Constantin Wartenburger
26b8ef8af9
Changed rainbow algorithm
2020-10-05 17:28:05 +02:00
Benoit Marty
31029e90cc
Fix test compilation issue (no detected since Olm was not available)
2020-09-24 12:46:14 +02:00
Benoit Marty
a1f90abcd2
Rename package im.vector.riotx
to im.vector.app
(IDE)
2020-08-03 18:46:29 +02:00
Benoit Marty
27fe4e3680
Fix build and add tests
2020-01-29 09:44:53 +01:00
Benoit Marty
007b0cabf2
Add a few TUs
2020-01-28 22:43:10 +01:00
Benoit Marty
b2338dfcd3
Make the TU passes
2020-01-28 22:35:40 +01:00
Benoit Marty
6d7d4993a6
Add TUs for RainbowGenerator (not all passing)
2020-01-28 21:56:02 +01:00
ganfra
7c0f2d6e32
Test: fix import
2020-01-15 11:48:02 +01:00
Benoit Marty
8fc1400bab
Improve user color computation and add unit tests
2019-12-14 10:38:50 +01:00
Benoit Marty
8422c6de17
Remove test sample
2019-10-24 17:21:19 +02:00
Benoit Marty
504009499f
Rename im.vector.riotredesign to im.vector.riotx
2019-07-02 17:27:08 +02:00
Benoit Marty
9048a1dbbe
Rename app
to vector
2019-04-02 11:24:54 +02:00