Closed Bug 2067125 Opened 15 days ago Closed 12 hours ago

Host the Listen player in the browser screen

Categories

(Firefox for Android :: Contextual AI, task, P2)

All
Android
task

Tracking

()

RESOLVED FIXED
158 Branch
Tracking Status
firefox158 --- fixed

People

(Reporter: bclark, Assigned: lola)

References

(Blocks 9 open bugs)

Details

(Whiteboard: [fxdroid][android-core])

Attachments

(1 file)

Put the player on screen, in the right place, and take it away again.

A ComposeView added to browserLayout, plus a CoordinatorLayout.Behavior that keeps it above the
bottom toolbar and rides down with it when the toolbar scrolls away. Copy PdfToolsIntegration and
PdfToolsBehavior, which do exactly this and are recent.

The article must stay scrollable behind the player.

A back press must never stop playback. The X on the card does that, and it dismisses the card.

Show the player when the state says a session is active and its tab is the selected tab.

ORDER
This ticket and "Build the Listen player card, both sizes" are independent of each other. If this
one is implemented first it renders a placeholder box. If the card ticket has already landed, render
the real card. Whichever goes second gets the real composition.

TECHNICAL NOTES

  • Add: fenix/.../listentopage/ListenSheetIntegration.kt and ListenSheetBehavior.kt
  • Update: BrowserFragment to register the integration
  • Update: Fenix res/values/ids.xml, and SnackbarBehavior.dependenciesIds
  • No store changes.
  • Copy the pattern from PdfToolsIntegration and PdfToolsBehavior. Do not copy PdfToolsBehavior's
    tablet branch: tablets are out of scope for this epic.

ACCEPTANCE CRITERIA

  • [ ] The player appears over a reader page when a session is active on the selected tab.
  • [ ] It sits above the bottom toolbar and moves down with the toolbar when the toolbar scrolls away.
  • [ ] The article stays scrollable behind it.
  • [ ] It survives rotation.
  • [ ] A back press does not stop playback. The X on the card stops playback and dismisses the card.
  • [ ] The player's id is in SnackbarBehavior.dependenciesIds, so snackbars clear it.
Blocks: 2067130
Blocks: 2067131
Blocks: 2067134
Blocks: 2067135
Blocks: 2067136
Assignee: nobody → ltokhtamuradova
Blocks: 2064880
Blocks: 2064879
Blocks: 2064878
Blocks: 2070882
Attachment #9639221 - Attachment description: WIP: Bug 2067125 Add ListenSheetIntegration and ListenSheetBehaviour → Bug 2067125 Add ListenSheetIntegration and ListenSheetBehaviour
Status: NEW → RESOLVED
Closed: 12 hours ago
Resolution: --- → FIXED
Target Milestone: --- → 158 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: