diff options
13 files changed, 40 insertions, 39 deletions
diff --git a/core/java/android/app/ActivityView.java b/core/java/android/app/ActivityView.java index eae7d6b79f67..5814e69c36a3 100644 --- a/core/java/android/app/ActivityView.java +++ b/core/java/android/app/ActivityView.java @@ -363,7 +363,7 @@ public class ActivityView extends ViewGroup { final IWindowManager wm = WindowManagerGlobal.getWindowManagerService(); mRootSurfaceControl = new SurfaceControl.Builder(surfaceSession) - .setContainerLayer() + .setContainerLayer(true) .setParent(mSurfaceView.getSurfaceControl()) .setName(DISPLAY_NAME) .build(); diff --git a/core/java/android/view/SurfaceControl.java b/core/java/android/view/SurfaceControl.java index f203cdaf2fe8..6e76647f4b96 100644 --- a/core/java/android/view/SurfaceControl.java +++ b/core/java/android/view/SurfaceControl.java @@ -502,16 +502,7 @@ public final class SurfaceControl implements Parcelable { } mWidth = width; mHeight = height; - // set this as a buffer layer since we are specifying a buffer size. - return setFlags(FX_SURFACE_NORMAL, FX_SURFACE_MASK); - } - - /** - * Set the initial size of the controlled surface's buffers in pixels. - */ - private void unsetBufferSize() { - mWidth = 0; - mHeight = 0; + return this; } /** @@ -629,11 +620,16 @@ public final class SurfaceControl implements Parcelable { * Color layers will not have an associated BufferQueue and will instead always render a * solid color (that is, solid before plane alpha). Currently that color is black. * + * @param isColorLayer Whether to create a color layer. * @hide */ - public Builder setColorLayer() { - unsetBufferSize(); - return setFlags(FX_SURFACE_DIM, FX_SURFACE_MASK); + public Builder setColorLayer(boolean isColorLayer) { + if (isColorLayer) { + mFlags |= FX_SURFACE_DIM; + } else { + mFlags &= ~FX_SURFACE_DIM; + } + return this; } private boolean isColorLayerSet() { @@ -646,11 +642,16 @@ public final class SurfaceControl implements Parcelable { * Container layers will not be rendered in any fashion and instead are used * as a parent of renderable layers. * + * @param isContainerLayer Whether to create a container layer. * @hide */ - public Builder setContainerLayer() { - unsetBufferSize(); - return setFlags(FX_SURFACE_CONTAINER, FX_SURFACE_MASK); + public Builder setContainerLayer(boolean isContainerLayer) { + if (isContainerLayer) { + mFlags |= FX_SURFACE_CONTAINER; + } else { + mFlags &= ~FX_SURFACE_CONTAINER; + } + return this; } private boolean isContainerLayerSet() { @@ -658,7 +659,7 @@ public final class SurfaceControl implements Parcelable { } /** - * Set 'Surface creation flags' such as {@link #HIDDEN}, {@link #SECURE}. + * Set 'Surface creation flags' such as {@link HIDDEN}, {@link SECURE}. * * TODO: Finish conversion to individual builder methods? * @param flags The combined flags @@ -668,11 +669,6 @@ public final class SurfaceControl implements Parcelable { mFlags = flags; return this; } - - private Builder setFlags(int flags, int mask) { - mFlags = (mFlags & ~mask) | flags; - return this; - } } /** diff --git a/core/java/android/view/SurfaceView.java b/core/java/android/view/SurfaceView.java index ecb2ac4ba241..ecbec652fcf0 100644 --- a/core/java/android/view/SurfaceView.java +++ b/core/java/android/view/SurfaceView.java @@ -33,6 +33,7 @@ import android.graphics.Region; import android.graphics.RenderNode; import android.os.Build; import android.os.Handler; +import android.os.IBinder; import android.os.Looper; import android.os.SystemClock; import android.util.AttributeSet; @@ -587,7 +588,7 @@ public class SurfaceView extends View implements ViewRootImpl.WindowStoppedCallb mBackgroundControl = new SurfaceControl.Builder(mSurfaceSession) .setName("Background for -" + name) .setOpaque(true) - .setColorLayer() + .setColorLayer(true) .setParent(mSurfaceControl) .build(); diff --git a/services/core/java/com/android/server/display/ColorFade.java b/services/core/java/com/android/server/display/ColorFade.java index 0400b56c4fab..f2c539cb257c 100644 --- a/services/core/java/com/android/server/display/ColorFade.java +++ b/services/core/java/com/android/server/display/ColorFade.java @@ -575,7 +575,7 @@ final class ColorFade { final SurfaceControl.Builder builder = new SurfaceControl.Builder(mSurfaceSession).setName("ColorFade"); if (mMode == MODE_FADE) { - builder.setColorLayer(); + builder.setColorLayer(true); } else { builder.setBufferSize(mDisplayWidth, mDisplayHeight); } diff --git a/services/core/java/com/android/server/wm/BlackFrame.java b/services/core/java/com/android/server/wm/BlackFrame.java index fd72a4af9848..c90f5bfb7ee0 100644 --- a/services/core/java/com/android/server/wm/BlackFrame.java +++ b/services/core/java/com/android/server/wm/BlackFrame.java @@ -48,7 +48,7 @@ public class BlackFrame { surface = dc.makeOverlay() .setName("BlackSurface") - .setColorLayer() + .setColorLayer(true) .setParent(null) // TODO: Work-around for b/69259549 .build(); transaction.setWindowCrop(surface, w, h); diff --git a/services/core/java/com/android/server/wm/Dimmer.java b/services/core/java/com/android/server/wm/Dimmer.java index 8f6b67a26594..c39060ee1922 100644 --- a/services/core/java/com/android/server/wm/Dimmer.java +++ b/services/core/java/com/android/server/wm/Dimmer.java @@ -164,7 +164,7 @@ class Dimmer { private SurfaceControl makeDimLayer() { return mHost.makeChildSurface(null) .setParent(mHost.getSurfaceControl()) - .setColorLayer() + .setColorLayer(true) .setName("Dim Layer for - " + mHost.getName()) .build(); } diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java index 080f9651f86b..df32df031d1b 100644 --- a/services/core/java/com/android/server/wm/DisplayContent.java +++ b/services/core/java/com/android/server/wm/DisplayContent.java @@ -31,11 +31,14 @@ import static android.view.Display.DEFAULT_DISPLAY; import static android.view.Display.FLAG_PRIVATE; import static android.view.Display.INVALID_DISPLAY; import static android.view.InsetsState.TYPE_IME; +import static android.view.InsetsState.TYPE_NAVIGATION_BAR; +import static android.view.InsetsState.TYPE_TOP_BAR; import static android.view.Surface.ROTATION_0; import static android.view.Surface.ROTATION_180; import static android.view.Surface.ROTATION_270; import static android.view.Surface.ROTATION_90; import static android.view.View.GONE; +import static android.view.ViewRootImpl.NEW_INSETS_MODE_FULL; import static android.view.WindowManager.DOCKED_BOTTOM; import static android.view.WindowManager.DOCKED_INVALID; import static android.view.WindowManager.DOCKED_TOP; @@ -170,6 +173,7 @@ import android.view.SurfaceControl; import android.view.SurfaceControl.Transaction; import android.view.SurfaceSession; import android.view.View; +import android.view.ViewRootImpl; import android.view.WindowManager; import android.view.WindowManagerPolicyConstants.PointerEventListener; @@ -892,9 +896,7 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo mDividerControllerLocked = new DockedStackDividerController(service, this); mPinnedStackControllerLocked = new PinnedStackController(service, this); - final SurfaceControl.Builder b = mWmService.makeSurfaceBuilder(mSession) - .setOpaque(true) - .setContainerLayer(); + final SurfaceControl.Builder b = mWmService.makeSurfaceBuilder(mSession).setOpaque(true); mWindowingLayer = b.setName("Display Root").build(); mOverlayLayer = b.setName("Display Overlays").build(); @@ -4598,7 +4600,7 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo @Override SurfaceControl.Builder makeChildSurface(WindowContainer child) { SurfaceSession s = child != null ? child.getSession() : getSession(); - final SurfaceControl.Builder b = mWmService.makeSurfaceBuilder(s).setContainerLayer(); + final SurfaceControl.Builder b = mWmService.makeSurfaceBuilder(s); if (child == null) { return b; } diff --git a/services/core/java/com/android/server/wm/DragState.java b/services/core/java/com/android/server/wm/DragState.java index 2b2231ae6477..3f77e1c6886b 100644 --- a/services/core/java/com/android/server/wm/DragState.java +++ b/services/core/java/com/android/server/wm/DragState.java @@ -164,7 +164,7 @@ class DragState { if (mInputSurface == null) { mInputSurface = mService.makeSurfaceBuilder(mService.mRoot.getDisplayContent(displayId) - .getSession()).setContainerLayer() + .getSession()).setContainerLayer(true) .setName("Drag and Drop Input Consumer").build(); } final InputWindowHandle h = getInputWindowHandle(); diff --git a/services/core/java/com/android/server/wm/InputConsumerImpl.java b/services/core/java/com/android/server/wm/InputConsumerImpl.java index ab95e4b52dc6..4df5a0b5ad9e 100644 --- a/services/core/java/com/android/server/wm/InputConsumerImpl.java +++ b/services/core/java/com/android/server/wm/InputConsumerImpl.java @@ -22,11 +22,13 @@ import android.os.IBinder; import android.os.Process; import android.os.RemoteException; import android.os.UserHandle; -import android.view.InputApplicationHandle; import android.view.InputChannel; +import android.view.WindowManager; + +import android.view.InputApplicationHandle; import android.view.InputWindowHandle; import android.view.SurfaceControl; -import android.view.WindowManager; +import android.util.Slog; import java.io.PrintWriter; @@ -87,7 +89,7 @@ class InputConsumerImpl implements IBinder.DeathRecipient { mWindowHandle.scaleFactor = 1.0f; mInputSurface = mService.makeSurfaceBuilder(mService.mRoot.getDisplayContent(displayId) - .getSession()).setContainerLayer().setName("Input Consumer " + name) + .getSession()).setContainerLayer(true).setName("Input Consumer " + name) .build(); } diff --git a/services/core/java/com/android/server/wm/Letterbox.java b/services/core/java/com/android/server/wm/Letterbox.java index 18fce67340c0..434084cc1f3d 100644 --- a/services/core/java/com/android/server/wm/Letterbox.java +++ b/services/core/java/com/android/server/wm/Letterbox.java @@ -149,7 +149,7 @@ public class Letterbox { private void createSurface() { mSurface = mFactory.get().setName("Letterbox - " + mType) - .setFlags(HIDDEN).setColorLayer().build(); + .setFlags(HIDDEN).setColorLayer(true).build(); mSurface.setLayer(-1); mSurface.setColor(new float[]{0, 0, 0}); } diff --git a/services/core/java/com/android/server/wm/TaskPositioningController.java b/services/core/java/com/android/server/wm/TaskPositioningController.java index cdcb85720724..916316549f39 100644 --- a/services/core/java/com/android/server/wm/TaskPositioningController.java +++ b/services/core/java/com/android/server/wm/TaskPositioningController.java @@ -83,7 +83,7 @@ class TaskPositioningController { final DisplayContent dc = mService.mRoot.getDisplayContent(displayId); if (mInputSurface == null) { mInputSurface = mService.makeSurfaceBuilder(dc.getSession()) - .setContainerLayer() + .setContainerLayer(true) .setName("Drag and Drop Input Consumer").build(); } diff --git a/services/core/java/com/android/server/wm/TaskSnapshotSurface.java b/services/core/java/com/android/server/wm/TaskSnapshotSurface.java index 938c8b452e29..2d3e3aee4b7f 100644 --- a/services/core/java/com/android/server/wm/TaskSnapshotSurface.java +++ b/services/core/java/com/android/server/wm/TaskSnapshotSurface.java @@ -61,12 +61,12 @@ import android.util.MergedConfiguration; import android.util.Slog; import android.view.DisplayCutout; import android.view.IWindowSession; -import android.view.InsetsState; import android.view.Surface; import android.view.SurfaceControl; import android.view.SurfaceSession; import android.view.View; import android.view.ViewGroup.LayoutParams; +import android.view.InsetsState; import android.view.WindowManager; import android.view.WindowManagerGlobal; diff --git a/services/core/java/com/android/server/wm/TaskStack.java b/services/core/java/com/android/server/wm/TaskStack.java index 59549e02db8f..bfef1e97102a 100644 --- a/services/core/java/com/android/server/wm/TaskStack.java +++ b/services/core/java/com/android/server/wm/TaskStack.java @@ -818,7 +818,7 @@ public class TaskStack extends WindowContainer<Task> implements updateSurfaceBounds(); if (mAnimationBackgroundSurface == null) { - mAnimationBackgroundSurface = makeChildSurface(null).setColorLayer() + mAnimationBackgroundSurface = makeChildSurface(null).setColorLayer(true) .setName("animation background stackId=" + mStackId) .build(); } |