docs(android): mark B41's settings read as landed

This commit is contained in:
nvrl committed 2026-10-13 16:51:23 +02:00
1 parent c261f88c3f
commit aa0f4b1250
1 file changed
+5 -4
+5 -4
View File
@@ -20,8 +20,7 @@ and B41 states which of its items are done.
Individually small, grouped so they are not lost. The items marked **Landed** Individually small, grouped so they are not lost. The items marked **Landed**
came with Phases 4 and 5; the rest are still open, which is why this entry is. came with Phases 4 and 5; the rest are still open, which is why this entry is.
What remains is one item — the asynchronous track-list read-back — plus the What remains is one item: the asynchronous track-list read-back.
`SettingsStore` construction on the main thread.
- `NativeMpvHost.kt:131-135` reads the track list back immediately after an - `NativeMpvHost.kt:131-135` reads the track list back immediately after an
asynchronous property set, so the selection tick lags by up to a second; asynchronous property set, so the selection tick lags by up to a second;
@@ -39,8 +38,10 @@ What remains is one item — the asynchronous track-list read-back — plus the
unreachable. The constructor is private behind `NativeMpvHost.createOrNull()`, unreachable. The constructor is private behind `NativeMpvHost.createOrNull()`,
the service holds a nullable host, and the binder hands back a nullable one — the service holds a nullable host, and the binder hands back a nullable one —
which is what `PlayerScreen` was already written for. which is what `PlayerScreen` was already written for.
- `PlaybackService.kt:43` constructs `SettingsStore` on the main thread inside a - **Landed.** `PlaybackService.kt:43` constructs `SettingsStore` on the main
hot callback; the first SharedPreferences access is disk I/O. thread inside a hot callback; the first SharedPreferences access is disk I/O.
`ProtonStreamApplication` now loads the file on a background thread at
startup, so every later read is from memory.
- **Landed.** `MainActivity` set `bound` only in `onServiceConnected`, so an - **Landed.** `MainActivity` set `bound` only in `onServiceConnected`, so an
activity destroyed with a bind still pending never unbound. It is now set from activity destroyed with a bind still pending never unbound. It is now set from
the `bindService` return value. the `bindService` return value.