Loading services/core/java/com/android/server/wm/WindowState.java +3 −4 Original line number Diff line number Diff line Loading @@ -265,7 +265,7 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP // This is a non-system overlay window that is currently force hidden. private boolean mForceHideNonSystemOverlayWindow; boolean mAppFreezing; boolean mHidden; // Used to determine if to show child windows. boolean mHidden = true; // Used to determine if to show child windows. boolean mWallpaperVisible; // for wallpaper, what was last vis report? private boolean mDragResizing; private boolean mDragResizingChangeReported = true; Loading Loading @@ -4505,13 +4505,12 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP if (!mAnimatingExit && mAppDied) { mIsDimming = true; dimmer.dimAbove(getPendingTransaction(), this, DEFAULT_DIM_AMOUNT_DEAD_WINDOW); } else if ((mAttrs.flags & FLAG_DIM_BEHIND) != 0 && isVisibleNow() && !mWinAnimator.mLastHidden) { } else if ((mAttrs.flags & FLAG_DIM_BEHIND) != 0 && isVisibleNow() && !mHidden) { // Only show a dim behind when the following is satisfied: // 1. The window has the flag FLAG_DIM_BEHIND // 2. The WindowToken is not hidden so dims aren't shown when the window is exiting. // 3. The WS is considered visible according to the isVisible() method // 4. The WSA is not hidden. // 4. The WS is not hidden. mIsDimming = true; dimmer.dimBelow(getPendingTransaction(), this, mAttrs.dimAmount); } Loading services/tests/servicestests/src/com/android/server/wm/DisplayContentTests.java +2 −1 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import static android.view.WindowManager.LayoutParams.TYPE_BASE_APPLICATION; import static android.view.WindowManager.LayoutParams.TYPE_STATUS_BAR; import static android.view.WindowManager.LayoutParams.TYPE_VOICE_INTERACTION; import static com.android.server.wm.WindowContainer.POSITION_TOP; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; Loading @@ -38,7 +39,6 @@ import org.junit.runner.RunWith; import android.annotation.SuppressLint; import android.content.res.Configuration; import android.graphics.Path; import android.graphics.Point; import android.graphics.Rect; import android.os.SystemClock; import android.platform.test.annotations.Presubmit; Loading Loading @@ -166,6 +166,7 @@ public class DisplayContentTests extends WindowTestsBase { assertTrue(appWin.canBeImeTarget()); WindowState imeTarget = mDisplayContent.computeImeTarget(false /* updateImeTarget */); assertEquals(appWin, imeTarget); appWin.mHidden = false; // Verify that an child window can be an ime target. final WindowState childWin = createWindow(appWin, Loading services/tests/servicestests/src/com/android/server/wm/WindowStateTests.java +8 −5 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_MEDIA; import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_MEDIA_OVERLAY; import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_SUB_PANEL; import static android.view.WindowManager.LayoutParams.TYPE_INPUT_METHOD; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNull; Loading @@ -57,15 +58,17 @@ public class WindowStateTests extends WindowTestsBase { final WindowState child1 = createWindow(parentWindow, FIRST_SUB_WINDOW, "child1"); final WindowState child2 = createWindow(parentWindow, FIRST_SUB_WINDOW, "child2"); assertFalse(parentWindow.mHidden); // parentWindow is initially set to hidden. assertTrue(parentWindow.mHidden); assertFalse(parentWindow.isParentWindowHidden()); assertTrue(child1.isParentWindowHidden()); assertTrue(child2.isParentWindowHidden()); parentWindow.mHidden = false; assertFalse(parentWindow.isParentWindowHidden()); assertFalse(child1.isParentWindowHidden()); assertFalse(child2.isParentWindowHidden()); parentWindow.mHidden = true; assertFalse(parentWindow.isParentWindowHidden()); assertTrue(child1.isParentWindowHidden()); assertTrue(child2.isParentWindowHidden()); } @Test Loading Loading
services/core/java/com/android/server/wm/WindowState.java +3 −4 Original line number Diff line number Diff line Loading @@ -265,7 +265,7 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP // This is a non-system overlay window that is currently force hidden. private boolean mForceHideNonSystemOverlayWindow; boolean mAppFreezing; boolean mHidden; // Used to determine if to show child windows. boolean mHidden = true; // Used to determine if to show child windows. boolean mWallpaperVisible; // for wallpaper, what was last vis report? private boolean mDragResizing; private boolean mDragResizingChangeReported = true; Loading Loading @@ -4505,13 +4505,12 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP if (!mAnimatingExit && mAppDied) { mIsDimming = true; dimmer.dimAbove(getPendingTransaction(), this, DEFAULT_DIM_AMOUNT_DEAD_WINDOW); } else if ((mAttrs.flags & FLAG_DIM_BEHIND) != 0 && isVisibleNow() && !mWinAnimator.mLastHidden) { } else if ((mAttrs.flags & FLAG_DIM_BEHIND) != 0 && isVisibleNow() && !mHidden) { // Only show a dim behind when the following is satisfied: // 1. The window has the flag FLAG_DIM_BEHIND // 2. The WindowToken is not hidden so dims aren't shown when the window is exiting. // 3. The WS is considered visible according to the isVisible() method // 4. The WSA is not hidden. // 4. The WS is not hidden. mIsDimming = true; dimmer.dimBelow(getPendingTransaction(), this, mAttrs.dimAmount); } Loading
services/tests/servicestests/src/com/android/server/wm/DisplayContentTests.java +2 −1 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import static android.view.WindowManager.LayoutParams.TYPE_BASE_APPLICATION; import static android.view.WindowManager.LayoutParams.TYPE_STATUS_BAR; import static android.view.WindowManager.LayoutParams.TYPE_VOICE_INTERACTION; import static com.android.server.wm.WindowContainer.POSITION_TOP; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; Loading @@ -38,7 +39,6 @@ import org.junit.runner.RunWith; import android.annotation.SuppressLint; import android.content.res.Configuration; import android.graphics.Path; import android.graphics.Point; import android.graphics.Rect; import android.os.SystemClock; import android.platform.test.annotations.Presubmit; Loading Loading @@ -166,6 +166,7 @@ public class DisplayContentTests extends WindowTestsBase { assertTrue(appWin.canBeImeTarget()); WindowState imeTarget = mDisplayContent.computeImeTarget(false /* updateImeTarget */); assertEquals(appWin, imeTarget); appWin.mHidden = false; // Verify that an child window can be an ime target. final WindowState childWin = createWindow(appWin, Loading
services/tests/servicestests/src/com/android/server/wm/WindowStateTests.java +8 −5 Original line number Diff line number Diff line Loading @@ -36,6 +36,7 @@ import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_MEDIA; import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_MEDIA_OVERLAY; import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_SUB_PANEL; import static android.view.WindowManager.LayoutParams.TYPE_INPUT_METHOD; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNull; Loading @@ -57,15 +58,17 @@ public class WindowStateTests extends WindowTestsBase { final WindowState child1 = createWindow(parentWindow, FIRST_SUB_WINDOW, "child1"); final WindowState child2 = createWindow(parentWindow, FIRST_SUB_WINDOW, "child2"); assertFalse(parentWindow.mHidden); // parentWindow is initially set to hidden. assertTrue(parentWindow.mHidden); assertFalse(parentWindow.isParentWindowHidden()); assertTrue(child1.isParentWindowHidden()); assertTrue(child2.isParentWindowHidden()); parentWindow.mHidden = false; assertFalse(parentWindow.isParentWindowHidden()); assertFalse(child1.isParentWindowHidden()); assertFalse(child2.isParentWindowHidden()); parentWindow.mHidden = true; assertFalse(parentWindow.isParentWindowHidden()); assertTrue(child1.isParentWindowHidden()); assertTrue(child2.isParentWindowHidden()); } @Test Loading