- Added `SoftKeyboardContext` enum and support for calculating keyboard
insets from both virtual and platform sources
- Updated `AppContext` to provide `soft_keyboard_rect` for determining
visible keyboard area
- Adjusted UI rendering to shift content when input boxes intersect with
the soft keyboard, preventing overlap
- Modified `MainActivity` and Android manifest to use
`windowSoftInputMode="adjustResize"` and updated window inset handling
- Introduced helper functions (`include_input`, `input_rect`,
`clear_input_rect`) in `notedeck_ui` for tracking focused input boxes
- Fixed Android JNI keyboard height reporting to clamp negative values
Together, these changes allow the app to correctly detect and respond
to soft keyboard visibility on Android, ensuring input fields remain
accessible when typing.
Fixes: https://github.com/damus-io/notedeck/issues/946
Fixes: https://github.com/damus-io/notedeck/issues/1043
We have to tell android not to restart the activity when a dark/light
mode is switched or when the phone is folded/unfolded. Otherwise
it will crash.
Signed-off-by: William Casarin <jb55@jb55.com>
expose a new virtual_keyboard_height function under notedeck::platform::android
which gets the current height of the virtual keyboard. We can use this
to tranlate the view out of the way
Signed-off-by: William Casarin <jb55@jb55.com>