Remove token behind fullscreen activity from unknown visibility

When launching activity while keyguard is locked, their window tokens
will be added into unknown visibility controller to smooth the transition.
But if there are multiple starting activities without attached process,
only the last started activity will be resumed. Then the prior activities
are left in unknown visibility and cause transition timeout.

It is resolved by removing the unknown visibility records that won't be
visible when resuming top activity. Also consolidate shouldBeVisible and
shouldBeVisibleIgnoringKeyguard to reduce duplicated checking.

Bug: 123540470
Bug: 141826987
Test: atest ActivityStackTests# \
            testClearUnknownAppVisibilityBehindFullscreenActivity

Change-Id: Ie6d11e856a2b81a39222a0d96644712ce8ddf955
4 files changed