diff options
| author | Chilun <chilunhuang@google.com> | 2021-11-27 13:00:52 +0800 |
|---|---|---|
| committer | Chilun <chilunhuang@google.com> | 2021-11-29 17:25:31 +0800 |
| commit | 997c321dcd633d68b32829a1eb565554114d3452 (patch) | |
| tree | 593ee5b41233ae94e6fb05ec70028323ed4826cc /core/java/android/window/DisplayWindowPolicyController.java | |
| parent | 6d1c2e92f5f11670798c0c55c2d9ffc06499fc1d (diff) | |
Adding system window flag in DWPC
Since there are some system flags we care about, add mSystemWindowFlag
for DWPC determination.
Bug: 201712607
Test: manual
Change-Id: I7dd75e612cacfe91d340324083705e80ce9bd112
Diffstat (limited to 'core/java/android/window/DisplayWindowPolicyController.java')
| -rw-r--r-- | core/java/android/window/DisplayWindowPolicyController.java | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/core/java/android/window/DisplayWindowPolicyController.java b/core/java/android/window/DisplayWindowPolicyController.java index 7677b89dff96..c3ef88192c5d 100644 --- a/core/java/android/window/DisplayWindowPolicyController.java +++ b/core/java/android/window/DisplayWindowPolicyController.java @@ -38,18 +38,26 @@ public abstract class DisplayWindowPolicyController { private int mWindowFlags; /** + * The system window flags that we are interested in. + * @see android.view.WindowManager.LayoutParams + * @see #keepActivityOnWindowFlagsChanged + */ + private int mSystemWindowFlags; + + /** * Returns {@code true} if the given window flags contain the flags that we're interested in. */ - public final boolean isInterestedWindowFlags(int windowFlags) { - return (mWindowFlags & windowFlags) != 0; + public final boolean isInterestedWindowFlags(int windowFlags, int systemWindowFlags) { + return (mWindowFlags & windowFlags) != 0 || (mSystemWindowFlags & systemWindowFlags) != 0; } /** * Sets the window flags that we’re interested in and expected * #keepActivityOnWindowFlagsChanged to be called if any changes. */ - public final void setInterestedWindowFlags(int windowFlags) { + public final void setInterestedWindowFlags(int windowFlags, int systemWindowFlags) { mWindowFlags = windowFlags; + mSystemWindowFlags = systemWindowFlags; } /** @@ -64,7 +72,7 @@ public abstract class DisplayWindowPolicyController { * be moved back to default display. */ public abstract boolean keepActivityOnWindowFlagsChanged( - ActivityInfo activityInfo, int windowFlags); + ActivityInfo activityInfo, int windowFlags, int systemWindowFlags); /** * This is called when the top activity of the display is changed. @@ -80,5 +88,6 @@ public abstract class DisplayWindowPolicyController { public void dump(String prefix, final PrintWriter pw) { pw.println(prefix + "DisplayWindowPolicyController{" + super.toString() + "}"); pw.println(prefix + " mWindowFlags=" + mWindowFlags); + pw.println(prefix + " mSystemWindowFlags=" + mSystemWindowFlags); } } |
