Commit Graph

25 Commits

Author SHA1 Message Date
agra
2113537078 orientation 2026-04-22 16:22:45 +03:00
agra
3032442c31 added matchesTextGolden 2026-04-21 21:42:59 +03:00
agra
b8d77e0a3a keyboard focus + app_info 2026-04-21 16:54:56 +03:00
agra
fb40549cce fix sdk constraints for pub.dev validation 2026-04-16 18:52:37 +03:00
agra
785c6d3c31 pub.dev score: license, dartdoc, analysis, tests
- Add MIT license
- Add dartdoc to all public APIs (UxKeyboard, BendBox, Bezier, Json)
- Add analysis_options.yaml with flutter_lints and public_member_api_docs
- Add repository, issue_tracker, topics to pubspec.yaml
- Expand package description
- Fix BendBox constructor (const, super.key)
- Remove unused import in keyboard.dart
- Replace boilerplate tests with UxKeyboard smoke tests
- Move ux dependency to example's dependencies (not dev_dependencies)
2026-04-16 18:51:22 +03:00
agra
0fff294caf 0.3.0 2026-04-16 18:42:55 +03:00
agra
8ac7b5a5d5 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.
2026-04-16 18:34:05 +03:00
agra
0be198e388 android: keyboard height tracking via JNI/FFI bridge
- C bridge (keyboard_bridge.c) stores keyboard state in globals.
  Kotlin writes via JNI, Dart reads via FFI — zero async delay,
  same architecture as iOS.
- WindowInsetsAnimation.Callback tracks open/close per-frame.
- OnGlobalLayoutListener catches silent height changes (emoji
  keyboard resize, floating keyboard toggle).
- Dart animation replay stays iOS-only; Android reads native
  per-frame values directly.
- Cleaned up old Java stub, updated build.gradle for Kotlin + CMake
  with 16KB page alignment (Android 15+).
- Example app rewritten to demonstrate UxKeyboard usage.
2026-04-15 23:49:16 +03:00
agra
a1ab667178 keyboard: sampled native curve, interactive dismiss, scroll freeze
- Dart-side animation replay using exact native curve (21-point lookup
  table sampled from CADisplayLink) with 16ms start offset and 10ms
  shorter duration to stay ahead of the native animation pipeline.
- Snap-back reads bounds presentation layer so height doesn't jump.
- Dismiss defers resignFirstResponder until bounds animation completes,
  with immediate Dart close animation via animTarget/animGeneration.
- enableInteractiveDismiss accepts trackingInset to widen the gesture
  zone above the keyboard (for composer height).
- FFI: anim_target, anim_duration, anim_gen, system_keyboard_height,
  is_tracking exposed for Dart animation and scroll physics.
2026-04-15 22:46:43 +03:00
agra
2777b5f746 0.2.0 2025-02-02 15:05:11 +02:00
alex
8626e8c2c6 stack 2021-03-15 23:21:06 +02:00
alex
a6f3d63d68 +bezier 2020-05-25 09:45:52 +01:00
alex
2e26342fab xxx 2020-05-04 10:58:35 +01:00
alex
94ee74840a zzz 2020-05-04 10:58:19 +01:00
alex
0f2ab52606 xx... 2020-05-04 10:58:03 +01:00
agrapine
6c19b07fe0 0.0.4 2019-10-17 14:46:40 +01:00
agrapine
89160c6788 other 2019-10-17 14:40:01 +01:00
agrapine
756eb5f5d3 ... 2019-10-17 14:39:29 +01:00
agrapine
7664511c28 ... 2019-10-17 14:38:07 +01:00
agrapine
79a175bd6e ... 2019-10-17 14:36:05 +01:00
agrapine
015ef72258 flutter pub pub publish 2019-10-17 14:34:21 +01:00
agrapine
1609ca706c added deploy.md 2019-10-17 14:29:32 +01:00
agrapine
7b63d460d6 expanded includes 2019-10-17 14:27:53 +01:00
agrapine
7493b964be added bend_box 2019-08-07 19:05:39 +01:00
agrapine
810d060d44 red pill 2019-08-07 15:37:44 +01:00