diff options
| author | TreeHugger Robot <treehugger-gerrit@google.com> | 2021-03-02 13:55:31 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2021-03-02 13:55:31 +0000 |
| commit | f51c6d573efe412ec986a5c90d01344273b36dbb (patch) | |
| tree | 64866df67c7efe1288424a21f93cffff2c933b6b /core/java/android/view/WindowManager.java | |
| parent | 422a19bb59654965cddff062460f04d700bcf405 (diff) | |
| parent | 3dc12ebadcd18f94b276f9b8de076832f80f2a2a (diff) | |
Merge "Introduce a flag to let app get global insets state" into sc-dev
Diffstat (limited to 'core/java/android/view/WindowManager.java')
| -rw-r--r-- | core/java/android/view/WindowManager.java | 31 |
1 files changed, 25 insertions, 6 deletions
diff --git a/core/java/android/view/WindowManager.java b/core/java/android/view/WindowManager.java index 2053826d91a9..1819da4a86a0 100644 --- a/core/java/android/view/WindowManager.java +++ b/core/java/android/view/WindowManager.java @@ -2782,6 +2782,15 @@ public interface WindowManager extends ViewManager { public boolean hasManualSurfaceInsets; /** + * Whether we should use global insets state when report insets to the window. When set to + * {@code true}, all the insets will be reported to the window regardless of the z-order. + * Otherwise, only the insets above the given window will be reported. + * + * @hide + */ + public boolean receiveInsetsIgnoringZOrder; + + /** * Whether the previous surface insets should be used vs. what is currently set. When set * to {@code true}, the view root will ignore surfaces insets in this object and use what * it currently has. @@ -3714,15 +3723,16 @@ public interface WindowManager extends ViewManager { out.writeInt(preferredDisplayModeId); out.writeInt(systemUiVisibility); out.writeInt(subtreeSystemUiVisibility); - out.writeInt(hasSystemUiListeners ? 1 : 0); + out.writeBoolean(hasSystemUiListeners); out.writeInt(inputFeatures); out.writeLong(userActivityTimeout); out.writeInt(surfaceInsets.left); out.writeInt(surfaceInsets.top); out.writeInt(surfaceInsets.right); out.writeInt(surfaceInsets.bottom); - out.writeInt(hasManualSurfaceInsets ? 1 : 0); - out.writeInt(preservePreviousSurfaceInsets ? 1 : 0); + out.writeBoolean(hasManualSurfaceInsets); + out.writeBoolean(receiveInsetsIgnoringZOrder); + out.writeBoolean(preservePreviousSurfaceInsets); out.writeLong(accessibilityIdOfAnchor); TextUtils.writeToParcel(accessibilityTitle, out, parcelableFlags); out.writeInt(mColorMode); @@ -3783,15 +3793,16 @@ public interface WindowManager extends ViewManager { preferredDisplayModeId = in.readInt(); systemUiVisibility = in.readInt(); subtreeSystemUiVisibility = in.readInt(); - hasSystemUiListeners = in.readInt() != 0; + hasSystemUiListeners = in.readBoolean(); inputFeatures = in.readInt(); userActivityTimeout = in.readLong(); surfaceInsets.left = in.readInt(); surfaceInsets.top = in.readInt(); surfaceInsets.right = in.readInt(); surfaceInsets.bottom = in.readInt(); - hasManualSurfaceInsets = in.readInt() != 0; - preservePreviousSurfaceInsets = in.readInt() != 0; + hasManualSurfaceInsets = in.readBoolean(); + receiveInsetsIgnoringZOrder = in.readBoolean(); + preservePreviousSurfaceInsets = in.readBoolean(); accessibilityIdOfAnchor = in.readLong(); accessibilityTitle = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(in); mColorMode = in.readInt(); @@ -4020,6 +4031,11 @@ public interface WindowManager extends ViewManager { changes |= SURFACE_INSETS_CHANGED; } + if (receiveInsetsIgnoringZOrder != o.receiveInsetsIgnoringZOrder) { + receiveInsetsIgnoringZOrder = o.receiveInsetsIgnoringZOrder; + changes |= SURFACE_INSETS_CHANGED; + } + if (preservePreviousSurfaceInsets != o.preservePreviousSurfaceInsets) { preservePreviousSurfaceInsets = o.preservePreviousSurfaceInsets; changes |= SURFACE_INSETS_CHANGED; @@ -4208,6 +4224,9 @@ public interface WindowManager extends ViewManager { sb.append(" (!preservePreviousSurfaceInsets)"); } } + if (receiveInsetsIgnoringZOrder) { + sb.append(" receive insets ignoring z-order"); + } if (mColorMode != COLOR_MODE_DEFAULT) { sb.append(" colorMode=").append(ActivityInfo.colorModeToString(mColorMode)); } |
