Commit graph

54 commits

Author SHA1 Message Date
Jorge Martin Espinosa
35928e3630
Threads - first iteration (#5165)
* Initial threads support: parse `ThreadSummary`.

Replace several `isThreaded` values with `EventThreadInfo`, which contains the info about the event either being the root of a thread or part of it.

* Add `Threaded` timeline mode

* Add a `liveTimeline` parameter to `TimelineController`'s  constructor. This way we can customise which timeline will be used as the 'live' one. Also add `@LiveTimeline` DI qualifier for the actual live timeline of the room.

* Create `ThreadedMessagesNode`. Allow opening a thread in a separate screen.

* Add the callbacks for the list menu actions - even if they're the wrong ones and will send the data to the room instead

* Send attachments and location in threads

* Fix polls in threads, add support for sending voice messages in threads

* Display thread summaries only when the feature flag is enabled

* Use 'Reply' instead of 'Reply in thread' when in threaded timeline mode

* Remove incorrect usage of `Timeline` in `MessageComposerPresenter`. This led to replies to threaded events not appearing as actual replies.

---------

Co-authored-by: ElementBot <android@element.io>
2025-08-19 13:35:48 +00:00
ElementBot
7c40c87d9a
Sync Strings from Localazy (#5178)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-08-18 11:09:27 +02:00
ElementBot
4b12c3f805
Sync Strings (#5146)
* Sync Strings from Localazy

* Remove unused WelcomeView.

* Remove unused WelcomeView.

---------

Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
Co-authored-by: Benoit Marty <benoit@matrix.org>
2025-08-11 12:49:29 +00:00
Benoit Marty
bdcafde2ce Sync string again 2025-08-04 14:50:08 +02:00
bmarty
ee77c646eb Sync Strings from Localazy 2025-08-04 00:34:11 +00:00
bmarty
0fb0861bc1 Sync Strings from Localazy 2025-07-28 00:33:43 +00:00
bmarty
8ffbfd82e8 Sync Strings from Localazy 2025-07-22 20:46:13 +02:00
bmarty
9ce7ad4903 Sync Strings from Localazy 2025-07-14 00:33:09 +00:00
Benoit Marty
fb497d0465 Sync strings. 2025-07-09 16:20:47 +02:00
ElementBot
d9ede0544c
Sync Strings from Localazy (#4983)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-07-04 14:37:59 +00:00
bmarty
284241a4ec Sync Strings from Localazy 2025-06-30 00:33:54 +00:00
bmarty
78def8a6e7 Sync Strings from Localazy 2025-06-16 00:31:39 +00:00
Benoit Marty
2cab05ed5c Convert a11y_polls_percent_of_total to plurals 2025-06-13 13:04:24 +02:00
Benoit Marty
d15a352f74 Improve accessibility of Poll answers. 2025-06-13 10:15:37 +02:00
Benoit Marty
eda18f8b78 Replace Material icons with Compound icons wherever it's possible 2025-02-26 22:19:19 +01:00
Benoit Marty
97f3be3dc5 Apply dual licenses: AGPL + Element Commercial to file headers.
2 replace all actions have been performed:
- "SPDX-License-Identifier: AGPL-3.0-only" to "SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial"
- "Please see LICENSE in the repository root for full details." to "Please see LICENSE files in the repository root for full details."
2025-01-07 10:05:04 +01:00
Benoit Marty
f61df38e55 Migrate license to AGPL.
Run script `uv run license-editor --repository ../element-x-android`
2024-09-06 17:19:19 +02:00
ganfra
bd327aac88 Pinned events : simplify poll content view 2024-08-30 18:27:19 +02:00
Jorge Martin Espinosa
b0cebf5ca0
Improve screenshot testing with ComposablePreviewScanner (#3125)
* Use ComposablePreviewScanner to rework how screenshot testing works
* Add test sharding
* Update screenshots
* Fixes for Element Gallery

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
Co-authored-by: Benoit Marty <benoit@matrix.org>
2024-07-03 13:05:06 +02:00
Benoit Marty
ea63f2aa32 Rename some fun regarding polls 2024-05-29 12:32:51 +02:00
Benoit Marty
37d9a9f5a9 Lambda parameters in a composable function should be in present tense, not past tense.
https://mrmans0n.github.io/compose-rules/rules/#naming-parameters-properly
2024-05-29 12:18:23 +02:00
Benoit Marty
74a9a54719 Rename Preview to follow code convention 2024-04-19 14:30:45 +02:00
Benoit Marty
3f85d4e566 Add trophy icon next the the winner vote in polls. 2024-03-26 17:58:31 +01:00
Benoit Marty
16056ef787 Rename PollAnswerItem.isDisclosed to PollAnswerItem.showVotes for clarity.
Indeed the value is set to true for disclosed poll or if poll is ended.
2024-03-26 17:42:34 +01:00
Benoit Marty
961cc71522 Remove unecessary parenthesis 2024-03-08 22:21:06 +01:00
Benoit Marty
df32534045 PollHistoryView: add UI test. 2024-03-08 17:24:00 +01:00
Jorge Martin Espinosa
b69cb8175a
Update Compound to v0.0.5 and update icons (#2380)
Update Compound to `v0.0.5`:

- Make sure we fix all the breaking changes.
- Update some icons to use the compound version instead.
-Replace icons with their Compound counterparts when possible.
- Clean up unused icons.
- Fix issues with incorrect icons or sizes being used after replacing the temporary icons with the Compound ones.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-02-12 16:41:58 +00:00
Benoit Marty
b104dba845 Remove Modifier parameter in private function when only default value is used.
This will improve the code coverage metrics, and this also fixes a few potential bug, where the Modifier was used several times.
2024-02-08 11:06:06 +01:00
renovate[bot]
c8bd362397
Update plugin ktlint to v12.1.0 (#2200)
* Update plugin ktlint to v12.1.0

* Run `./gradlew ktlintFormat` and fix some issues manually.

* Fix other issues reproted by Ktlint

* Limit false positives, KtLint removes unnecessary curly brace in String templates.

* Remove useless Unit

* Minor improvements over ktlint changes

* Restore `AlertDialogContent` behaviour

* Update screenshots

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Benoit Marty <benoit@matrix.org>
Co-authored-by: Jorge Martín <jorgem@element.io>
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-01-10 16:22:24 +01:00
ganfra
aa9693126f PollHistory : simplify so we only have one Node. Also enrich PollHistoryState. 2023-12-06 19:27:50 +01:00
ganfra
4a2cbb1ed4 Polls: share logic around PollContent 2023-12-05 14:06:59 +01:00
Marco Romano
d0d73e04c1 WIP: Poll History 2023-12-01 09:28:07 +01:00
Jorge Martin Espinosa
087d2728d5
Extract compound tokens and theming to compound-android library (#1888)
* Replace tokens & icons with the external Compound ones

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-11-27 10:30:07 +01:00
jonnyandrew
8fcec4a006
Allow polls to be edited (#1869)
Polls can be edited if they do not have any votes

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-11-24 16:47:58 +00:00
Marco Romano
60f58f9915
Update poll icons from Compound (#1849)
* Use compound icons for polls

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-11-22 13:35:04 +01:00
Benoit Marty
250389633b Progress for LinearProgressIndicator and CircularProgressIndicator are now lambdas. 2023-11-02 14:51:42 +01:00
Marco Romano
2e6581a5ad
Show poll creator view in timeline (#1429)
- Shows edit/end poll buttons when the user is the creator of the poll.
- Only the end poll button is wired right now as there is no "edit poll" screen yet.
2023-09-26 11:19:24 +02:00
Marco Romano
f4b46aa2bb
Push TimelineEvents further down the UI tree. (#1424)
So that timeline items don't have to route their callback all the way down to TimelinePresenter.
2023-09-25 15:31:10 +00:00
Benoit Marty
0e4c146e87 Detekt: Rename DayNightPreviews to PreviewsDayNight to follow naming convention.
MultiPreview annotations should start with `Previews` as prefix
2023-09-21 08:30:36 +02:00
Benoit Marty
03d69146aa Remove unused resource, and use compound icons when possible. 2023-09-20 16:45:38 +02:00
Benoit Marty
c652606f56 Remove VectorIcons object, inline the values. 2023-09-20 16:44:59 +02:00
Marco Romano
50c7892eab Make PollContentView a11y friendly
Improves a bit how screen readers read polls in the timeline.
- Adds a few `contentDescription` so that talkback reads “poll” or “ended poll” before the poll question.
- Changes the compose structure of the answers so that they are properly scanned by the screen reader. This meant getting rid of the `IconToggleButton` which was made redundant by the use of the `selectable`.
2023-09-15 09:53:17 +02:00
Marco Romano
b960892f09
Set proper progress indicator track color on polls (#1295)
Not yet a semantic color, so hardcoding it.
2023-09-13 11:51:29 +02:00
Marco Romano
a4c9c55a8b
New icons for Poll and Poll end (#1280)
Now both icons come from our designs and have a consistent size and padding (previously the poll one was coming from the material icons).
2023-09-12 13:35:26 +02:00
Marco Romano
00828b6714
New icon for "poll end" in both action menu and timeline item. (#1203)
- Also fixes preview of action list (reply is included as it will soon be added).
2023-08-31 15:40:51 +02:00
Marco Romano
f0bed85458
Poll vote (#1181)
- Adds sendPollVote rust room API (still not operational, need to wait for a rust sdk release)
- Adds an optional EventId in TimelineItemPollContent
- Wires the poll answer click listeners all the way to the TimelinePresenter in order to call the new room API
- Shows question as message summary in long press menu

Closes https://github.com/vector-im/element-meta/issues/2025
2023-08-30 15:05:11 +00:00
Marco Romano
633d5282d6
"Create poll" UI (#1143)
NB: This is missing analytics, which will be added once https://github.com/matrix-org/matrix-analytics-events/pull/85 is merged.

Closes https://github.com/vector-im/element-meta/issues/2011
2023-08-29 22:31:21 +02:00
Florian Renaud
29cd8f287f Add missing modifier 2023-08-22 16:11:57 +02:00
Florian Renaud
8657a5dfac Rename previews 2023-08-22 10:55:18 +02:00
Florian Renaud
bb2f5a1330 Render ended poll with winning answers 2023-08-22 10:55:18 +02:00