History log of /frameworks/base/services/tests/servicestests/src/com/android/server/policy/PhoneWindowManagerLayoutTest.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
c8045bf7e1aa6448389de49f5b3cd01a244d7945 29-Mar-2018 Adrian Roos <roosa@google.com> WindowLayout: Layout IN_SCREEN floating windows in screen

Uses screen coordinates when placing floating LAYOUT_IN_SCREEN
windows, even when there is a cutout. Making sure that the window
does not overlap the cutout area is instead made sure by the
clip/shift-to-displayFrame logic in WindowState.

Change-Id: Ic485b8f191db737bb7a10b1694a489111afd5f2c
Fixes: 76199703
Test: Run CalcyIV, make sure that the expanded window is properly attached to the non-expanded window.
/frameworks/base/services/tests/servicestests/src/com/android/server/policy/PhoneWindowManagerLayoutTest.java
9e370f2912620a4f3239cb58d2bce23a58f78cd6 06-Mar-2018 Adrian Roos <roosa@google.com> Window: Provide frame size hint to ViewRootImpl

Provides a better estimate to the ViewRootImpl about the likely
window frame size than it can get from the configuration, which
allows it to avoid unneccessary measure passes.

Bug: 73813813
Test: atest PhoneWindowManagerLayoutTest
Change-Id: Ia4de6509416d90eed61929ce1646904c31afdd8d
/frameworks/base/services/tests/servicestests/src/com/android/server/policy/PhoneWindowManagerLayoutTest.java
eb3697c1d03e6aed8cffecf80691b86d380e8565 21-Feb-2018 Adrian Roos <roosa@google.com> DisplayCutout: Fix positioning of NO_LIMITS windows

Fixes an issue where popup windows (which are clipped to the display, but not
the parent frame) would extend under the cutout in landscape.

Change-Id: Id4927f6152e207985eb7d20b26faffbe6a6e5bbc
Fixes: 73012958
Test: Enable cutout emulation > go to gmail > landscape > open email > open overflow menu for a single email > verify it does not extend into cutout
Test: atest PhoneWindowManagerLayoutTest
/frameworks/base/services/tests/servicestests/src/com/android/server/policy/PhoneWindowManagerLayoutTest.java
f8898abc56514ce5e79214fbf13a966acfed199d 22-Jan-2018 Adrian Roos <roosa@google.com> ScreenDecor Windows: shouldn't receive inset hints

Screen decor does not get the regular insets, so the inset hint
needs to be sent accordingly.

Test: atest PhoneWindowManagerLayoutTest
Change-Id: I316f0c6b82b5c51d0d55ca71ccae30f9181e825f
Fixes: 70222220
/frameworks/base/services/tests/servicestests/src/com/android/server/policy/PhoneWindowManagerLayoutTest.java
fa02da62506267d8acf9c92106206a0583cf0632 15-Jan-2018 Adrian Roos <roosa@google.com> DisplayCutout: LayoutInDisplayCutoutMode API

Replace the FLAG2_LAYOUT_IN_DISPLAY_CUTOUT flag with a
dedicated layoutInDisplayCutout field; given the change
in behavior of SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN with respect
to the display cutout, apps that request this now also need
a way to request the same behavior as FLAG_FULLSCREEN.

Broadly, there's three categories of apps:

1) Apps that want to make dedicated use of the cutout
area -> no letterbox ever

2a) Apps that hide the status bar, but don't expect the
cutout to be there cutting into their content
-> we want those to get letterboxed

b) Some apps may only be transiently fullscreen, but always
want to get letterboxed
-> we want those to get letterboxed even if not currently
fullscreen

3) Apps that never go fullscreen, and just draw the status
bar background in the cutout area (i.e. the most common type
of app)
-> these need to get letterboxed whenever the cutout and
status bar don't coincide (under our current guidelines
that's only in fullscreen and landscape)

To cover each use case, we have:

ALWAYS: Always allow the app to draw into the cutout, never letterbox it; covers 1
NEVER: Never allow the app to draw into the cutout, always letterbox it; covers 2a and 2b
DEFAULT: Allow the app to draw into the cutout if that area is covered by the status bar
anyways. This does the right thing for most existing apps (2a and 3).

Bug: 65689439
Test: atest PhoneWindowManagerLayoutTest
Change-Id: Ib8d551251e9be4ef9d580ca2151bf40a9678acae
/frameworks/base/services/tests/servicestests/src/com/android/server/policy/PhoneWindowManagerLayoutTest.java
2dfb785e4eb743778f2620f5a47171cc1d2afc70 15-Jan-2018 Adrian Roos <roosa@google.com> DisplayCutout: Do not letterbox LAYOUT_FULLSCREEN windows

Bug: 65689439
Test: atest PhoneWindowManagerLayoutTest
Change-Id: I34fd6421461127954483b5eb2d7ee7540ce6491c
/frameworks/base/services/tests/servicestests/src/com/android/server/policy/PhoneWindowManagerLayoutTest.java
dcc92eda11deeb8ce18f1c0a9f1833cb7fe8d0c6 22-Nov-2017 Adrian Roos <roosa@google.com> Adjust window layout for DisplayCutout

Add policy around how the display cutout should influence window layout:
- if not requested, windows should not overlap with the display cutout
- except windows that asked for LAYOUT_IN_SCREEN | LAYOUT_INSET_DECOR,
which overlap only with a top cutout, provided they did not request any FULLSCREEN mode.
- the content frame must never overlap with the display cutout
- adds FLAG2_LAYOUT_IN_CUTOUT to explicitly ask to be laid out in the cutout area.

Bug: 65689439
Test: atest com.android.server.policy.PhoneWindowManagerLayoutTest
Change-Id: I3a966bc78ef7a4e076104a996799369c60ab7de1
/frameworks/base/services/tests/servicestests/src/com/android/server/policy/PhoneWindowManagerLayoutTest.java
7737398f68bb03d1a7bc07b9cc8da700977afcec 24-Nov-2017 Adrian Roos <roosa@google.com> WM: Stop tampering with sysuiVisibility for layout

Instead of changing the sysuiVisibility to get the desired layout behavior
calculate the implied sysuiVisibility flags at layout time. This allows us
to check what the window originally requested, which will be needed later
for cutout-aware layout.

Bug: 65689439
Test: runtest -x services/tests/servicestests/src/com/android/server/policy/PhoneWindowManagerLayoutTest.java
Change-Id: I195f7b8ad535731614ea8f5fb2af2f001fd13036
/frameworks/base/services/tests/servicestests/src/com/android/server/policy/PhoneWindowManagerLayoutTest.java
e1856fe710e0a0b88087269ac77db453d2f8337e 24-Nov-2017 Adrian Roos <roosa@google.com> WM: Add PhoneWindowManagerLayoutTest

Test: runtest -x services/tests/servicestests/src/com/android/server/policy/PhoneWindowManagerLayoutTest.java
Change-Id: I85af4bdd023a274233362d42628de19483b0c4ea
/frameworks/base/services/tests/servicestests/src/com/android/server/policy/PhoneWindowManagerLayoutTest.java