mirror of
https://github.com/narrrl/proton-stream.git
synced 2026-11-03 16:41:26 +01:00
docs(android): stop describing Picture-in-Picture, and say what PLAN.md has not done
Picture-in-Picture was removed from the Android client, but B40 still read as a live fix, B42 stayed open on a `pending` PiP case that no longer exists, and two code comments still named it. PLAN.md marked every recommendation done; its status now lists the ones a source review found short.
This commit is contained in:
1 parent
7994097a25
commit
33da1563ee
4 files changed
+31
-11
No files matched your search
@@ -26,6 +26,23 @@ indicator while a crawl runs, but not the crawl's progress.
|
|||||||
Not yet verified on a device; the host gate (ktlint, unit and screenshot
|
Not yet verified on a device; the host gate (ktlint, unit and screenshot
|
||||||
tests) passes, and Android lint runs in CI.
|
tests) passes, and Android lint runs in CI.
|
||||||
|
|
||||||
|
A source review on 2026-10-12 found these still short of the text below:
|
||||||
|
|
||||||
|
- **Title page.** The backdrop scrolls away with the back button instead of
|
||||||
|
collapsing to a pinned bar, and the icon row has no mark-watched action.
|
||||||
|
- **Episode rows** show the file size where runtime was asked for.
|
||||||
|
- **Player episode list** is a bottom sheet in landscape too, not a side
|
||||||
|
panel.
|
||||||
|
- **Storage** has a usage bar for the streaming cache only; offline episodes
|
||||||
|
have none.
|
||||||
|
- **Metadata language** is still a free-text field.
|
||||||
|
- **Touch targets.** The player's icons are 40 dp, under the 48 dp floor.
|
||||||
|
- **Screenshots** do not cover the player, and only the library is taken at
|
||||||
|
font scale 1.5.
|
||||||
|
|
||||||
|
Share rows now say how many files the last crawl found, when it ran and why it
|
||||||
|
failed (section 2, Shares), as of the catalog's `share_crawls` table.
|
||||||
|
|
||||||
## 0. CI (done)
|
## 0. CI (done)
|
||||||
|
|
||||||
Every `Android` workflow run since August failed in `:app:buildRustHost`:
|
Every `Android` workflow run since August failed in `:app:buildRustHost`:
|
||||||
|
|||||||
@@ -202,7 +202,7 @@ struct PlaybackState {
|
|||||||
/// and must not be attributed to the file being loaded.
|
/// and must not be attributed to the file being loaded.
|
||||||
bool loading = false;
|
bool loading = false;
|
||||||
/// The picture's display size, once mpv has decoded enough to know it.
|
/// The picture's display size, once mpv has decoded enough to know it.
|
||||||
/// Zero until then, and the aspect Picture-in-Picture is given.
|
/// Zero until then.
|
||||||
double video_width = 0.0;
|
double video_width = 0.0;
|
||||||
double video_height = 0.0;
|
double video_height = 0.0;
|
||||||
/// Which loaded file this state describes. Bumped by every load, so a
|
/// Which loaded file this state describes. Bumped by every load, so a
|
||||||
|
|||||||
@@ -245,7 +245,7 @@ class NativeMpvHost private constructor(private val nativeHandle: Long) : Libmpv
|
|||||||
*/
|
*/
|
||||||
fun beginTransition() { mutableAdvancing.value = true }
|
fun beginTransition() { mutableAdvancing.value = true }
|
||||||
|
|
||||||
/** Names the open episode for the media session, its notification and PiP. */
|
/** Names the open episode for the media session and its notification. */
|
||||||
fun publish(playing: NowPlaying?) { mutableNowPlaying.value = playing }
|
fun publish(playing: NowPlaying?) { mutableNowPlaying.value = playing }
|
||||||
|
|
||||||
fun setPaused(paused: Boolean) {
|
fun setPaused(paused: Boolean) {
|
||||||
|
|||||||
+12
-9
@@ -117,15 +117,13 @@ position advances, which can only happen if real decrypted bytes reached the
|
|||||||
decoder. One live run serves all five cases, because each re-crawl of a real
|
decoder. One live run serves all five cases, because each re-crawl of a real
|
||||||
share costs about six minutes and the crawl is not what any of them tests.
|
share costs about six minutes and the crawl is not what any of them tests.
|
||||||
|
|
||||||
**Still open, and the reason this entry stays open.** `picture-in-picture` is
|
**Still open, and the reason this entry stays open.** The matrix has not been
|
||||||
`pending`. It is no longer blocked on the app —
|
run on hardware since the 2026-10 redesign of every screen, and
|
||||||
[B40](#b40--picture-in-picture-was-entered-but-never-adapted-to) landed, so
|
`process-recreation` has not been re-run since
|
||||||
there is correct behaviour to assert — but the live suite drives the engine and
|
[B35](#b35--navigation-and-player-state-did-not-survive-process-recreation)
|
||||||
libmpv directly, and PiP is a property of the window, so the case needs an
|
landed. The `picture-in-picture` case that was `pending` below went with
|
||||||
activity-level driver that does not exist yet. Every run still prints that the
|
Picture-in-Picture itself, which was later removed (`docs/ANDROID.md`), so
|
||||||
matrix is incomplete. `process-recreation` has been promoted off its `xfail`
|
nothing is `pending` any more.
|
||||||
now that [B35](#b35--navigation-and-player-state-did-not-survive-process-recreation)
|
|
||||||
has landed, and has not been re-run on hardware since.
|
|
||||||
|
|
||||||
**Verified on hardware**, 2026-08-08, Pixel 6 (`arm64-v8a`, API 37) against the
|
**Verified on hardware**, 2026-08-08, Pixel 6 (`arm64-v8a`, API 37) against the
|
||||||
signed minified release APK:
|
signed minified release APK:
|
||||||
@@ -1289,6 +1287,11 @@ out rather than leaving them mid-timeout.
|
|||||||
suppressed. The `picture-in-picture` acceptance case is now implementable — it
|
suppressed. The `picture-in-picture` acceptance case is now implementable — it
|
||||||
was `pending` precisely because the assertion would have had to assert this bug.
|
was `pending` precisely because the assertion would have had to assert this bug.
|
||||||
|
|
||||||
|
**Since removed.** Picture-in-Picture itself was taken out later: a PiP window
|
||||||
|
that never sized its video right proved less use than background audio and the
|
||||||
|
lock-screen transport (`docs/ANDROID.md`). This entry records a fix to code
|
||||||
|
that no longer exists.
|
||||||
|
|
||||||
### B45 — the play/pause button did nothing, everywhere
|
### B45 — the play/pause button did nothing, everywhere
|
||||||
|
|
||||||
**Symptom.** Once an episode was open, every transport that can pause it was
|
**Symptom.** Once an episode was open, every transport that can pause it was
|
||||||
|
|||||||
Reference in new issue
Block a user