Morphe patch bundle 1.4.81
Boost for Reddit
Changes
- Stabilizes Boost's canonical bottom-navigation geometry when Android reports inconsistent or transient navigation-bar inset values.
- Uses the decor root inset as an authoritative fallback when a child callback reports zero.
- Retains an established non-zero inset only during transient zero-inset callbacks rather than allowing the navigation row to drop into the Android system controls.
- Makes geometry mutations idempotent so repeated inset callbacks do not continuously rewrite layout parameters, padding, visibility, translation, or alpha.
- Preserves the existing five-destination navigation ownership, appearance, labels, and routing contract.
User impact
Boost's bottom navigation remains directly above Android's gesture area or three-button navigation controls instead of being covered by them. The change also handles a live switch between navigation modes without retaining the larger three-button inset after Android changes to gesture navigation.
Validation
- Built and tested from the clean feature commit
5e57cd30eedc0c9e627f7194a226dea0649ae011. - Verified on Pixel 6 running Android 17 in gesture and three-button navigation modes.
- Measured the actual Boost View bounds against WindowManager's system navigation frame with zero overlap and zero gap.
- Verified real system input using
adb shell input tap, including destination routing. - Repeated the clean-build routing test six times across startup delays from zero to five seconds.
- Verified a live three-button-to-gesture transition without restarting the Boost process: effective inset changed from 126 px to 63 px.
- Confirmed no stale inset, geometry callback loop, diagnostic code, or relevant runtime crash.
- OEM confirmation on the originally affected Samsung device remains pending.
Validation
- Final local release gate passed before publish.
- README SHA is aligned to the published MPP.
- Release tag:
morphe-patches-81. - Release asset:
patches-1.4.81.mpp. - Signature asset:
patches-1.4.81.mpp.asc. - MPP SHA256:
6bd043ec0ae785060a257451cc2c84b0e10c8dae664bd6af2cb609100555d71a.