keyboard: fix interactive dismiss race conditions, rewrite example
Fix several race conditions in the iOS interactive dismiss flow: - Don't skip keyboard close notifications during pan tracking, which left Dart unaware the keyboard was dismissed - Guard resignFirstResponder with generation check so reopened keyboards aren't killed by stale dismiss completions - Block pan tracking from starting during an in-flight dismiss animation - Always reset keyboard view bounds when the keyboard opens, not just when the dismiss animator is still running - Handle duration=0 keyboard notifications by snapping immediately - Gate adaptive learning debug output behind kDebugMode Rewrite the example as a chat UI demonstrating ListenableBuilder, scroll freeze during interactive dismiss, and proper bottom inset handling with max(keyboardHeight, safeBottom). Modernize example Android project from v1 to v2 embedding with current AGP/Gradle versions.
This commit is contained in:
@@ -1,3 +1,3 @@
|
||||
org.gradle.jvmargs=-Xmx1536M
|
||||
|
||||
android.enableR8=true
|
||||
android.useAndroidX=true
|
||||
android.enableJetifier=true
|
||||
|
||||
Reference in New Issue
Block a user