132c46817f
OnLayoutChangeListener only fires on future layout changes, but dialog.show() triggers the initial content layout synchronously before the listener is registered. The sheet was stuck at the tiny halfExpandedRatio computed from the pre-layout content height (0). After registering the listener, do an immediate updateLayout() if the content view already has a nonzero height, so we pick up the real dimensions. https://claude.ai/code/session_01Rp7ef1h3fKh6fhStcjqLJ5