ganjoorandroid/app/src/main
anas 488f48ad39 Keep the reading playing when the poem is scrolled, and let it be scrubbed
The player was an item of the LazyColumn, so scrolling it off screen disposed
it, and the DisposableEffect that releases the MediaPlayer cut the reading off
mid-line. It is now pinned above the scrolling text: it stays in composition for
as long as the poem is open, and stays in reach while you read further down,
which is when a player is wanted.

A seek bar comes with it — position, a draggable handle, and the two times —
shown only once the length is known, because a bar that cannot be dragged
anywhere is furniture. The handle follows the audio on a 250ms poll while it
plays and stops fighting the finger while it is being dragged. MediaPlayer
already seeks; this needed no media library.

The bar and its times run left to right inside the otherwise right-to-left page,
because time does, whatever the script.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-10-07 18:22:28 +02:00
..
assets Show how a word is pronounced, Classical Persian first 2026-10-04 17:48:12 +02:00
java/com/ganjoor/android Keep the reading playing when the poem is scrolled, and let it be scrubbed 2026-10-07 18:22:28 +02:00
keepRules Initial Android Studio Compose scaffold 2026-10-03 22:16:22 +02:00
res Add a column layout for tablets and unfolded foldables 2026-10-07 14:05:07 +00:00
AndroidManifest.xml Drop the "ask an assistant" entry from the selection menu 2026-10-04 19:14:22 +02:00