diff options
| author | 2024-04-29 16:32:15 +0200 | |
|---|---|---|
| committer | 2024-06-02 02:23:02 +0000 | |
| commit | a9a7079b095abc07374cf287b5689a99ce250f47 (patch) | |
| tree | 4e17fe1c43940095ebcfd4e4884fcccbf6470a05 | |
| parent | 2b60d838b93f8b0728cd052fc818914d2e96b6bc (diff) | |
Hide SAW subwindows
.. when top window is hidden through Window#setHideOverlayWindows
Bug: 318683640
Test: atest CtsWindowManagerDeviceWindow:HideOverlayWindowsTest
Flag: EXEMPT securityfix
Merged-In: If19240f5aec2e048de80d75cbbdc00be47622d7f
Change-Id: If19240f5aec2e048de80d75cbbdc00be47622d7f
(cherry picked from commit c37bc9147086f497ac7b1595083836014f524d5f)
| -rw-r--r-- | services/core/java/com/android/server/wm/WindowState.java | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index 64bb38760342..56b597e7dccc 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -3335,12 +3335,13 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP } void setForceHideNonSystemOverlayWindowIfNeeded(boolean forceHide) { + final int baseType = getBaseType(); if (mSession.mCanAddInternalSystemWindow - || (!isSystemAlertWindowType(mAttrs.type) && mAttrs.type != TYPE_TOAST)) { + || (!isSystemAlertWindowType(baseType) && baseType != TYPE_TOAST)) { return; } - if (mAttrs.type == TYPE_APPLICATION_OVERLAY && mAttrs.isSystemApplicationOverlay() + if (baseType == TYPE_APPLICATION_OVERLAY && mAttrs.isSystemApplicationOverlay() && mSession.mCanCreateSystemApplicationOverlay) { return; } |