Repository navigation
WaEnhancer Community 0.0.18
WaEnhancer Community 0.0.18
SHA-256: 822f4cbaaf71402987dfd920f34d513ba867abd7d79f18180e1fef92bbbd9154
Changes since v0.0.17.
What's changed
- #90 fix(glass): bubble glass at rest, pager-synced swipes, no green flash
Full changelog
This section compiles the descriptions of the pull requests included in this release.
#90 — fix(glass): bubble glass at rest, pager-synced swipes, no green flash
Merged by contribution from @igorcv88.
Follow-up to #89, based on the user's third device recording.
| Symptom | Cause | Fix |
|---|---|---|
| Swipes never move the bubble; it jumps after the page settles | The androidx.viewpager.widget.ViewPager method hooks never fire on this WhatsApp build: the tabs pager is obfuscated |
Removed the hooks. Instead, poll the pager's scroll offset every window frame, and every bubble frame while following. A classic pager uses scrollX/width; a RecyclerView-backed one uses reflective View.computeHorizontalScrollOffset on its scrolling child. Pages map to tabs through getTabIdForIndex. While the pager moves, the bubble lifts and follows it; two still frames deflate it. After a finger drag selects a tab, the pager's own scroll is ignored until it settles. |
| Green flash on every page change | The lens recorded the tab row through an accent SRC_IN filter |
The tab row is recorded in its own colours. |
| Bubble is not glass at rest | At rest it was only a translucent wash | It keeps REST_GLASS = 35% of the pressed lens and rim at rest, with no rise and no inner shadow. KyantLens.bubble(dark, press, glass, density) separates the two: press drives the wash and shadow, glass drives the lens and rim. It redraws in the same frame whenever the bar's capture view is dirty, so it never starts a frame loop of its own. |
Validation
:app:testWhatsappDebugUnitTest :app:assembleWhatsappDebug: 456 tests, 0 failures. Added a test for the resting glass.tools/agsl_check.py: OK.- Not tested on a device. Unknowns: whether the pager's scroll source is detected correctly on this build, and the per-frame cost of the resting lens while the list scrolls.
🤖 Generated with Claude Code
https://claude.ai/code/session_0157emnK4gGDtGGT282rGFw8
Generated by Claude Code