Commit Graph

721 Commits

Author SHA1 Message Date
Marco Romano
eb2836f42b Voice message scrubbing improvements (#1847)
- Voice messages can be scrubbed (i.e. seeked to) even when they have not been played yet..
- The progress bar is displayed also when paused.
- Multiple voice messages can keep their state when paused.
- Tries to adhere as much as possible at the detailed "green cursor" behavior in the story (but might not be 100% compliant).

Story: https://github.com/vector-im/element-meta/issues/2113
2023-11-21 20:48:08 +01:00
Jorge Martin Espinosa
a52d78c3b3 Add intentional mentions (#1843)
* Add intentional mentions
2023-11-21 17:34:00 +01:00
Jorge Martin Espinosa
b8ee82a912 Integrate mentions in the composer (#1799)
* Integrate mentions in the composer:

    - Add `MentionSpanProvider`.
    - Add custom colors needed for mentions.
    - Use the span provider to render mentions in the composer.
    - Allow selecting users from the mentions suggestions to insert a mention.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-11-20 18:14:02 +01:00
Benoit Marty
936f1388f1 Fix compilation issue after merge. 2023-11-20 14:13:03 +01:00
Benoit Marty
66c9bc6c62 Merge branch 'develop' into feature/bma/readReceipts 2023-11-20 12:15:32 +01:00
Marco Romano
2e62671cda Stop voice message on redaction (#1826)
As per product spec: Voice messages must stop playing when redacted.
2023-11-20 09:48:25 +00:00
Marco Romano
af8f5b805c Delete media caches on startup (#1807)
Clear media caches on app startup
2023-11-20 09:48:11 +00:00
ElementBot
abea28a5d2 Sync Strings (#1839)
* Sync Strings from Localazy

* Fix 'Report a problem' screen title

---------

Co-authored-by: bmarty <bmarty@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2023-11-20 09:07:53 +00:00
ganfra
624d920e2f Timeline : do not use SubcomposeLayout if not needed 2023-11-17 17:53:45 +01:00
Benoit Marty
3b88e030c6 Send state: show if null and is last message.
Read receipt: Also show the send state even if the flag for read receipt is set to false.
2023-11-17 16:40:53 +01:00
Benoit Marty
476373731f Remove hard-coded value. 2023-11-17 16:40:53 +01:00
Benoit Marty
e15610441b Read receipt: Rework how the feature flag is used.
tom
2023-11-17 16:40:53 +01:00
Benoit Marty
75eb2bbd25 Read receipt: BottomSheet: Add "seen by" title. 2023-11-17 16:40:53 +01:00
Benoit Marty
84f61170d8 Read receipt: Improve accessibility 2023-11-17 16:40:53 +01:00
Benoit Marty
2ad2a4bee8 Read receipt: Do not impact screenshot test for timeline. 2023-11-16 14:27:14 +01:00
Benoit Marty
b8cd6c2706 Read receipt: Open room member page when clicking on a read receipt from the bottom sheet. 2023-11-16 14:05:00 +01:00
Benoit Marty
9f522b2671 Read receipt: Cleanup 2023-11-16 14:05:00 +01:00
Benoit Marty
ee54414eab Read receipt: fix test and add test for ReadReceiptBottomSheetPresenter 2023-11-16 14:05:00 +01:00
Benoit Marty
d5d002ce5d Read receipt: Bottom sheet 2023-11-16 14:05:00 +01:00
Benoit Marty
3e0971f189 Read receipt: model and UI. 2023-11-16 14:05:00 +01:00
Benoit Marty
dc0c9093be Fix typo 2023-11-16 14:05:00 +01:00
Jorge Martin Espinosa
5701e98d77 Remove Element Call feature flag and revert base URL to call.element.io (#1809)
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-11-15 13:02:24 +00:00
Jorge Martin Espinosa
14cf2b0440 Iterate design on several screens: update icons, replace PreferenceTexts (#1771)
- Batch import new icons from the design team.
- Rename _september icons since they're just extra icons that need to be integrated in Compound in the future, and it should be ok if we don't distinguish between ic_september_*, ic_november_* etc., so all icons are now simply ic_* in the designsystem module.
- Create a new CompoundIconListPreviewProvider to add chunked lists of icons for previews. Add an exception for it to Konsist.
- Move some icons to use Compound icons.
- Remove most PreferenceText usages, use ListItem instead.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-11-15 10:52:37 +01:00
Benoit Marty
3db5d8bf68 Timeline: render TimelineItemReadMarkerModel 2023-11-14 18:10:26 +01:00
Benoit Marty
968a4d3fd0 Add a View to show the beginning of the timeline (parity with iOS) 2023-11-14 17:31:42 +01:00
jonnyandrew
74b0c341ec Fix merge conflict (#1804) 2023-11-14 16:21:58 +00:00
Benoit Marty
280f6a9c0c Merge pull request #1798 from vector-im/feature/bma/config
Configs object in appconfig and move strings to dedicated modules.
2023-11-14 16:53:46 +01:00
Marco Romano
082631caa5 Allow to seek a voice message before playing it (#1780) 2023-11-14 16:23:51 +01:00
jonnyandrew
638fdf495c Show error dialog when voice message fails to send (#1796)
---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-11-14 15:05:07 +00:00
jonnyandrew
c7d308f6dd Delay displaying the voice message download indicator (#1793)
---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-11-14 15:04:43 +00:00
Marco Romano
eca784ce57 Persist state of VoiceMessagePresenter in memory (#1795)
Allows [VoiceMessagePresenter] instances to keep their progress and download states while going in and out of the timeline viewport.

This is implemented by caching each instance of a TimelineItem presenter inside the RoomScope. TimelineItem presenters can move some of their state outside of the `present()` function so that such state will survive scrollings of the timeline.
2023-11-14 14:24:24 +00:00
jonnyandrew
53f03335c3 Update voice message recording button behaviour (#1784)
Changes recording button behaviour so that
- tapping the record button starts a recording and displays the stop button
- tapping the stop button stops the recording
- tapping the delete button cancels the recording
- 'hold to record' tooltip is removed


---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-11-14 14:05:59 +00:00
Benoit Marty
23129b4c19 Fix rendering of emote when the message contains some formatting. 2023-11-14 14:28:15 +01:00
Benoit Marty
022c5221a8 Localazy: move report_content strings to the :features:messages:impl module. 2023-11-14 11:37:21 +01:00
Benoit Marty
0cebb0423f Localazy: move emoji_picker_category_ strings to the :features:messages:impl module. 2023-11-14 10:53:30 +01:00
ElementBot
38f1d9932b Sync Strings (#1789)
Co-authored-by: bmarty <bmarty@users.noreply.github.com>
2023-11-13 12:31:34 +01:00
jonnyandrew
7a4adf3e28 Enable seeking a recorded voice message (#1758) 2023-11-10 09:18:01 +00:00
Marco Romano
0dd9f23838 Voice message MediaPlayer: wait until player is ready (#1772)
Change to `MediaPlayer` API to allow waiting for the player to be in a ready state.
This is needed in order to perform some tasks (e.g. read the media duration, seek) after changing the media file.
2023-11-09 14:34:38 +00:00
Marco Romano
8f1b699271 Don't leak MediaFileHandle when downloading voice messages (#1748)
Uses the new `MediaFile.persist()` [API](https://github.com/matrix-org/matrix-rust-sdk/pull/2789) to cache voice messages.
This allows to close the `MediaFile` handle after use and keeping the file.
Also disables rust sdk caching for voice messages as we'll use the app's cache dir for that purpose.

Fixes: https://github.com/vector-im/element-meta/issues/2175
2023-11-09 14:15:11 +00:00
Benoit Marty
e7a6e4039c Add preview for AttachmentThumbnail and fix issue rendering for AttachmentThumbnailType.Location for coherency. 2023-11-08 16:28:07 +01:00
Benoit Marty
ea9b222b0e If media source for thumbnail info is not available for image, use the source image as a fallback. But if it is available, use it. 2023-11-08 15:48:06 +01:00
Benoit Marty
062567fadc Merge pull request #1767 from vector-im/feature/bma/encryptedMessages
Feature/bma/encrypted messages
2023-11-08 11:58:38 +01:00
Jorge Martin Espinosa
5bb8efb728 Iterate design on Settings screen (#1763)
* Iterate design on Settings screen:

- Set new icons provided by design.
- Replace `PreferenceText` usages with `ListItem`.
- Add missing icons, and a new way to group them for previews.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-11-08 11:31:17 +01:00
Marco Romano
d1a9d5e377 Voice messages: Don't crash if mxc uri is invalid (#1756)
<!-- Please read [CONTRIBUTING.md](https://github.com/vector-im/element-x-android/blob/develop/CONTRIBUTING.md) before submitting your pull request -->
 
## Type of change

- [ ] Feature
- [x] Bugfix
- [ ] Technical
- [ ] Other :

## Content

Code now checks whether the mx uri is invalid and handles the error condition properly.

## Motivation and context

https://github.com/vector-im/element-x-android/pull/1748#discussion_r1384557443

## Screenshots / GIFs

<!--
We have screenshot tests in the project, so attaching screenshots to a PR is not mandatory, as far as there
is a Composable Preview covering the changes. In this case, the change will appear in the file diff.
Note that all the UI composables should be covered by a Composable Preview.

Providing a video of the change is still very useful for the reviewer and for the history of the project.

You can use a table like this to show screenshots comparison.
Uncomment this markdown table below and edit the last line `|||`:
|copy screenshot of before here|copy screenshot of after here|

|Before|After|
|-|-|
|||
 -->

## Tests

<!-- Explain how you tested your development -->

- Step 1
- Step 2
- Step ...

## Tested devices

- [ ] Physical
- [ ] Emulator
- OS version(s):

## Checklist

<!-- Depending on the Pull Request content, it can be acceptable if some of the following checkboxes stay unchecked. -->

- [ ] Changes have been tested on an Android device or Android emulator with API 23
- [ ] UI change has been tested on both light and dark themes
- [ ] Accessibility has been taken into account. See https://github.com/vector-im/element-x-android/blob/develop/CONTRIBUTING.md#accessibility
- [ ] Pull request is based on the develop branch
- [ ] Pull request includes a new file under ./changelog.d. See https://github.com/vector-im/element-x-android/blob/develop/CONTRIBUTING.md#changelog
- [ ] Pull request includes screenshots or videos if containing UI changes
- [ ] Pull request includes a [sign off](https://matrix-org.github.io/synapse/latest/development/contributing_guide.html#sign-off)
- [ ] You've made a self review of your PR
2023-11-08 07:46:00 +01:00
Benoit Marty
a284f5cb03 UTD: Change wording from "Decryption error" to "Waiting for this message" 2023-11-07 17:52:06 +01:00
Jorge Martin Espinosa
92fa35e0c7 Message composer isn't resized when changing the replied to message (#1750) 2023-11-07 16:59:58 +01:00
Benoit Marty
5777ed0a76 Merge pull request #1742 from vector-im/sync-localazy
Sync Strings
2023-11-06 16:05:01 +01:00
Benoit Marty
044b6ac018 Use AsyncView in EditUserProfileView 2023-11-06 10:09:41 +01:00
Benoit Marty
41040f45ef Use AsyncView in ReportMessageView 2023-11-06 10:09:41 +01:00
bmarty
6014858aba Sync Strings from Localazy 2023-11-06 08:23:40 +00:00