Using an application in portrait orientation, turning off the device would dispatch
SDL_APP_DIDENTERBACKGROUND then lock the screen.
However, rotating the application the application to landscape, then turning off the device would incorrectly dispatch
SDL_APP_WILLENTERFOREGROUND and then
SDL_APP_DIDENTERFOREGROUND before locking the screen. You can imagine how this created trouble
It appears this occurs because (on this application) turning off a device when in landscape is triggering a resize. The resize logic in
SDLActivity triggers a resume.
This patch has resolved the issue on my device:
It prevents the dispatch of (improper)
FOREGROUND events when locking the device, but we get still events when the device is turned back on and unlocked.