DO NOT MERGE - Exclude TYPE_PRIVATE_PRESENTATION app visiblity
These windows can only be placed on private virtual displays, and as such they should not be considered when deciding if an application has any visible windows or not. Bug:205130886 Test:Manually verified that sample from 205130886 no longer allows background activity launches Test: atest CtsActivityManagerBackgroundActivityTestCases Change-Id: I76208722bbb7a407ba1f2dc4305a28226166414d Merged-In: I76208722bbb7a407ba1f2dc4305a28226166414d
This commit is contained in:
@@ -3537,7 +3537,10 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
|
||||
}
|
||||
// Exclude toast because legacy apps may show toast window by themselves, so the misused
|
||||
// apps won't always be considered as foreground state.
|
||||
if (mAttrs.type >= FIRST_SYSTEM_WINDOW && mAttrs.type != TYPE_TOAST) {
|
||||
// Exclude private presentations as they can only be shown on private virtual displays and
|
||||
// shouldn't be the cause of an app be considered foreground.
|
||||
if (mAttrs.type >= FIRST_SYSTEM_WINDOW && mAttrs.type != TYPE_TOAST
|
||||
&& mAttrs.type != TYPE_PRIVATE_PRESENTATION) {
|
||||
mWmService.mAtmService.mActiveUids.onNonAppSurfaceVisibilityChanged(mOwnerUid, shown);
|
||||
}
|
||||
if (mIsImWindow && mWmService.mAccessibilityController != null) {
|
||||
|
||||
Reference in New Issue
Block a user