Commit graph

7057 commits

Author SHA1 Message Date
Benoit Marty
b8ca520552
Make the poll option visible so that it can be tested from the PR 2021-11-02 16:34:44 +01:00
Onuray Sahin
19216aec63 Limit maximum number of poll options. 2021-10-29 17:18:37 +03:00
Onuray Sahin
40aa0175d0 Code review fixes. 2021-10-29 16:54:54 +03:00
Onuray Sahin
a5a3a817e1 Merge branch 'develop' into feature/ons/poll
* develop: (129 commits)
  Improve Rx sequence regarding listener
  adding changelog entry
  using correct license for matrix-sdk test
  extending the room name resolved to create a dedicated room name data class which contains a normalized version of the room name
  Remove shortcut as soon as a PIN code is set
  ensuring the store migration class is always equal to other store migration instances - is needed as realm will throw if multiple migration instances are created and they don't match
  removing extra query definition by chaining the query creation with modifiers
  removing noisy log which duplicates a type clause and fixing when casing formatting to have a case per line
  documenting the different query cases
  making the isNormalized function an extension and internal to the sdk
  Cache immutable value
  Do not show shortcuts if a PIN code is set
  Remove (disable) shortcut if a room is left
  Ensure ShortcutsHandler get all the joined rooms #4168
  Add `sortOrder: RoomSortOrder` parameter, with no API break
  Clean code
  adding normalised room display name field and making use of it when filtering rooms by name - fixes non latin-1 character set room names from being ignored when searching with inexact casing
  adding normalisation to the query string cases
  making value processing an injectable class, it will need to have its own dependencies to support normalisation
  porting QueryStringValue to sealed interface with a sub category for the content based values - allows for handling those cases separately for normalisation
  ...

# Conflicts:
#	vector/src/main/java/im/vector/app/core/di/ScreenComponent.kt
2021-10-28 18:05:10 +03:00
Onuray Sahin
db820efc3a Fix UI issues. 2021-10-28 15:43:51 +03:00
Onuray Sahin
ac299d8c06 Remove poll command. 2021-10-28 14:48:20 +03:00
Benoit Marty
868548d0ab
Merge pull request #4352 from vector-im/feature/adm/room-filtering
Fixing case sensitive non latin room name filtering
2021-10-28 12:27:13 +02:00
Onuray Sahin
dd58dd800c Create poll event content. 2021-10-28 10:50:29 +03:00
Benoit Marty
34e8cf84dc Improve Rx sequence regarding listener 2021-10-28 09:41:27 +02:00
Benoit Marty
6691edb59d Remove shortcut as soon as a PIN code is set 2021-10-27 16:17:53 +02:00
Benoit Marty
3a48e33c81 Cache immutable value 2021-10-27 15:26:31 +02:00
Benoit Marty
6f577d8232 Do not show shortcuts if a PIN code is set 2021-10-27 15:24:24 +02:00
Benoit Marty
3a81c10062 Remove (disable) shortcut if a room is left 2021-10-27 15:13:07 +02:00
Benoit Marty
f166348a68 Ensure ShortcutsHandler get all the joined rooms #4168 2021-10-27 15:00:14 +02:00
Benoit Marty
9b75da5d4d Clean code 2021-10-27 15:00:14 +02:00
Adam Brown
4ae04fc297 adding normalised room display name field and making use of it when filtering rooms by name
- fixes non latin-1 character set room names from being ignored when searching with inexact casing
2021-10-27 13:09:53 +01:00
Onuray Sahin
6cee266a95 Create poll UI implementation. 2021-10-27 13:10:01 +03:00
dependabot[bot]
82b3d17db6
Bump libphonenumber from 8.12.35 to 8.12.36
Bumps [libphonenumber](https://github.com/google/libphonenumber) from 8.12.35 to 8.12.36.
- [Release notes](https://github.com/google/libphonenumber/releases)
- [Changelog](https://github.com/google/libphonenumber/blob/master/making-metadata-changes.md)
- [Commits](https://github.com/google/libphonenumber/compare/v8.12.35...v8.12.36)

---
updated-dependencies:
- dependency-name: com.googlecode.libphonenumber:libphonenumber
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-26 23:08:52 +00: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
b146501f29 avoiding multiple list iterations via mapNotNull 2021-10-26 20:03:10 +01:00
Benoit Marty
be67836a3e Tiny formatting 2021-10-26 20:03:10 +01:00
Benoit Marty
2bd2cbf84e Compact code 2021-10-26 20:03:10 +01:00
Benoit Marty
c56101d227 Do not use the room member avatar as a room avatar 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
6fb7faa360 removing unused imports 2021-10-26 20:03:10 +01:00
Adam Brown
a6e47d8b85 replacing notification utils usage with the displayer and removing unused method 2021-10-26 20:03:10 +01:00
Adam Brown
c16e3e09e6 adding missing parameter from rebase and removing no longer needed singleton annotation 2021-10-26 20:03:10 +01:00
Adam Brown
4748a385ea inlining single use extension functions 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
9fa09def96 fixing line lengths 2021-10-26 20:03:10 +01:00
Adam Brown
4bbb637ace adding documentation around the two notifiable event lists which act as our notification source of truth 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
587466e009 relying on the notification refreshing to cancel/update the notifications 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
8fb6bef503 removing this usages for project convention 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
Adam Brown
4459aab558 making the event body non null and immutable to allow less cases to be handled -
also puts in the basis for a separate notification refreshing implementation
2021-10-26 20:03:10 +01:00
Adam Brown
beff5ab821 including the room name in the invitation event if the room sumary is available 2021-10-26 20:03:10 +01:00