We are using egui so we have the ability per-frame to do whatever we want.
Was surprisingly hard to do. Had to use getWindowInsets and inset change notifications to get the size if the keyboard
Then anytime we render an input box and if its focused, then was save the rectangle during that frame.
If the focused input box rectangle intersects with the keyboard inset rect we get from android, then we animate and resize the screen and make a bunch of view modifications so that the side toolbar isn’t squished.
If the keyboard doesn’t intersect any focused input boxes then nothing happens, which makes sense.
I’m pretty happy with the end result.