summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/app/ActivityView.java2
-rw-r--r--core/java/android/view/SurfaceControl.java40
-rw-r--r--core/java/android/view/SurfaceView.java3
-rw-r--r--services/core/java/com/android/server/display/ColorFade.java2
-rw-r--r--services/core/java/com/android/server/wm/BlackFrame.java2
-rw-r--r--services/core/java/com/android/server/wm/Dimmer.java2
-rw-r--r--services/core/java/com/android/server/wm/DisplayContent.java10
-rw-r--r--services/core/java/com/android/server/wm/DragState.java2
-rw-r--r--services/core/java/com/android/server/wm/InputConsumerImpl.java8
-rw-r--r--services/core/java/com/android/server/wm/Letterbox.java2
-rw-r--r--services/core/java/com/android/server/wm/TaskPositioningController.java2
-rw-r--r--services/core/java/com/android/server/wm/TaskSnapshotSurface.java2
-rw-r--r--services/core/java/com/android/server/wm/TaskStack.java2
13 files changed, 39 insertions, 40 deletions
diff --git a/core/java/android/app/ActivityView.java b/core/java/android/app/ActivityView.java
index 47398674d74c..ce5d8a5cfeb2 100644
--- a/core/java/android/app/ActivityView.java
+++ b/core/java/android/app/ActivityView.java
@@ -400,7 +400,7 @@ public class ActivityView extends ViewGroup {
final IWindowManager wm = WindowManagerGlobal.getWindowManagerService();
mRootSurfaceControl = new SurfaceControl.Builder(surfaceSession)
- .setContainerLayer(true)
+ .setContainerLayer()
.setParent(mSurfaceView.getSurfaceControl())
.setName(DISPLAY_NAME)
.build();
diff --git a/core/java/android/view/SurfaceControl.java b/core/java/android/view/SurfaceControl.java
index 4032a6b84801..2956606a26dd 100644
--- a/core/java/android/view/SurfaceControl.java
+++ b/core/java/android/view/SurfaceControl.java
@@ -501,7 +501,16 @@ public final class SurfaceControl implements Parcelable {
}
mWidth = width;
mHeight = height;
- return this;
+ // 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;
}
/**
@@ -619,16 +628,11 @@ 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(boolean isColorLayer) {
- if (isColorLayer) {
- mFlags |= FX_SURFACE_DIM;
- } else {
- mFlags &= ~FX_SURFACE_DIM;
- }
- return this;
+ public Builder setColorLayer() {
+ unsetBufferSize();
+ return setFlags(FX_SURFACE_DIM, FX_SURFACE_MASK);
}
private boolean isColorLayerSet() {
@@ -641,16 +645,11 @@ 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(boolean isContainerLayer) {
- if (isContainerLayer) {
- mFlags |= FX_SURFACE_CONTAINER;
- } else {
- mFlags &= ~FX_SURFACE_CONTAINER;
- }
- return this;
+ public Builder setContainerLayer() {
+ unsetBufferSize();
+ return setFlags(FX_SURFACE_CONTAINER, FX_SURFACE_MASK);
}
private boolean isContainerLayerSet() {
@@ -658,7 +657,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,6 +667,11 @@ 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 ecbec652fcf0..ecb2ac4ba241 100644
--- a/core/java/android/view/SurfaceView.java
+++ b/core/java/android/view/SurfaceView.java
@@ -33,7 +33,6 @@ 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;
@@ -588,7 +587,7 @@ public class SurfaceView extends View implements ViewRootImpl.WindowStoppedCallb
mBackgroundControl = new SurfaceControl.Builder(mSurfaceSession)
.setName("Background for -" + name)
.setOpaque(true)
- .setColorLayer(true)
+ .setColorLayer()
.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 f2c539cb257c..0400b56c4fab 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(true);
+ builder.setColorLayer();
} 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 c90f5bfb7ee0..fd72a4af9848 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(true)
+ .setColorLayer()
.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 c39060ee1922..8f6b67a26594 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(true)
+ .setColorLayer()
.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 7a9ff527fc08..3426ba611c86 100644
--- a/services/core/java/com/android/server/wm/DisplayContent.java
+++ b/services/core/java/com/android/server/wm/DisplayContent.java
@@ -30,14 +30,11 @@ import static android.content.res.Configuration.ORIENTATION_PORTRAIT;
import static android.view.Display.DEFAULT_DISPLAY;
import static android.view.Display.FLAG_PRIVATE;
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;
@@ -168,7 +165,6 @@ 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;
@@ -888,7 +884,9 @@ 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);
+ final SurfaceControl.Builder b = mWmService.makeSurfaceBuilder(mSession)
+ .setOpaque(true)
+ .setContainerLayer();
mWindowingLayer = b.setName("Display Root").build();
mOverlayLayer = b.setName("Display Overlays").build();
@@ -4569,7 +4567,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);
+ final SurfaceControl.Builder b = mWmService.makeSurfaceBuilder(s).setContainerLayer();
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 3f77e1c6886b..2b2231ae6477 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(true)
+ .getSession()).setContainerLayer()
.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 4df5a0b5ad9e..ab95e4b52dc6 100644
--- a/services/core/java/com/android/server/wm/InputConsumerImpl.java
+++ b/services/core/java/com/android/server/wm/InputConsumerImpl.java
@@ -22,13 +22,11 @@ import android.os.IBinder;
import android.os.Process;
import android.os.RemoteException;
import android.os.UserHandle;
-import android.view.InputChannel;
-import android.view.WindowManager;
-
import android.view.InputApplicationHandle;
+import android.view.InputChannel;
import android.view.InputWindowHandle;
import android.view.SurfaceControl;
-import android.util.Slog;
+import android.view.WindowManager;
import java.io.PrintWriter;
@@ -89,7 +87,7 @@ class InputConsumerImpl implements IBinder.DeathRecipient {
mWindowHandle.scaleFactor = 1.0f;
mInputSurface = mService.makeSurfaceBuilder(mService.mRoot.getDisplayContent(displayId)
- .getSession()).setContainerLayer(true).setName("Input Consumer " + name)
+ .getSession()).setContainerLayer().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 434084cc1f3d..18fce67340c0 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(true).build();
+ .setFlags(HIDDEN).setColorLayer().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 916316549f39..cdcb85720724 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(true)
+ .setContainerLayer()
.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 2d3e3aee4b7f..938c8b452e29 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 8ed7d04f026d..c88b0e50218a 100644
--- a/services/core/java/com/android/server/wm/TaskStack.java
+++ b/services/core/java/com/android/server/wm/TaskStack.java
@@ -863,7 +863,7 @@ public class TaskStack extends WindowContainer<Task> implements
updateSurfaceBounds();
if (mAnimationBackgroundSurface == null) {
- mAnimationBackgroundSurface = makeChildSurface(null).setColorLayer(true)
+ mAnimationBackgroundSurface = makeChildSurface(null).setColorLayer()
.setName("animation background stackId=" + mStackId)
.build();
}