Commit graph

7841 commits

Author SHA1 Message Date
SpiritCroc
6a96b50b84 Improve room previews for RTL/LTR mixes of name and message
Change-Id: Ic8634ca41cef1c052e8f5769cf40f08e7e4e140c
2021-10-31 11:02:54 +01:00
SpiritCroc
983b71dc4b Some small public room and presence icon theme fixes
Change-Id: I188fc5943755dc10db55701415d03b84c34e5ffe
2021-10-31 10:13:11 +01: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
SpiritCroc
9b88c608c2 Show all rooms of spaces in home by default
Change-Id: I59beb29283e90665a4128193edc407146ecf5672
2021-10-30 14:21:21 +02:00
dependabot[bot]
959e6b67e3
Bump firebase-messaging from 22.0.0 to 23.0.0
Bumps firebase-messaging from 22.0.0 to 23.0.0.

---
updated-dependencies:
- dependency-name: com.google.firebase:firebase-messaging
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-29 23:07:15 +00:00
SpiritCroc
998018032a BetterLinearLayoutManager: Fix anchor view to preferred position
Change-Id: Ib6b960603a25ffc4920067227a821debdb04973e
2021-10-29 18:37:00 +02:00
SpiritCroc
57d3f3bc68 Avoid race condition with TextFuture when setting message text
Change-Id: I7de99faf565b73a67aceeaf646fec6e6d56123c8
2021-10-29 18:36:41 +02: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
SpiritCroc
bbb2a631cf [TMP] Debug read marker calculation
Change-Id: Id50e0731d12fc861acab990be0d5fed6d456658e
2021-10-29 10:22:58 +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
Benoit Marty
dd6ac46659
Merge pull request #4362 from vector-im/feature/adm/zxing-downgrade
< Android 7.0 QR code scanning crashes
2021-10-28 17:58:31 +02:00
Adam Brown
73995eb7bd downgrading zxing library as it has a known crash on android versions below 7.0 2021-10-28 16:18:34 +01: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
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
SpiritCroc
22cdb6544d [TEST] Initial force scroll only once
Change-Id: I6f5580be02fbdb13b56c5a180c124076bddcd52a
2021-10-27 18:24:45 +02:00
SpiritCroc
1fdb6923f5 Set preferred anchor position from force scroll
Change-Id: I36c071c9caf8aa0ac913aea6211fd278690dd330
2021-10-27 18:21:39 +02:00
SpiritCroc
395b146500 Set preferred anchor placement in chat view
Change-Id: Ie0af62d196e88f7728b3e82e79366940afd84ff2
2021-10-27 17:33:46 +02:00
SpiritCroc
eddd0a185e Allow to better control anchors in BetterLinearLayoutManager
Change-Id: Ic91a2cfbf53e5f59f395467bd020b970626d2a55
2021-10-27 17:30:55 +02:00
SpiritCroc
2d63dbbf12 Use BetterLinearLayoutManager for room detail view
Epoxy wants this to be an androidx LinearLayoutManager, or it will crash
on scroll with:

E AndroidRuntime: java.lang.ClassCastException: im.vector.app.features.home.room.detail.RoomDetailFragment$setupRecyclerView$1 cannot be cast to androidx.recyclerview.widget.LinearLayoutManager
E AndroidRuntime: 	at com.airbnb.epoxy.preload.EpoxyPreloader.onScrolled(EpoxyPreloader.kt:107)
E AndroidRuntime: 	at androidx.recyclerview.widget.RecyclerView.dispatchOnScrolled(RecyclerView.java:5347)
E AndroidRuntime: 	at androidx.recyclerview.widget.RecyclerView.scrollByInternal(RecyclerView.java:2102)
E AndroidRuntime: 	at androidx.recyclerview.widget.RecyclerView.onTouchEvent(RecyclerView.java:3531)
E AndroidRuntime: 	at android.view.View.dispatchTouchEvent(View.java:14309)
[...]

Change-Id: Iaf75f07d4309eb5bf0e58eecd6797ef33522acdd
2021-10-27 17:29:10 +02:00
SpiritCroc
a321d6a79a Import androidx LinearLayoutManager as BetterLinearLayoutManager
At version 1.2.1:
From https://android.googlesource.com/platform/frameworks/support
revision aaeb4835903077a52ade9c4b561ff34efa96a155

With changed package name, and modified to build outside of the androidx
package.

Change-Id: Id055880b3513305637f170df350611d20783931d
2021-10-27 17:21:04 +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
SpiritCroc
e7264de893 Automatic SchildiChat string correction
Change-Id: I2fa4463aca9be72be6f1c393892be9147020a19d
2021-10-27 15:25:09 +02:00
SpiritCroc
72a7e0677e Merge tag 'v1.3.6' into sc
Change-Id: I6fb1ef7b45ef67915a8d5bd17bf36cab90e9bf02
2021-10-27 15:25:05 +02:00
SpiritCroc
961adadbc8 Automatic revert to unchanged upstream strings, pt.1
Change-Id: I07fb96aea925e57f95d16ea92fc92dc1c672c079
2021-10-27 15:24:57 +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
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
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
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
Benoit Marty
042e91ee1c Set version to 1.3.6 2021-10-26 18:28:47 +02: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
Benoit Marty
01a29f67d0 Version++ 2021-10-26 17:33:23 +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
Benoit Marty
f2330903ae Add named parameter for boolean 2021-10-26 16:49:38 +02:00
Benoit Marty
9f1efab18d Correctly handle url of type https://mobile.element.io/?hs_url=…&is_url=
Skip the choose server screen when such URL are open when Element
2021-10-26 16:49:21 +02:00
Benoit Marty
dc5739c11d Format 2021-10-26 16:46:20 +02:00
Benoit Marty
0236396c59 Add optional deviceId to the login API 2021-10-26 15:10:04 +02:00
SpiritCroc
9cb746d509 Open room at bottom action if open at unread
Change-Id: Ia933c5a9f31c4025a34912a82f699e5c5abe8dd3
2021-10-25 20:17:49 +02:00
SpiritCroc
61140f3698 Merge remote-tracking branch 'weblate/sc' into sc
Change-Id: I1de6baa5fb75862ad0a9a62ec5ac20612c8750b8
2021-10-25 19:30:25 +02:00
SpiritCroc
2426cdfb06 Automatic SchildiChat string correction
Change-Id: Ife8129a743dff016e37df51a8a560a043f2bf58a
2021-10-25 19:30:05 +02:00