Skip to content

feat(player): add customizable swipe-up actions for now playing screen#807

Open
Nox-Wizard-py wants to merge 12 commits into
ArchiveTuneApp:devfrom
Nox-Wizard-py:feat/custom-swipe-up-gesture-dev
Open

feat(player): add customizable swipe-up actions for now playing screen#807
Nox-Wizard-py wants to merge 12 commits into
ArchiveTuneApp:devfrom
Nox-Wizard-py:feat/custom-swipe-up-gesture-dev

Conversation

@Nox-Wizard-py

Copy link
Copy Markdown

Summary

Implements a configurable swipe-up gesture for the Now Playing screen.

Users can now choose which action is triggered when swiping up from the player artwork / metadata area, allowing the gesture to be adapted to individual workflows instead of being fixed to a single behavior.

Available Actions

  • Lyrics
  • Queue
  • Artist
  • Album
  • Song Info
  • None

Changes

  • Added SwipeUpAction preference and enum support
  • Added settings UI for selecting swipe-up behavior
  • Implemented reusable swipe-up gesture detection
  • Added gesture handling for:
    • Default player layout
    • V8 player layout
    • V9 player layout
  • Integrated navigation actions for lyrics, queue, artist, album, and song info
  • Added localization strings for the new settings

Implementation Notes

  • Gesture is attached to the lower artwork / metadata region to avoid conflicts with existing controls.
  • Seek bar interactions remain unaffected.
  • Existing artwork swipe gestures remain unchanged.
  • Gesture execution is preference-driven and updates dynamically.

Testing

  • Built successfully using assembleDebug
  • Tested on device
  • Verified all swipe-up actions
  • Verified default, V8, and V9 player layouts
  • Verified settings persistence after restart

Closes #710

Introduces the configuration state required for the customizable player swipe-up gesture.
Adds the core navigation routing logic to BottomSheetPlayer and threads the onSwipeUp callback down through the layout hierarchy.
… layouts

Implements a reusable, single-trigger swipe-up gesture modifier and securely attaches it to the metadata containers of the Default, V8, and V9 player designs.
Exposes the SwipeUpAction configuration to the user within the player appearance settings menu.
Provides the necessary display titles and enum option labels for the new swipe gesture UI.
Resolves redeclaration and conflicting declaration compiler errors by removing the duplicate enum injected at the top of the file.
…um values

Fixes an `Argument type mismatch` error by explicitly typing the handleSwipeUp lambda as `() -> Unit` and updates enum cases to match the uppercase upstream definitions.
Fixes an `Unresolved reference 'detectDragGestures'` error by explicitly providing type declarations for the `change` and `dragAmount` lambda parameters in `onDrag`.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 259b9070cc

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@sang765 sang765 added the ENHANCEMENT New feature or request label Jun 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ENHANCEMENT New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants