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