Commit graph

5039 commits

Author SHA1 Message Date
Benoit Marty
04e5d684d4 Let DefaultNotificationDrawerManager use NotificationDisplayer instead of NotificationManagerCompat 2025-10-31 09:29:48 +01:00
Benoit Marty
57ac39673d Notification: show userId in notification when several accounts are configured. 2025-10-31 09:25:01 +01:00
Jorge Martin Espinosa
353c00e032
Display only valid emojis in recent emoji list (#5612)
* Create `:libraries:recentemojis` and move `AddRecentEmoji` and `GetRecentEmojis` there

- Make sure `GetRecentEmojis` won't return duplicate or invalid emojis.
- `ActionListPresenter` now handles merging suggested and recent emojis, not `ActionListView`.
2025-10-30 15:27:51 +00:00
Jorge Martin Espinosa
eb08639776
Split notifications for messages in threads (#5595)
* Separate thread notifications into their own notifications when the feature flag is enabled.

Otherwise, set the `threadId` to null so it'll behave as usual. It's done this way to avoid having to inject `FeatureFlagService` in several places.

* Add permalink navigation to threads from notifications, focusing on the latest event in the list of messages of the notification tapped

* Fix redactions in threads

* Clear notifications for a thread when visiting it

* Fix opening a thread happening twice, first because of the `openThreadId` value, then because of the `focusedEventId` one

* Make opening a room through a notification also focus on the latest event

* Add helper `NotificationCreator.messageTag` function

* Remove unused `ROOM_CALL_NOTIFICATION_ID`: `FOREGROUND_SERVICE_NOTIFICATION_ID`+ `ForegroundServiceType` is used instead

* Simplify `DefaultDeepLinkCreator`

* Make sure the main timeline focuses on the thread root id too when navigating to a thread

* Handle "Mark as read" action for thread notification, using `timeline.markAsRead`

* Log failures to mark rooms as read using the notification action

---------

Co-authored-by: Benoit Marty <benoit@matrix.org>
2025-10-30 15:15:00 +00:00
Benoit Marty
eef0fbf4be Fix "Arrow is redundant when parameter list is empty"
And other issues that ktlint now reports
2025-10-30 14:33:25 +01:00
Jorge Martin Espinosa
6c3b280ecd
Fix marking a room as read re-instantiates its timeline (#5628)
* Add `Timeline.markAsRead` to avoid reinstantiating the timeline using `Room.markAsRead`

* Mark as read when exiting the room screen, destroy the timeline when fully closed

* Ensure `MarkAsFullyReadAndExit` event can only be processed once

* Fix `DelayedVisibility` not being displayed in previews
2025-10-30 08:39:06 +01:00
Benoit Marty
f75a2cc12c Merge branch 'develop' into feature/bma/mediaForward
# Conflicts:
#	appnav/src/main/kotlin/io/element/android/appnav/room/joined/JoinedRoomLoadedFlowNode.kt
2025-10-29 12:41:58 +01:00
ganfra
7baae58964
Merge pull request #5619 from element-hq/feature/fga/space_members
Space : add view members entry
2025-10-29 10:53:45 +01:00
Benoit Marty
bf26a8b93c Rename fun. 2025-10-29 09:04:58 +01:00
Benoit Marty
70cbf3c090 Improve code on ShareNode 2025-10-29 09:03:37 +01:00
Benoit Marty
26ce78d27d
Confirm exit without saving change in room details edit screen (#5618)
* Room details edit screen: add confirmation dialog when leaving without saving pending changes.

* Improve preview coverage.

* Update screenshots

* Introduce AsyncAction.ConfirmingCancellation and use it for leaving room edition without saving change.

* Fix issue in comment

* Use new `ConfirmingCancellation` object in Change Roles screen

---------

Co-authored-by: ElementBot <android@element.io>
2025-10-28 18:25:51 +01:00
Benoit Marty
5d021a557c Simplify the presenter 2025-10-28 18:21:06 +01:00
Benoit Marty
95c735a90e Add Forward action to MediaDetailsBottomSheet. Closes #5454
Improve API of Callback when forwarding Event.
2025-10-28 18:13:53 +01:00
Benoit Marty
7f22777ad9 Extract code for forwarding Event to its own modules. 2025-10-28 15:42:39 +01:00
ganfra
52f48268b1 feature(space): add view members entry 2025-10-28 11:21:10 +01:00
ganfra
83d8151012
Merge pull request #5614 from element-hq/feature/fga/space_flow_inject_room
Misc : space flow inject room
2025-10-28 10:05:04 +01:00
Jorge Martin Espinosa
2af5570231
Revert "Make sure declining a call stops observing the ringing call state (#5…" (#5615)
This reverts commit 651263111e.
2025-10-27 17:25:56 +01:00
ganfra
ef52fb38f2 misc(navigation) : fix tests on space module 2025-10-27 14:15:32 +01:00
ElementBot
b1addb4521
Sync Strings from Localazy (#5610)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-10-27 13:53:07 +01:00
ganfra
819e916e3c Merge branch 'develop' into feature/fga/space_flow_inject_room 2025-10-27 11:41:26 +01:00
ganfra
7f04a9fcf7 misc(navigation) : add onDetailsClick on SpaceView 2025-10-27 10:11:57 +01:00
ganfra
da95a4b838 misc(navigation) : makes SpaceFlowGraph child of RoomGraph 2025-10-24 20:48:22 +02:00
Benoit Marty
a9bc148d00
Merge pull request #5607 from element-hq/feature/bma/notificationStyle
Update notification style
2025-10-24 19:20:18 +02:00
Benoit Marty
b6b0ad91ce Let notifications uses the brandColor. 2025-10-24 18:22:41 +02:00
ganfra
450aaf1ef3 Fix ktlint 2025-10-24 18:15:15 +02:00
Benoit Marty
6e9af83b6a Let notifications uses the brandColor. 2025-10-24 17:04:48 +02:00
ganfra
72fda96df1 design(space): let divider be full width
# Conflicts:
#	features/home/impl/src/main/kotlin/io/element/android/features/home/impl/spaces/HomeSpacesView.kt
2025-10-24 16:07:16 +02:00
Benoit Marty
f1b8f878de
Merge pull request #5600 from element-hq/feature/bma/deletePinCode
Delete pin code only when the last session is deleted
2025-10-24 09:47:57 +02:00
Jorge Martin Espinosa
51bf99cfba
Clearing the room list search clears the search term too (#5603) 2025-10-24 09:30:10 +02:00
ganfra
0745f308c5
Merge pull request #5599 from element-hq/feature/fga/home_topbar_2
Design : update Home TopBar and RoomList Filters
2025-10-23 18:29:40 +02:00
ganfra
b779ac0086 design(home) : better comment on padding 2025-10-23 18:00:33 +02:00
ganfra
318ad1edbd design(home) : clean up 2025-10-23 17:22:39 +02:00
Benoit Marty
85035da028 Add unit test on DefaultLockScreenService 2025-10-23 17:20:36 +02:00
ganfra
21c21259cb design(home) : allow scrolling to top when clicking on already selected tab 2025-10-23 17:00:40 +02:00
Benoit Marty
7cea6f0f8f Remove dead code. 2025-10-23 16:52:24 +02:00
Benoit Marty
0284fd22e8 Delete the PIN code only when the last session is deleted. 2025-10-23 16:48:26 +02:00
Benoit Marty
a18eb6eb5e Add default implementation to SessionListener 2025-10-23 16:48:20 +02:00
ganfra
dfb9bc5ab0 design(home) : use enterAlwaysScrollBehavior for the RoomListFiltersView 2025-10-23 16:41:43 +02:00
Benoit Marty
9ca5fbdc08 Add parameter wasLastSession to SessionListener.onSessionDeleted 2025-10-23 16:20:15 +02:00
ganfra
0a999016f7 design(home): makes HomeTopBar match design 2025-10-23 16:16:08 +02:00
ganfra
ddf2007bb3 design(home): rename RomListTopBar to HomeTopBar 2025-10-23 16:11:26 +02:00
Benoit Marty
705b1b08f2 Remove dependency on AppNavigationStateService from DefaultGetCurrentPushProvider 2025-10-23 15:03:04 +02:00
Benoit Marty
76493f52ec
Merge branch 'develop' into feature/bma/metro070 2025-10-23 11:30:25 +02:00
Benoit Marty
50e75212a7
Merge pull request #5566 from element-hq/feature/bma/securityAndPrivacy
Enable access to security and privacy
2025-10-23 11:29:34 +02:00
Benoit Marty
263e761907 Remove @Inject, not necessary anymore when class is annotated with @ContributesBinding 2025-10-22 18:52:37 +02:00
Benoit Marty
b45fb2128b Improve API of interface WellknownRetriever to be able to distinguish between 404 and other errors. 2025-10-22 14:45:15 +02:00
Benoit Marty
24fc74caf4 Merge remote-tracking branch 'origin/develop' into bma/brandColorFix 2025-10-22 12:27:00 +02:00
Benoit Marty
67ecf8bcd3 Add missing tests on CallType and make it internal. 2025-10-22 12:20:06 +02:00
Benoit Marty
b4ce7ce9ff Add missing tests on DefaultEnterpriseService 2025-10-22 11:55:58 +02:00
Benoit Marty
8f81317f45 Fix tests. 2025-10-22 10:18:44 +02:00