Commit graph

40 commits

Author SHA1 Message Date
Adam Brown
a5fe6f7212 removing redacted events from the room notification message list 2021-10-26 20:03:10 +01:00
Adam Brown
743a71c78d renaming event lists to give more context and remove the list suffix/inconsistencies 2021-10-26 20:03:10 +01:00
Adam Brown
d1f6db4236 using dedicated ProcessedEvent data class instead of type alias for passing around the process notificatiable events
- also includes @JvmName on all conflicting extensions for consistency
2021-10-26 20:03:10 +01:00
Adam Brown
63090ef681 updating tests with shortcut placement changes 2021-10-26 20:03:10 +01:00
Adam Brown
86ce6a404e adding missing fixture parameter from rebase 2021-10-26 20:03:10 +01:00
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
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