Loading services/core/java/com/android/server/wm/WindowState.java +4 −1 Original line number Diff line number Diff line Loading @@ -1543,10 +1543,13 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP @Override public boolean canAffectSystemUiFlags() { final boolean translucent = mAttrs.alpha == 0.0f; if (translucent) { return false; } if (mAppToken == null) { final boolean shown = mWinAnimator.getShown(); final boolean exiting = mAnimatingExit || mDestroying; return shown && !exiting && !translucent; return shown && !exiting; } else { return !mAppToken.isHidden(); } Loading services/tests/servicestests/src/com/android/server/wm/WindowStateTests.java +13 −3 Original line number Diff line number Diff line Loading @@ -16,7 +16,6 @@ package com.android.server.wm; import android.util.MergedConfiguration; import android.view.WindowManager; import org.junit.Test; import org.junit.runner.RunWith; Loading Loading @@ -45,8 +44,7 @@ import static org.junit.Assert.assertTrue; /** * Tests for the {@link WindowState} class. * * Build/Install/Run: * bit FrameworksServicesTests:com.android.server.wm.WindowStateTests * atest FrameworksServicesTests:com.android.server.wm.WindowStateTests */ @SmallTest @Presubmit Loading Loading @@ -213,6 +211,18 @@ public class WindowStateTests extends WindowTestsBase { testPrepareWindowToDisplayDuringRelayout(true /*wasVisible*/); } @Test public void testCanAffectSystemUiFlags() throws Exception { final WindowState app = createWindow(null, TYPE_APPLICATION, "app"); app.mToken.setHidden(false); assertTrue(app.canAffectSystemUiFlags()); app.mToken.setHidden(true); assertFalse(app.canAffectSystemUiFlags()); app.mToken.setHidden(false); app.mAttrs.alpha = 0.0f; assertFalse(app.canAffectSystemUiFlags()); } private void testPrepareWindowToDisplayDuringRelayout(boolean wasVisible) { final WindowState root = createWindow(null, TYPE_APPLICATION, "root"); root.mAttrs.flags |= WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON; Loading Loading
services/core/java/com/android/server/wm/WindowState.java +4 −1 Original line number Diff line number Diff line Loading @@ -1543,10 +1543,13 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP @Override public boolean canAffectSystemUiFlags() { final boolean translucent = mAttrs.alpha == 0.0f; if (translucent) { return false; } if (mAppToken == null) { final boolean shown = mWinAnimator.getShown(); final boolean exiting = mAnimatingExit || mDestroying; return shown && !exiting && !translucent; return shown && !exiting; } else { return !mAppToken.isHidden(); } Loading
services/tests/servicestests/src/com/android/server/wm/WindowStateTests.java +13 −3 Original line number Diff line number Diff line Loading @@ -16,7 +16,6 @@ package com.android.server.wm; import android.util.MergedConfiguration; import android.view.WindowManager; import org.junit.Test; import org.junit.runner.RunWith; Loading Loading @@ -45,8 +44,7 @@ import static org.junit.Assert.assertTrue; /** * Tests for the {@link WindowState} class. * * Build/Install/Run: * bit FrameworksServicesTests:com.android.server.wm.WindowStateTests * atest FrameworksServicesTests:com.android.server.wm.WindowStateTests */ @SmallTest @Presubmit Loading Loading @@ -213,6 +211,18 @@ public class WindowStateTests extends WindowTestsBase { testPrepareWindowToDisplayDuringRelayout(true /*wasVisible*/); } @Test public void testCanAffectSystemUiFlags() throws Exception { final WindowState app = createWindow(null, TYPE_APPLICATION, "app"); app.mToken.setHidden(false); assertTrue(app.canAffectSystemUiFlags()); app.mToken.setHidden(true); assertFalse(app.canAffectSystemUiFlags()); app.mToken.setHidden(false); app.mAttrs.alpha = 0.0f; assertFalse(app.canAffectSystemUiFlags()); } private void testPrepareWindowToDisplayDuringRelayout(boolean wasVisible) { final WindowState root = createWindow(null, TYPE_APPLICATION, "root"); root.mAttrs.flags |= WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON; Loading