diff options
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/superpowers/plans/2026-10-20-corrections-and-signature-library.md | 30 |
1 files changed, 23 insertions, 7 deletions
diff --git a/docs/superpowers/plans/2026-10-20-corrections-and-signature-library.md b/docs/superpowers/plans/2026-10-20-corrections-and-signature-library.md index 6dea531..cd79f1e 100644 --- a/docs/superpowers/plans/2026-10-20-corrections-and-signature-library.md +++ b/docs/superpowers/plans/2026-10-20-corrections-and-signature-library.md @@ -60,7 +60,7 @@ Tapping a break mark opens metadata and a verdict. Detail in the dispatch; the p - **Verdicts stay local for now.** No endpoint, no consumer. Storing them from today means a corpus exists by the time the library does. -### 1b. "This is an ad" in the notification — NOT STARTED +### 1b. "This is an ad" in the notification — DONE 2026-10-20 Peter, 2026-10-20: *"The notification currently has duplicate skip buttons (our custom ones plus forward/back) - there's UI space for explicit 'this is an ad' there."* @@ -71,12 +71,28 @@ forward/back) - there's UI space for explicit 'this is an ad' there."* `NotificationControls.customLayout()` publishes a second seek-back-15 / forward-25 pair on top. Reclaiming a slot means dropping one pair. -**Do this on a device, carefully.** `ListenSessionCallback` carries a comment recording that -removing commands to free notification slots once silently killed the headphone skip button. -Whichever pair goes, verify: the notification, the lock screen, Bluetooth/headphone transport, -and Android Auto. Note also that that comment currently contradicts its own code — it says "Only -previous-media-item goes" while the code removes both previous and next. Worth resolving while -in there. +**How the slot was reclaimed — no command was removed at all.** Media3 1.8 has media button +*preferences*: a `CommandButton` claiming `SLOT_BACK` or `SLOT_FORWARD` takes that slot instead +of the default previous/next button (`DefaultMediaNotificationProvider.getMediaButtons` checks +`CommandButton.containsButtonForSlot` before adding its own). So `setCustomLayout` became +`setMediaButtonPreferences`, the custom back-15 / forward-25 pair claimed the two seek slots, the +duplicate defaults disappeared, and "This is an ad" went in `SLOT_FORWARD_SECONDARY` falling back +to `SLOT_OVERFLOW`. Player commands are untouched, so the headphone regression that comment warns +about cannot recur by this route. The comment's contradiction was resolved while in there. + +**Verified on the emulator, 2026-10-20.** Notification actions are now exactly +`[Back 15 seconds] [Pause] [Forward 25 seconds] [This is an ad]` — four, not five. The platform +session carries all three custom actions, so the shade and lock-screen players show the +circle-and-slash button, and pressing it **from the lock screen without unlocking** recorded a +claim. All four gesture arms confirmed live, plus "nothing written" for a seek-back outside the +window. Headphone/Bluetooth transport keys still seek: `KEYCODE_MEDIA_NEXT` +25s, +`KEYCODE_MEDIA_PREVIOUS` -15s. + +**Android Auto is NOT verified** — it needs the real car. The risk is low (player commands, +browse tree and custom actions are all unchanged or strictly added to) but it is not zero. + +**What the default jump is.** 45s, three 15-second units, when nothing better is known; the end +of the detected break when the press lands inside one. See `AdJump`. **Why this button matters more than the popup.** They catch opposite errors: |
