ok, not a pure u8g2 question, but I still try my best...
The function calls
setInputFlags();
resolveInputFlags();
should be called outside the first-page / next-page while loop.
printScreen() is called twice, which is redundant and will just waste time: Remove printScreen() call from resolveInputFlags().
u8g2.print() requires u8g2.setCursor() for each of the statements. Also note, that the reference position for a string is the lower left of the baseline of the chars (unless you change the reference position): This means you should use
u8g2.setCursor(0,15) before the first call to print. Also note that print does not do any carrige returns.
Oliver