Commit Graph

6731 Commits

Author SHA1 Message Date
Adam Brown c14ffefe7c updating background sync function docs with more information 2021-11-04 09:45:59 +00:00
Adam Brown 56d5a38e80 reverting parts of the rapid periodic sync, unfortunately it suffers from the same issue as the one shot workers -
the system can ignore them if the application process is in the background
2021-11-04 09:45:59 +00:00
Adam Brown 71b27bfd5d making the guard service a noop, lifeline scheduling will be brought back if we confirm the service by itself is not enough
- reuses the sync foreground notification for the guard foreground service
2021-11-04 09:45:59 +00:00
Marcel Langner c6b942cd31 fixed ktlint complaining and errors in italian translation file 2021-11-04 09:45:59 +00:00
Marcel Langner 97b4fd69b4 fixed typo 2021-11-04 09:45:59 +00:00
Marcel Langner e14fb16db2 initial commit of a permanent GuardService for fdroid background syncing 2021-11-04 09:45:59 +00:00
Andrew Aylett d261dd705d Periodic sync to re-kick-off rapid sync 2021-11-04 09:45:59 +00:00
Ihor Hordiichuk e6b359c7f7 Translated using Weblate (Ukrainian)
Currently translated at 91.6% (2449 of 2672 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/uk/
2021-11-03 19:25:44 +00:00
Adam Brown 06d4ee9df8 adding missing tints to the dev tools toolbar 2021-11-03 16:12:39 +00:00
waclaw66 2eba5f1f4d Translated using Weblate (Czech)
Currently translated at 100.0% (2672 of 2672 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/cs/
2021-11-02 14:25:43 +00:00
ganfra e43bfaebc6 Flow migration: more update after PR reviews 2021-11-02 11:50:56 +01:00
Benoit Marty d1294f9a71
Merge pull request #4380 from vector-im/feature/adm/key-request
Key request screen crash on launch
2021-11-02 10:53:09 +01:00
Benoit Marty 23a8ac6231
Merge pull request #4381 from vector-im/feature/adm/looping-call-ringtones
Force call ringtones to loop
2021-11-02 09:59:56 +01:00
Benoit Marty 26f8f5d1fb
Merge pull request #4379 from vector-im/feature/adm/sso-ordering
Sorting social providers by priority
2021-11-02 09:53:32 +01:00
Adam Brown 66737c6ec9 looping the call ringtones instead of relying on the ringtone to contain looping metadata 2021-11-01 14:41:25 +00:00
Adam Brown e75c5a6b9a adding missing view model provision 2021-11-01 12:35:09 +00:00
Adam Brown 1c9f1808ba sorting the social providers by their defined priority 2021-11-01 12:13:50 +00:00
Jonas 0aa0858921 Translated using Weblate (Danish)
Currently translated at 18.1% (486 of 2672 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/da/
2021-10-31 19:25:42 +00:00
Zet 44068304e0 Translated using Weblate (Arabic)
Currently translated at 39.1% (1046 of 2672 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ar/
2021-10-30 16:25:42 +00:00
Florian Renaud 1341094545 Fix permalink handling
whole link base url was compared to supported hosts instead of the host part only
2021-10-29 17:13:37 +02:00
Adam Brown e12d8c30d8 fixing timeline crash when rotating with the emoji window open
- guarding the emoji popup dismiss callback with a started lifecycle state
- the emoji popup dismiss callback also triggers onViewDetachedFromWindow which does not always finish before onDestroyView
2021-10-28 19:23:36 +01:00
ganfra bb4a820c31 Flow migration: update after PR reviews 2021-10-28 19:19:59 +02:00
ganfra edf068ee57 Flow migration: use throttleFirst instead of sample on UI 2021-10-28 17:36:29 +02:00
Adam Brown 14538a71d0 updating consent copy to use latest variation 2021-10-28 15:56:08 +01:00
ganfra 83644846f6 Merge branch 'develop' into feature/fga/rx_flow_migration 2021-10-28 15:27:25 +02:00
Benoit Marty c22d3fbedc
Merge pull request #4355 from vector-im/feature/adm/timeline-disk-usage
Reducing timeline disk usage
2021-10-28 15:16:27 +02:00
Adam Brown 23f8d05522 removing redundant exists() checks, mkdirs already does this 2021-10-28 13:35:39 +01: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
Benoit Marty 34e8cf84dc Improve Rx sequence regarding listener 2021-10-28 09:41:27 +02:00
Nikita Epifanov c6eba1178d Translated using Weblate (Russian)
Currently translated at 100.0% (2672 of 2672 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ru/
2021-10-28 07:25:43 +00:00
p_0g_8mm3_ fbffddec77 Translated using Weblate (German)
Currently translated at 98.8% (2642 of 2672 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/de/
2021-10-28 07:25:42 +00:00
libexus adeafdace3 Translated using Weblate (German)
Currently translated at 98.8% (2642 of 2672 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/de/
2021-10-28 07:25:42 +00:00
ganfra da47bfde2b Flow migration: remove Shortcuts process from main thread 2021-10-27 19:26:51 +02:00
Adam Brown 8525925732 lazily creating the voice directory references, avoid eagerly reading the file on the main thread 2021-10-27 18:23:39 +01:00
Benoit Marty 6691edb59d Remove shortcut as soon as a PIN code is set 2021-10-27 16:17:53 +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
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
ganfra 34cb99e8ae Flow migration: remove Rx completely (rxbinding) 2021-10-27 12:13:49 +02:00
Danial Behzadi ede8933059 Translated using Weblate (Persian)
Currently translated at 100.0% (2672 of 2672 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/fa/
2021-10-26 23:25:49 +00:00
Ihor Hordiichuk 5c4ac897c1 Translated using Weblate (Ukrainian)
Currently translated at 91.6% (2448 of 2672 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/uk/
2021-10-26 23:25:49 +00:00
random 188e0dbec7 Translated using Weblate (Italian)
Currently translated at 99.8% (2669 of 2672 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/it/
2021-10-26 23:25:45 +00:00
libexus 93ed2dcbbf Translated using Weblate (German)
Currently translated at 97.8% (2615 of 2672 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/de/
2021-10-26 23:25:44 +00:00
DUCKCHI 66198805ca Translated using Weblate (Korean)
Currently translated at 49.6% (1326 of 2672 strings)

Translation: Element Android/Element Android App
Translate-URL: https://translate.element.io/projects/element-android/element-app/ko/
2021-10-26 23:25:43 +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
Adam Brown 56e2b79774 formatting 2021-10-26 20:03:10 +01:00
Adam Brown 86b500445f updating the push gateway property to reflect that it mean the event can be replaced
- makes the property immutable as only the creation of the event knows if it can be replace eg it came from a push or the /sync event stream
2021-10-26 20:03:10 +01:00
Adam Brown b44a382893 separating the mutable vars from the immutable ones, they'll be removed or made immutable by the notification redesign 2021-10-26 20:03:10 +01:00
Adam Brown db5d4ead38 making the noisy property immutable 2021-10-26 20:03:10 +01:00
Adam Brown c99dd4a615 making the isRedacted event property immutable
- also makes the notifiable events sealed interfaces so that we can copy the data classes with new redacted values when it changes
2021-10-26 20:03:10 +01:00
Adam Brown 89d643a4be removing unused property (written to but never read) 2021-10-26 20:03:10 +01:00
Adam Brown 81da185d8b making non overriden properties immutable by passing the values intro the constructor 2021-10-26 20:03:10 +01:00
Adam Brown 51f7dee952 removing non common properties form the base event 2021-10-26 20:03:10 +01:00
Adam Brown 67211605aa removing unused commented code 2021-10-26 20:03:10 +01:00
Adam Brown 0c809b5ed1 now that we ignore duplicated invite joined events at the source we can avoid eager notification cancels and rely on the main notification refresh flow 2021-10-26 20:03:10 +01:00
Benoit Marty a19999a717
Merge pull request #4345 from vector-im/feature/adm/unable-to-join-by-name
Unable to join room by name
2021-10-26 19:35:44 +02:00
Benoit Marty 1d8a4a923a
Merge pull request #4344 from vector-im/feature/bma/device_id_param
Add optional deviceId to the login API
2021-10-26 19:24:09 +02:00
Adam Brown 272baa52ec adding remaining activity missing hilt injection annotations 2021-10-26 17:56:22 +01:00
Adam Brown 881157a725 applying the room navigation interceptor to only the room activity navigation, not the bottomsheets
- the bottomsheets require the activity to stay around as they host the sheet instance, fixes missing join sheets
2021-10-26 17:15:19 +01:00
Adam Brown 49c969601d adding missing bottomsheet handling for displaying the join room sheet when linking from the public rooms
- the activity is still finished causing the popup to not actually display
2021-10-26 17:14:24 +01:00
ganfra a9d192fa39 Flow migration: add back some test 2021-10-26 18:09:07 +02:00
Benoit Marty 6c485d5f6e Merge hotfix 1.3.6 2021-10-26 17:23:33 +02:00
Adam Brown 792444d1ac adding missing hilt annotation for injectable activity 2021-10-26 16:23:32 +01:00
ganfra 8cf5b727e1 Flow: restore read receipts 2021-10-26 15:57:18 +02:00