Commit graph

53 commits

Author SHA1 Message Date
Adam Brown
f61474cb83 lifting the seenIds cache to the event queue rather than chaining it through, allows us to simplify the state model 2021-11-18 13:39:07 +00:00
Benoit Marty
df60b0c2b7
Merge pull request #4430 from vector-im/feature/adm/feature-notification-images
Notification images
2021-11-15 12:46:51 +01:00
Adam Brown
b90b396753 fixing compilation error in unit test 2021-11-10 09:44:16 +00:00
Adam Brown
145ceacf78 fixing auto merge issues 2021-11-08 15:24:08 +00:00
Adam Brown
57037c9ac6 adding test cases around the mutating of the notification event queue 2021-11-08 15:24:08 +00:00
Adam Brown
6bc121ad4a extracting notifiable event fixtures to their own file 2021-11-08 15:24:08 +00:00
ganfra
bb4a820c31 Flow migration: update after PR reviews 2021-10-28 19:19:59 +02:00
ganfra
da47bfde2b Flow migration: remove Shortcuts process from main thread 2021-10-27 19:26:51 +02:00
ganfra
b93e67ed11 Flow migration: clean up 2021-10-27 16:12:01 +02:00
ganfra
635ca8e276 Merge branch 'develop' into feature/fga/rx_flow_migration 2021-10-27 16:05:43 +02:00
Adam Brown
6d9877d79c filtering out redacted simple message events, we handle them by updating the notifications 2021-10-26 20:03:10 +01:00
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
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