Avoid ignoring turning on screen requested by slow activity

If an activity is slow and has set the flags turn-screen-on and
show-when-locked, once it triggers pause timeout, the activity
will be stopped, so the relayout invisible won't apply the flags.

Then it relies on an additional transaction item to be visible
again to request relayout with visible state.

Since commit b9faa03, it no longer send a visibility change item
(makeClientVisible) for a visible activity, but attempts to resume
the activity (makeActiveIfNeeded). That falls to the condition
that doesn't check if the activity can turn on screen and just skip
the resume, so the activity won't have relayout visible to apply
the flags.

Bug: 148145248
Test: atest ActivityVisibilityTests#testTurnScreenOnActivity_slowLaunch
Change-Id: I0220451e61dcc1e18fbea505e02a2c5dca6a96cb
1 file changed