Commit Graph

606 Commits

Author SHA1 Message Date
Marco Romano
cf3039c6f3 TimelineItemPresenterFactories (#1609)
DI infrastructure to allow injection of presenters into the timeline.
Add an `@AssistedFactory` of type `TimelineItemPresenterFactory` to a `Presenter` class and bind this factory into the TimelineItemPresenterFactory map multi binding using:

```
@Binds
@IntoMap
@TimelineItemEventContentKey(MyTimelineItemContent::class)
```

A map multibinding of such factories will be available in the `LocalTimelineItemPresenterFactories` composition local for further use down the UI tree.
2023-10-19 15:57:34 +02:00
Marco Romano
80870adfe3 Extract more content from audio messages. (#1607)
`TimelineItemAudioContent`:
- Use `java.time.Duration` instead of milliseconds. This will ease up things in the future because currently milliseconds are sent over the wire but in the future seconds will be sent (as per the stable MSC). Using `Duration` will allow our downstream code to be independent of what's passed over the wire.
- Rename `audioSource` property to `mediaSource` to better match its type.

`AudioMessageType`:
- Add and populate new fields `details` and `isVoiceMessage` to be used by voice messages.
2023-10-19 13:32:43 +02:00
Jorge Martin Espinosa
643fe1a5e5 Hide keyboard when exiting the room screen (#1593) 2023-10-19 10:49:11 +02:00
bmarty
379139a88f Sync Strings from Localazy 2023-10-16 00:09:47 +00:00
Benoit Marty
5f56961fd0 Merge pull request #1556 from vector-im/feature/bma/videoLock
Ensure screen does not turn off when playing a video (#1519)
2023-10-13 14:05:30 +02:00
Benoit Marty
e8fcf7b950 Fix issue detected by Konsist. 2023-10-12 18:46:14 +02:00
jonnyandrew
ffa6c43503 [Voice messages] Add voice recording UI (#1546)
---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-10-12 15:17:18 +00:00
Benoit Marty
a71fb431d3 Ensure screen does not turn off when playing a video (#1519) 2023-10-12 15:53:05 +02:00
Benoit Marty
07a2643bd2 Merge pull request #1549 from vector-im/feature/bma/unknownMsgtype
Render unknown msgtype
2023-10-12 10:56:35 +02:00
Benoit Marty
427aae9fc1 Merge pull request #1526 from vector-im/feature/bma/konsist
Konsist
2023-10-11 16:40:22 +02:00
Benoit Marty
2e8be3a3d1 Render body for m.room.message if msgtype is unknown, in timeline and as room list last message. #1539 2023-10-11 16:18:24 +02:00
Benoit Marty
266612f9da MessageContent.type cannot be null 2023-10-11 16:14:15 +02:00
Benoit Marty
16841e9721 data object 2023-10-10 17:31:04 +02:00
Benoit Marty
0405683713 Konsist: add test Function which creates Presenter in test MUST be named 'createPresenterName', and fix existing issues 2023-10-10 17:31:04 +02:00
Benoit Marty
308a0c0f57 Konsist: add test to ensure filename match top level Composable View, and fix existing issue 2023-10-10 15:39:22 +02:00
Benoit Marty
6f49e670fb Remove not used dependencies to some accompanist libraries. 2023-10-10 13:48:10 +02:00
Benoit Marty
3559b2ed4b Code review: improve API. 2023-10-05 15:28:38 +02:00
Benoit Marty
6c22ee3cec Render emote in the timeline: prefix with sender display name 2023-10-05 11:39:05 +02:00
Benoit Marty
d323554b2d avoid else in when statement. 2023-10-05 11:15:26 +02:00
renovate[bot]
cf4a86131a Update dependency androidx.compose.material3:material3 to v1.2.0-alpha09 (#1493)
* Update dependency androidx.compose.material3:material3 to v1.2.0-alpha09

* Fix deprecation issues

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2023-10-05 09:57:47 +02:00
Benoit Marty
937e053d46 Fetch edited event in advanced (similar to reply mode). 2023-10-04 17:38:17 +02:00
Benoit Marty
937391b4b9 Add comment. 2023-10-04 17:25:55 +02:00
Benoit Marty
cf4ad7649f Merge pull request #1465 from vector-im/feature/bma/codeCoverage
Improve code coverage
2023-10-02 10:18:31 +02:00
bmarty
cd0a0f7c9a Sync Strings from Localazy 2023-10-02 00:09:47 +00:00
jonnyandrew
f84cd01e73 Fix composer options bottom sheet position (#1469) 2023-09-29 16:29:57 +00:00
Benoit Marty
b2b5a76caa Ensure the preview match the behavior (and improve code coverage) 2023-09-29 16:18:12 +02:00
jonnyandrew
70dfbd7c31 [Rich text editor] Add full screen mode (#1447)
- Add full screen mode for the rich text editor (RTE). When text formatting options are enabled, the editor can be dragged to full screen.
- Remove `ConstraintLayout` from `textcomposer` module, now made much simpler now the RTE supports being called in multiple layouts matrix-org/matrix-rich-text-editor#822

- Part of vector-im/element-meta#1973
- Includes design from #1315
- Fixes #1293 (through new layout)
- Fixes #1394 (through inclusion of matrix-org/matrix-rich-text-editor#824)
- Fixes #1259 (through inclusion of matrix-org/matrix-rich-text-editor#820)

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-09-29 09:11:18 +00:00
Benoit Marty
f395472c67 Use generic action_remove 2023-09-29 09:02:10 +02:00
Benoit Marty
16390e5df0 Use the AutoMirrored version. 2023-09-28 14:21:27 +02:00
Benoit Marty
d32a7c6ddf Simplify the management of inReplyToEventTimelineItem 2023-09-27 11:31:12 +02:00
Benoit Marty
9d0e185d1c Ensure getEventTimelineItemByEventId is called when we enter in reply mode. 2023-09-27 10:48:31 +02:00
Benoit Marty
652597c127 Merge pull request #1436 from vector-im/feature/bma/mutableIntFloat
Mutable int float
2023-09-26 18:31:36 +02:00
Benoit Marty
f21b3e385b Merge pull request #1432 from vector-im/feature/bma/installApk
Install apk from the app - REQUEST_INSTALL_PACKAGES
2023-09-26 18:15:35 +02:00
Benoit Marty
99caa031e8 Replace mutableStateOf by mutableIntStateOf and mutableFloatStateOf. Use intValue and floatValue to avoid unboxing. 2023-09-26 18:07:53 +02:00
Benoit Marty
7d12425a6f Call openFile instead of open and avoid unwrapping the Activity context. 2023-09-26 17:48:26 +02:00
Benoit Marty
9a74948536 Detekt: fix OptionalUnit issue. 2023-09-26 17:48:26 +02:00
Benoit Marty
34114caeb5 Be able to install APK from Element X. 2023-09-26 17:48:26 +02:00
Benoit Marty
45cd853c21 Improve default mime type. 2023-09-26 17:48:26 +02:00
Marco Romano
295e10e612 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
Benoit Marty
54fb1e79c5 Merge pull request #1419 from vector-im/sync-localazy
Sync Strings
2023-09-26 10:05:46 +02:00
Marco Romano
2ab9c564ba Use eventSink method reference in TimelinePresenter.kt (#1428)
Has been changed in https://github.com/vector-im/element-x-android/pull/1172 but in general method references should always be preferred to lambdas in composable functions (because they have higher stability guarantees).
2023-09-25 21:56:41 +02:00
Marco Romano
20813deeaa 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
bmarty
e9a7c7bbaf Sync Strings from Localazy 2023-09-25 00:09:17 +00:00
Benoit Marty
38ee16725e Add animation on the timeline content, to avoid glitch (#1323) 2023-09-21 18:43:46 +02:00
bmarty
4077c5c834 Sync Strings from Localazy 2023-09-21 15:51:21 +00:00
Benoit Marty
5119ca33dd Merge pull request #1400 from vector-im/feature/bma/fixCrashPhoto
Fix crash when user wants to use the camera
2023-09-21 16:31:36 +02:00
Benoit Marty
ac2fe7eec5 Suppress LargeClass on test. 2023-09-21 16:31:08 +02:00
Benoit Marty
e38e85e4be Add missing test on this Presenter 2023-09-21 15:54:59 +02:00
Benoit Marty
0f5ac85957 Add missing test on this Presenter 2023-09-21 15:40:27 +02:00
Benoit Marty
74fc9ad905 Rename Event for clarity 2023-09-21 15:33:03 +02:00