Skip to content

feat(glass): tablet dual-pane liquid glass for 1.6.2 - #70

Merged
Zennmn merged 19 commits into
mainfrom
codex/tablet-liquid-glass
Sep 27, 2026
Merged

Zennmn merged 19 commits into
mainfrom
codex/tablet-liquid-glass

Conversation

@Zennmn

@Zennmn Zennmn commented Sep 27, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • Add liquid-glass navigation and mini-player capsules to Apple Music's supported tablet dual-pane layout, with rounded hit testing, touch pass-through, and native mini-player gestures.
  • Keep the artwork aligned from the mini-player thumbnail through expansion, and place the bottom fade beneath both tablet capsules.
  • Reduce transition work: stop drawing fully faded glass, pause unused backdrop capture, prewarm capture on return for phone and tablet, use automatic compositing only for the tablet mini glass, and cap its transition width at 80% of the player sheet.
  • Declare the single modified Backdrop renderer file as a pinned AM++ patch while retaining the original upstream hashes for all other files.
  • Bump the module to 1.6.2 (112).

Validation

  • :glass:testDebugUnitTest :app:testDebugUnitTest :app:assembleRelease --offline passed.
  • python scripts/verify-glass-reference.py passed (33 original upstream files and one declared patch).
  • Tablet mini-player open/Back, touch, artwork, and glass layering were checked on a connected tablet; the user reports smoother return animation.
  • Phone capture timing compiles and passes unit tests; phone hardware was not connected for an on-device check.

Supersedes #68, which was closed before the final interaction and performance changes.

@Zennmn

Zennmn commented Sep 27, 2026

Copy link
Copy Markdown
Owner Author

@codex

@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: c2149620f5

ℹ️ 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".

Comment thread app/src/main/java/dev/amenhancer/module/hook/PhoneGlassRuntime.kt Outdated
@Zennmn

Zennmn commented Sep 27, 2026

Copy link
Copy Markdown
Owner Author

@codex

@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: d32f4e9707

ℹ️ 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".

find("bottom_navigation_root_flat") ?: find("bottom_navigation_root_stacked")

// The flat holder reserves miniplayer_height only (no navigation_tabs_height).
override fun nativePeekBaseline(): Int = bottomInset + dimen("miniplayer_height")

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Restore the stacked holder's complete native peek

Use the stacked-holder baseline here rather than omitting navigation_tabs_height. The dual-pane hook explicitly replaces the flat holder with StackedBottomNavigationHolder, and the base session models that holder as bottomInset + navigation_tabs_height + miniplayer_height. Because the glass hooks are commonly installed after the holder's initial native peek write, NativePeekHeight.initialize() retains this fallback and close() writes it back; rotating out of tablet landscape, disabling dual-pane, or fail-closing the session can therefore restore a peek that is one tab-bar height too short, leaving the collapsed player/navigation geometry overlapped until the host resets it.

Useful? React with 👍 / 👎.

@Zennmn

Zennmn commented Sep 27, 2026

Copy link
Copy Markdown
Owner Author

@codex

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Breezy!

Reviewed commit: 049d22eaa3

ℹ️ 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".

@Zennmn
Zennmn merged commit a4e0743 into main Sep 27, 2026
2 checks passed
@Zennmn
Zennmn deleted the codex/tablet-liquid-glass branch September 27, 2026 14:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant