Commit Graph

1693 Commits

Author SHA1 Message Date
Benoit Marty
84ddef3e6c Merge pull request #1680 from vector-im/sync-localazy
Sync Strings
2023-10-30 12:38:41 +01:00
Jorge Martin Espinosa
69c0a3b6be Enable Element Call integration in rooms by default (#1685)
Also change base url to `call.element.dev`.
2023-10-30 11:33:22 +00:00
Marco Romano
10ff9742e1 Voice message button: Show proper disabled color. (#1682)
Also changes a bit our own IconButton api to allow to mirror material's and allow color customization.
2023-10-30 10:51:22 +00:00
Benoit Marty
d6a862581d Merge pull request #1670 from vector-im/feature/bma/topBarInPage
Top bar in page
2023-10-30 10:46:25 +01:00
bmarty
458e2a1b58 Sync Strings from Localazy 2023-10-30 00:10:04 +00:00
Marco Romano
ec198ce2e9 Blink red dot while recording voice message (#1677)
Story: https://github.com/vector-im/element-meta/issues/2084
2023-10-27 21:12:43 +00:00
jonnyandrew
4dfe8121b4 Show voice message preview player progress (#1675)
* Show voice message preview player progress

* Update screenshots

* Fix test

* Some nits over mediaplayer stuff

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
Co-authored-by: Marco Romano <marcor@element.io>
2023-10-27 20:43:52 +00:00
Benoit Marty
6cc60e7d35 Merge pull request #1662 from vector-im/feature/bma/secureBackupUi
Secure backup UI
2023-10-27 18:36:38 +02:00
Marco Romano
a33a36cb35 Use correct icon tint in voice message preview player (#1672)
Action item from design review.
2023-10-27 16:24:16 +00:00
Benoit Marty
c13dc6c11b Add topBar parameter to HeaderFooterPage and use a Scaffold. 2023-10-27 18:21:05 +02:00
jonnyandrew
ac90b74a4f Merge pull request #1671 from vector-im/jonny/voice-message-fixes
Fix voice message preview player playing after delete/send
2023-10-27 16:49:38 +01:00
Benoit Marty
8ac677797f Merge pull request #1666 from vector-im/feature/bma/mergeFallbackNotification
Display a single notification for unable to decrypt Event received form push (fallback notification)
2023-10-27 17:42:22 +02:00
Marco Romano
473ac2dcc1 Default enable voice message feature flag (#1669)
:party
2023-10-27 15:16:32 +00:00
jonnyandrew
fca94692f6 Refactor waveform factory function 2023-10-27 16:05:34 +01:00
Marco Romano
d05dd11485 Split VoiceMessageType from AudioMessageType (#1664)
Currently, for compatibility reasons, we implement MSC3245v1 which puts the voice data inside an audio message type. Though at times it seems impractical to deal with a single message type which effectively represents 2 different kinds of messages.

This PR creates a new message type called `VoiceMessageType` which is used whenever we receive an event with `"msgtype": "m.audio"` which also has the `"org.matrix.msc3245.voice": {}` field. This makes it easier to process voice messages as different entities throughout the rest of the codebase.
2023-10-27 16:02:16 +02:00
David Langley
fe2d2554c0 Fix documentation 2023-10-27 13:55:42 +01:00
Benoit Marty
f409b31e8a Display a single notification for all the fallback notifications.
When dismissed, dismiss all the fallback notifications in the model.
2023-10-27 14:55:10 +02:00
David Langley
54f276c125 Merge branch 'develop' of https://github.com/vector-im/element-x-android into langleyd/live_waveform 2023-10-27 13:54:18 +01:00
Marco Romano
1014380e32 Always treat waveform as List<Float> (#1663)
[MSC3246](https://github.com/matrix-org/matrix-spec-proposals/pull/3246) specifies the waveform as a list of ints because:

> Because floating point numbers are not allowed in Matrix events

Though DSP on audio data is almost always done using their floating point representation.
This PR brings the float<->int rescaling in the `matrix` module so that the application code can always work with float waveform samples.
2023-10-27 12:49:58 +00:00
Benoit Marty
2d9d34b41f Notification: fix issue: clear event only for the matching session.
We do not have multi session so the bug is not visible yet.
2023-10-27 14:41:39 +02:00
Marco Romano
e59a6b7ed6 Add missing screenshots in TimelineView (#1660)
Add audio, voice  and poll screenshots to TimelineView which were missing.
2023-10-27 12:18:28 +00:00
David Langley
c79d24d943 Merge branch 'develop' of https://github.com/vector-im/element-x-android into langleyd/live_waveform 2023-10-27 13:10:32 +01:00
David Langley
34dda1b568 Fix naming and waveform previews 2023-10-27 13:06:33 +01:00
jonnyandrew
38de57bb02 Add waveform to voice message preview UI (#1661)
* Add waveform to preview UI

* Update screenshots

* Make random waveform function deterministic

* Update screenshots

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-10-27 11:33:35 +00:00
David Langley
ad81e2898c Merge branch 'develop' of https://github.com/vector-im/element-x-android into langleyd/live_waveform 2023-10-27 12:28:46 +01:00
Jorge Martin Espinosa
0bd9c78836 Initial support for member suggestions (#1631)
* Initial support for member suggestion (search and UI)

* Add custom `BottomSheetScaffold` implementation to workaround several scrolling bugs

* Start searching as soon as `@` is typed, add UI following initial designs

* Extract suggestion processing code

* Extract component, add previews, fix tests

* Add tests

* Add exception from kover to the forked bottom sheet code

* Add a feature flag for mentions

- Extract composer & mention suggestions to their composable.
- Extract mentions suggestions processing to its own class.
- Add `MatrixRoom.canTriggerRoomNotification` function.
- Update strings and conditions for displaying the `@room` mention.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-10-27 10:26:40 +00:00
Benoit Marty
bb55a5676c Secure backup 2023-10-27 12:18:40 +02:00
David Langley
05c8a286d1 Merge branch 'langleyd/live_waveform' of https://github.com/vector-im/element-x-android into langleyd/live_waveform 2023-10-27 10:56:48 +01:00
David Langley
cd41875c08 Fix tests 2023-10-27 10:56:45 +01:00
Marco Romano
d7ce326612 Show correct UI when replying to a voice message (#1658)
Shows voice messages in the room summary.
Shows voice messages in the reply context menu and composer.
Show replies to voice messages in the timeline. 

(before this PR voice messages were shown the same as audio messages)

Story: https://github.com/vector-im/element-meta/issues/2106
2023-10-27 11:30:57 +02:00
Benoit Marty
61d59913bb Merge pull request #1651 from vector-im/feature/bma/uiUpdate
Preparatory work for SecureBackup: UI update
2023-10-27 11:03:29 +02:00
David Langley
0c4e7547a2 Merge branch 'develop' into langleyd/live_waveform 2023-10-27 09:37:21 +01:00
David Langley
d0664dae0d Fix tests 2023-10-27 09:32:05 +01:00
Marco Romano
eb223deba1 Move MediaPlayer from messages module to new dedicated library module (#1654) 2023-10-27 09:58:17 +02:00
David Langley
7425c3905b lint 2023-10-27 08:45:20 +01:00
David Langley
1db2adae7e Merge branch 'develop' of https://github.com/vector-im/element-x-android into langleyd/live_waveform 2023-10-27 08:44:25 +01:00
David Langley
d20ae3f6b9 FIx height and concurrent exception
- Fix live waveform hight
- Fix concurrent modification exception when sharing levels
- Tidy up width of live waveform
2023-10-27 08:41:08 +01:00
Benoit Marty
22c7b587a9 Merge pull request #1653 from vector-im/feature/bma/secureBackupSdk
SecureBackup: update matrix sdk module.
2023-10-27 09:35:19 +02:00
David Langley
510b1f63b9 Simple live waveform implementation. 2023-10-26 23:46:03 +01:00
Marco Romano
a67560c74b Convert mx waveform to floats as early as possible in the chain (#1652)
This way we're sure that internally we always deal with [0;1] float samples. the [0;1024] int range is used only at the rust sdk boundary.
2023-10-26 16:58:00 +00:00
Benoit Marty
b5ffa6eef3 SecureBackup: update matrix sdk module. 2023-10-26 18:02:34 +02:00
Benoit Marty
f9cf3c814d Fix warning: Composable functions should only be emitting content into the composition from one source at their top level. 2023-10-26 17:49:13 +02:00
Benoit Marty
c93470b6e4 Rename file. 2023-10-26 17:40:51 +02:00
Benoit Marty
b12f9ff3a8 Use DialogLikeBannerMolecule in NotificationSettingsView. 2023-10-26 17:40:51 +02:00
Benoit Marty
243c47682f Design: extract DialogLikeBannerMolecule from RequestVerificationHeader 2023-10-26 17:40:51 +02:00
Benoit Marty
c6ddc33be7 Preference: Add badge to the icon preference. 2023-10-26 17:40:51 +02:00
Benoit Marty
f34fdcc87b Design kit: add destructive dialog action 2023-10-26 17:40:51 +02:00
Benoit Marty
1af4bfb1d8 Design kit: add destructive buttons. 2023-10-26 17:40:51 +02:00
Benoit Marty
6f4335bd02 Add RedIndicatorAtom 2023-10-26 17:40:51 +02:00
Marco Romano
4a390296cf Include waveform when sending voice messages (#1650)
- New `AudioLevelCalculator` that outputs dB0v rescaled to the [0;1] range.
- `VoiceRecorder` now stores the audio levels sampled while recording, then resamples them to 100 samples to use as waveform preview.
- Waveform data is carried all the way as a `List<Float>` and converted to `List<Int>` in the [0;1024] range as per matrix spec only before sending it.
2023-10-26 17:37:24 +02:00