From 29042fb102af839052060865a8f71eb5b0b60166 Mon Sep 17 00:00:00 2001 From: chris Date: Wed, 20 May 2026 08:29:56 -0700 Subject: [PATCH] Enhance resize function to track detent index changes fix(android): prevent TrueSheet collapse to detent 0 on dynamic content layout changes --- .../com/lodev09/truesheet/TrueSheetViewController.kt | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/android/src/main/java/com/lodev09/truesheet/TrueSheetViewController.kt b/android/src/main/java/com/lodev09/truesheet/TrueSheetViewController.kt index e0c5d2e3..0d4c73da 100644 --- a/android/src/main/java/com/lodev09/truesheet/TrueSheetViewController.kt +++ b/android/src/main/java/com/lodev09/truesheet/TrueSheetViewController.kt @@ -705,14 +705,22 @@ class TrueSheetViewController(private val reactContext: ThemedReactContext) : fun resize(detentIndex: Int) { if (!isPresented) return - // Commit the new index so keyboardWillHide restores to it instead of the stale one if (detentIndexBeforeKeyboard >= 0) { detentIndexBeforeKeyboard = detentIndex } - setupDimmedBackground() + + val oldIndex = currentDetentIndex + currentDetentIndex = detentIndex + setStateForDetentIndex(detentIndex) + + if (oldIndex != detentIndex) { + val (index, position, detent) = getDetentInfoWithValue(detentIndex) + delegate?.viewControllerDidChangeDetent(index, position, detent) + sheetView?.updateGrabberAccessibilityValue(index, detents.size) + } resizePromise?.invoke() resizePromise = null }