I want to scrub the playback position of a voice message
So that I can quickly rewind or skip to a different playback position
Acceptance criteria
Playback position indicator displays when playing or paused
Tapping the player moves the playback position
Works in the timeline for received messages
Works in the preview player for recorded messages
Detailed green cursor (a.k.a 'scrubber') behaviour
The cursor does not display initially.
If the cursor is not already displayed:
dragging the waveform does not make the cursor appear;
tapping the waveform does make the cursor appear; and
playing the voice message does make the cursor appear.
Once the voice message finishes playing, the cursor disappears.
Dragging a visible cursor moves it. The touch target is accurate to just the area around the cursor.
Tapping the waveform moves the cursor to different parts of the recording.
Once the scrubber is displayed, it continues to display even when other voice messages are played.
Hence, showing multiple scrubbers on different voice messages is okay.
And as multiple cursors can show, they can all be dragged.
If another voice message is played, the position of the cursors on other paused voice messages is maintained.
Size estimate
None
Dependencies
2104
2083
2112
Preconditions
No response
Sign-off
Android
[ ] Design sign-off on completion
[ ] QA sign-off on completion
[ ] Product sign-off on completion
iOS
[ ] Design sign-off on completion
[ ] QA sign-off on completion
[ ] Product sign-off on completion
Out of scope
No response
Open questions
No response
Subtasks
### Android
- [ ] Verified with build in screen reader
- [ ] Playback position indicator displays when playing or paused
- [ ] Tapping or dragging the player moves the playback position
- [ ] Works in the timeline for received messages
- [ ] Works in the preview player for recorded messages
- [ ] https://github.com/vector-im/element-x-android/pull/1780
- [ ] https://github.com/vector-im/element-x-android/pull/1795
- [ ] https://github.com/vector-im/element-x-android/pull/1847
### iOS
- [ ] Verified with build in screen reader
- [ ] https://github.com/vector-im/element-meta/issues/2190
- [ ] Tapping or dragging the player moves the playback position
- [ ] Works in the timeline for received messages
- [ ] Works in the preview player for recorded messages
Description
Acceptance criteria
Detailed green cursor (a.k.a 'scrubber') behaviour
Size estimate
None
Dependencies
2104
2083
2112
Preconditions
No response
Sign-off
Android
iOS
Out of scope
No response
Open questions
No response
Subtasks