diff options
37 files changed, 123 insertions, 192 deletions
diff --git a/core/java/android/hardware/display/DisplayManagerInternal.java b/core/java/android/hardware/display/DisplayManagerInternal.java index 9db1f922bd5d..9d61f028bc91 100644 --- a/core/java/android/hardware/display/DisplayManagerInternal.java +++ b/core/java/android/hardware/display/DisplayManagerInternal.java @@ -24,7 +24,7 @@ import android.util.SparseArray; import android.view.Display; import android.view.DisplayInfo; import android.view.Surface; -import android.view.SurfaceControl; +import android.view.SurfaceControl.Transaction; /** * Display manager local system service interface. @@ -126,7 +126,7 @@ public abstract class DisplayManagerInternal { * Called by the window manager to perform traversals while holding a * surface flinger transaction. */ - public abstract void performTraversal(SurfaceControl.Transaction t); + public abstract void performTraversal(Transaction t); /** * Tells the display manager about properties of the display that depend on the windows on it. @@ -383,6 +383,6 @@ public abstract class DisplayManagerInternal { * update the position of its surfaces as part of the same transaction. */ public interface DisplayTransactionListener { - void onDisplayTransaction(); + void onDisplayTransaction(Transaction t); } } diff --git a/core/java/android/view/SurfaceControl.java b/core/java/android/view/SurfaceControl.java index a7a5024cd2a6..46f396a0b66b 100644 --- a/core/java/android/view/SurfaceControl.java +++ b/core/java/android/view/SurfaceControl.java @@ -375,9 +375,13 @@ public class SurfaceControl implements Parcelable { * Construct a new {@link SurfaceControl} with the set parameters. */ public SurfaceControl build() { - if (mWidth <= 0 || mHeight <= 0) { + if (mWidth < 0 || mHeight < 0) { throw new IllegalArgumentException( - "width and height must be set"); + "width and height must be positive or unset"); + } + if ((mWidth > 0 || mHeight > 0) && (isColorLayerSet() || isContainerLayerSet())) { + throw new IllegalArgumentException( + "Only buffer layers can set a valid buffer size."); } return new SurfaceControl(mSession, mName, mWidth, mHeight, mFormat, mFlags, mParent, mWindowType, mOwnerUid); @@ -399,8 +403,8 @@ public class SurfaceControl implements Parcelable { * @param width The buffer width in pixels. * @param height The buffer height in pixels. */ - public Builder setSize(int width, int height) { - if (width <= 0 || height <= 0) { + public Builder setBufferSize(int width, int height) { + if (width < 0 || height < 0) { throw new IllegalArgumentException( "width and height must be positive"); } @@ -533,6 +537,10 @@ public class SurfaceControl implements Parcelable { return this; } + private boolean isColorLayerSet() { + return (mFlags & FX_SURFACE_DIM) == FX_SURFACE_DIM; + } + /** * Indicates whether a 'ContainerLayer' is to be constructed. * @@ -550,6 +558,10 @@ public class SurfaceControl implements Parcelable { return this; } + private boolean isContainerLayerSet() { + return (mFlags & FX_SURFACE_CONTAINER) == FX_SURFACE_CONTAINER; + } + /** * Set 'Surface creation flags' such as {@link HIDDEN}, {@link SECURE}. * @@ -869,10 +881,10 @@ public class SurfaceControl implements Parcelable { } } - public void setSize(int w, int h) { + public void setBufferSize(int w, int h) { checkNotReleased(); synchronized(SurfaceControl.class) { - sGlobalTransaction.setSize(this, w, h); + sGlobalTransaction.setBufferSize(this, w, h); } } @@ -1427,7 +1439,7 @@ public class SurfaceControl implements Parcelable { } @UnsupportedAppUsage - public Transaction setSize(SurfaceControl sc, int w, int h) { + public Transaction setBufferSize(SurfaceControl sc, int w, int h) { sc.checkNotReleased(); mResizedSurfaces.put(sc, new Point(w, h)); nativeSetSize(mNativeObject, sc.mNativeObject, w, h); diff --git a/core/java/android/view/SurfaceView.java b/core/java/android/view/SurfaceView.java index 2b68ec0edcbe..3c4ce8f7cfad 100644 --- a/core/java/android/view/SurfaceView.java +++ b/core/java/android/view/SurfaceView.java @@ -557,7 +557,7 @@ public class SurfaceView extends View implements ViewRootImpl.WindowStoppedCallb name, (mSurfaceFlags & SurfaceControl.OPAQUE) != 0, new SurfaceControl.Builder(mSurfaceSession) - .setSize(mSurfaceWidth, mSurfaceHeight) + .setBufferSize(mSurfaceWidth, mSurfaceHeight) .setFormat(mFormat) .setFlags(mSurfaceFlags)); } else if (mSurfaceControl == null) { @@ -595,10 +595,14 @@ public class SurfaceView extends View implements ViewRootImpl.WindowStoppedCallb mSurfaceControl.setMatrix(mScreenRect.width() / (float) mSurfaceWidth, 0.0f, 0.0f, mScreenRect.height() / (float) mSurfaceHeight); + // Set a window crop when creating the surface or changing its size to + // crop the buffer to the surface size since the buffer producer may + // use SCALING_MODE_SCALE and submit a larger size than the surface + // size. + mSurfaceControl.setWindowCrop(mSurfaceWidth, mSurfaceHeight); } if (sizeChanged && !creating) { - mSurfaceControl.setSize(mSurfaceWidth, mSurfaceHeight); - mSurfaceControl.setWindowCrop(mSurfaceWidth, mSurfaceHeight); + mSurfaceControl.setBufferSize(mSurfaceWidth, mSurfaceHeight); } } finally { SurfaceControl.closeTransaction(); @@ -1133,6 +1137,8 @@ public class SurfaceView extends View implements ViewRootImpl.WindowStoppedCallb mBackgroundControl = b.setName("Background for -" + name) .setFormat(OPAQUE) + // Unset the buffer size of the background color layer. + .setBufferSize(0, 0) .setColorLayer(true) .build(); mOpaque = opaque; @@ -1158,9 +1164,9 @@ public class SurfaceView extends View implements ViewRootImpl.WindowStoppedCallb } @Override - public void setSize(int w, int h) { - super.setSize(w, h); - mBackgroundControl.setSize(w, h); + public void setBufferSize(int w, int h) { + super.setBufferSize(w, h); + // The background surface is a color layer so we do not set a size. } @Override diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index 0eaef5aa3c53..1ff51b4a56f4 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -24741,7 +24741,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, final SurfaceSession session = new SurfaceSession(root.mSurface); final SurfaceControl surfaceControl = new SurfaceControl.Builder(session) .setName("drag surface") - .setSize(shadowSize.x, shadowSize.y) + .setBufferSize(shadowSize.x, shadowSize.y) .setFormat(PixelFormat.TRANSLUCENT) .build(); final Surface surface = new Surface(); diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index 484c6f38e962..8e9f2d75bda0 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -1473,31 +1473,22 @@ public final class ViewRootImpl implements ViewParent, mBoundsSurfaceControl = new SurfaceControl.Builder(mSurfaceSession) .setName("Bounds for - " + getTitle().toString()) - .setSize(mWidth, mHeight) .build(); - setBoundsSurfaceSizeAndCrop(); + setBoundsSurfaceCrop(); mTransaction.setLayer(mBoundsSurfaceControl, zOrderLayer) .show(mBoundsSurfaceControl) .apply(); mBoundsSurface.copyFrom(mBoundsSurfaceControl); } - private void setBoundsSurfaceSizeAndCrop() { + private void setBoundsSurfaceCrop() { // mWinFrame is already adjusted for surface insets. So offset it and use it as // the cropping bounds. mTempBoundsRect.set(mWinFrame); mTempBoundsRect.offsetTo(mWindowAttributes.surfaceInsets.left, mWindowAttributes.surfaceInsets.top); mTransaction.setWindowCrop(mBoundsSurfaceControl, mTempBoundsRect); - - // Expand the bounds by the surface insets to get the size of surface. - mTempBoundsRect.inset(-mWindowAttributes.surfaceInsets.left, - -mWindowAttributes.surfaceInsets.top, - -mWindowAttributes.surfaceInsets.right, - -mWindowAttributes.surfaceInsets.bottom); - mTransaction.setSize(mBoundsSurfaceControl, mTempBoundsRect.width(), - mTempBoundsRect.height()); } /** @@ -1506,7 +1497,7 @@ public final class ViewRootImpl implements ViewParent, */ private void updateBoundsSurface() { if (mBoundsSurfaceControl != null && mSurface.isValid()) { - setBoundsSurfaceSizeAndCrop(); + setBoundsSurfaceCrop(); mTransaction.deferTransactionUntilSurface(mBoundsSurfaceControl, mSurface, mSurface.getNextFrameNumber()) .apply(); diff --git a/core/java/android/widget/Magnifier.java b/core/java/android/widget/Magnifier.java index f4c25c3831be..7d027574198d 100644 --- a/core/java/android/widget/Magnifier.java +++ b/core/java/android/widget/Magnifier.java @@ -837,7 +837,7 @@ public final class Magnifier { mSurfaceSession = new SurfaceSession(parentSurface); mSurfaceControl = new SurfaceControl.Builder(mSurfaceSession) .setFormat(PixelFormat.TRANSLUCENT) - .setSize(mSurfaceWidth, mSurfaceHeight) + .setBufferSize(mSurfaceWidth, mSurfaceHeight) .setName("magnifier surface") .setFlags(SurfaceControl.HIDDEN) .build(); diff --git a/core/proto/android/server/windowmanagerservice.proto b/core/proto/android/server/windowmanagerservice.proto index 99f096d57dba..679a1d254cf1 100644 --- a/core/proto/android/server/windowmanagerservice.proto +++ b/core/proto/android/server/windowmanagerservice.proto @@ -156,7 +156,7 @@ message DisplayContentProto { optional int32 rotation = 11; optional ScreenRotationAnimationProto screen_rotation_animation = 12; optional DisplayFramesProto display_frames = 13; - optional int32 surface_size = 14; + optional int32 surface_size = 14 [deprecated=true]; optional string focused_app = 15; optional AppTransitionProto app_transition = 16; } diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/system/TransactionCompat.java b/packages/SystemUI/shared/src/com/android/systemui/shared/system/TransactionCompat.java index 70258c20538d..2aba3fa607b7 100644 --- a/packages/SystemUI/shared/src/com/android/systemui/shared/system/TransactionCompat.java +++ b/packages/SystemUI/shared/src/com/android/systemui/shared/system/TransactionCompat.java @@ -20,7 +20,6 @@ import android.graphics.Matrix; import android.graphics.Rect; import android.os.IBinder; import android.view.Surface; -import android.view.SurfaceControl; import android.view.SurfaceControl.Transaction; public class TransactionCompat { @@ -53,7 +52,7 @@ public class TransactionCompat { } public TransactionCompat setSize(SurfaceControlCompat surfaceControl, int w, int h) { - mTransaction.setSize(surfaceControl.mSurfaceControl, w, h); + mTransaction.setBufferSize(surfaceControl.mSurfaceControl, w, h); return this; } diff --git a/services/core/java/com/android/server/display/ColorFade.java b/services/core/java/com/android/server/display/ColorFade.java index 33525fdc52d2..f2c539cb257c 100644 --- a/services/core/java/com/android/server/display/ColorFade.java +++ b/services/core/java/com/android/server/display/ColorFade.java @@ -16,16 +16,7 @@ package com.android.server.display; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.PrintWriter; -import java.nio.ByteBuffer; -import java.nio.ByteOrder; -import java.nio.FloatBuffer; - import android.content.Context; -import android.graphics.PixelFormat; import android.graphics.SurfaceTexture; import android.hardware.display.DisplayManagerInternal; import android.hardware.display.DisplayManagerInternal.DisplayTransactionListener; @@ -34,20 +25,29 @@ import android.opengl.EGLConfig; import android.opengl.EGLContext; import android.opengl.EGLDisplay; import android.opengl.EGLSurface; -import android.opengl.GLES20; import android.opengl.GLES11Ext; +import android.opengl.GLES20; import android.util.Slog; import android.view.DisplayInfo; -import android.view.Surface.OutOfResourcesException; import android.view.Surface; +import android.view.Surface.OutOfResourcesException; import android.view.SurfaceControl; +import android.view.SurfaceControl.Transaction; import android.view.SurfaceSession; -import libcore.io.Streams; - import com.android.server.LocalServices; import com.android.server.policy.WindowManagerPolicy; +import libcore.io.Streams; + +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.PrintWriter; +import java.nio.ByteBuffer; +import java.nio.ByteOrder; +import java.nio.FloatBuffer; + /** * <p> * Animates a screen transition from on to off or off to on by applying @@ -569,37 +569,31 @@ final class ColorFade { mSurfaceSession = new SurfaceSession(); } - SurfaceControl.openTransaction(); - try { - if (mSurfaceControl == null) { - try { - int flags; - if (mMode == MODE_FADE) { - flags = SurfaceControl.FX_SURFACE_DIM | SurfaceControl.HIDDEN; - } else { - flags = SurfaceControl.OPAQUE | SurfaceControl.HIDDEN; - } - mSurfaceControl = new SurfaceControl.Builder(mSurfaceSession) - .setName("ColorFade") - .setSize(mDisplayWidth, mDisplayHeight) - .setFlags(flags) - .build(); - } catch (OutOfResourcesException ex) { - Slog.e(TAG, "Unable to create surface.", ex); - return false; + if (mSurfaceControl == null) { + Transaction t = new Transaction(); + try { + final SurfaceControl.Builder builder = + new SurfaceControl.Builder(mSurfaceSession).setName("ColorFade"); + if (mMode == MODE_FADE) { + builder.setColorLayer(true); + } else { + builder.setBufferSize(mDisplayWidth, mDisplayHeight); } + mSurfaceControl = builder.build(); + } catch (OutOfResourcesException ex) { + Slog.e(TAG, "Unable to create surface.", ex); + return false; + } - mSurfaceControl.setLayerStack(mDisplayLayerStack); - mSurfaceControl.setSize(mDisplayWidth, mDisplayHeight); - mSurface = new Surface(); - mSurface.copyFrom(mSurfaceControl); + t.setLayerStack(mSurfaceControl, mDisplayLayerStack); + t.setWindowCrop(mSurfaceControl, mDisplayWidth, mDisplayHeight); + mSurface = new Surface(); + mSurface.copyFrom(mSurfaceControl); - mSurfaceLayout = new NaturalSurfaceLayout(mDisplayManagerInternal, - mDisplayId, mSurfaceControl); - mSurfaceLayout.onDisplayTransaction(); - } - } finally { - SurfaceControl.closeTransaction(); + mSurfaceLayout = new NaturalSurfaceLayout(mDisplayManagerInternal, + mDisplayId, mSurfaceControl); + mSurfaceLayout.onDisplayTransaction(t); + t.apply(); } return true; } @@ -746,7 +740,7 @@ final class ColorFade { } @Override - public void onDisplayTransaction() { + public void onDisplayTransaction(Transaction t) { synchronized (this) { if (mSurfaceControl == null) { return; @@ -755,21 +749,21 @@ final class ColorFade { DisplayInfo displayInfo = mDisplayManagerInternal.getDisplayInfo(mDisplayId); switch (displayInfo.rotation) { case Surface.ROTATION_0: - mSurfaceControl.setPosition(0, 0); - mSurfaceControl.setMatrix(1, 0, 0, 1); + t.setPosition(mSurfaceControl, 0, 0); + t.setMatrix(mSurfaceControl, 1, 0, 0, 1); break; case Surface.ROTATION_90: - mSurfaceControl.setPosition(0, displayInfo.logicalHeight); - mSurfaceControl.setMatrix(0, -1, 1, 0); + t.setPosition(mSurfaceControl, 0, displayInfo.logicalHeight); + t.setMatrix(mSurfaceControl, 0, -1, 1, 0); break; case Surface.ROTATION_180: - mSurfaceControl.setPosition(displayInfo.logicalWidth, + t.setPosition(mSurfaceControl, displayInfo.logicalWidth, displayInfo.logicalHeight); - mSurfaceControl.setMatrix(-1, 0, 0, -1); + t.setMatrix(mSurfaceControl, -1, 0, 0, -1); break; case Surface.ROTATION_270: - mSurfaceControl.setPosition(displayInfo.logicalWidth, 0); - mSurfaceControl.setMatrix(0, 1, -1, 0); + t.setPosition(mSurfaceControl, displayInfo.logicalWidth, 0); + t.setMatrix(mSurfaceControl, 0, 1, -1, 0); break; } } diff --git a/services/core/java/com/android/server/display/DisplayManagerService.java b/services/core/java/com/android/server/display/DisplayManagerService.java index d04fa237a599..360a7d105cce 100644 --- a/services/core/java/com/android/server/display/DisplayManagerService.java +++ b/services/core/java/com/android/server/display/DisplayManagerService.java @@ -497,7 +497,7 @@ public final class DisplayManagerService extends SystemService { // List is self-synchronized copy-on-write. for (DisplayTransactionListener listener : mDisplayTransactionListeners) { - listener.onDisplayTransaction(); + listener.onDisplayTransaction(t); } } diff --git a/services/core/java/com/android/server/wm/AccessibilityController.java b/services/core/java/com/android/server/wm/AccessibilityController.java index e4d1cfe943a8..fe0b5c250da8 100644 --- a/services/core/java/com/android/server/wm/AccessibilityController.java +++ b/services/core/java/com/android/server/wm/AccessibilityController.java @@ -16,9 +16,9 @@ package com.android.server.wm; +import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_IS_ROUNDED_CORNERS_OVERLAY; import static android.view.WindowManager.LayoutParams.TYPE_DOCK_DIVIDER; import static android.view.WindowManager.LayoutParams.TYPE_MAGNIFICATION_OVERLAY; -import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_IS_ROUNDED_CORNERS_OVERLAY; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM; @@ -706,7 +706,7 @@ final class AccessibilityController { mWindowManager.getDefaultDisplay().getRealSize(mTempPoint); surfaceControl = mService.getDefaultDisplayContentLocked().makeOverlay() .setName(SURFACE_TITLE) - .setSize(mTempPoint.x, mTempPoint.y) // not a typo + .setBufferSize(mTempPoint.x, mTempPoint.y) // not a typo .setFormat(PixelFormat.TRANSLUCENT) .build(); } catch (OutOfResourcesException oore) { @@ -784,7 +784,7 @@ final class AccessibilityController { public void updateSize() { synchronized (mService.mGlobalLock) { mWindowManager.getDefaultDisplay().getRealSize(mTempPoint); - mSurfaceControl.setSize(mTempPoint.x, mTempPoint.y); + mSurfaceControl.setBufferSize(mTempPoint.x, mTempPoint.y); invalidate(mDirtyRect); } } diff --git a/services/core/java/com/android/server/wm/AppWindowThumbnail.java b/services/core/java/com/android/server/wm/AppWindowThumbnail.java index 729f89bb2611..b9b9d31f5b71 100644 --- a/services/core/java/com/android/server/wm/AppWindowThumbnail.java +++ b/services/core/java/com/android/server/wm/AppWindowThumbnail.java @@ -16,13 +16,13 @@ package com.android.server.wm; +import static com.android.server.wm.AppWindowThumbnailProto.HEIGHT; +import static com.android.server.wm.AppWindowThumbnailProto.SURFACE_ANIMATOR; +import static com.android.server.wm.AppWindowThumbnailProto.WIDTH; import static com.android.server.wm.WindowManagerDebugConfig.SHOW_TRANSACTIONS; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM; import static com.android.server.wm.WindowManagerService.MAX_ANIMATION_DURATION; -import static com.android.server.wm.AppWindowThumbnailProto.HEIGHT; -import static com.android.server.wm.AppWindowThumbnailProto.SURFACE_ANIMATOR; -import static com.android.server.wm.AppWindowThumbnailProto.WIDTH; import android.graphics.GraphicBuffer; import android.graphics.PixelFormat; @@ -65,7 +65,7 @@ class AppWindowThumbnail implements Animatable { // this to the task. mSurfaceControl = appToken.makeSurface() .setName("thumbnail anim: " + appToken.toString()) - .setSize(mWidth, mHeight) + .setBufferSize(mWidth, mHeight) .setFormat(PixelFormat.TRANSLUCENT) .setMetadata(appToken.windowType, window != null ? window.mOwnerUid : Binder.getCallingUid()) diff --git a/services/core/java/com/android/server/wm/AppWindowToken.java b/services/core/java/com/android/server/wm/AppWindowToken.java index 6d402f291fcb..1f86f12c647d 100644 --- a/services/core/java/com/android/server/wm/AppWindowToken.java +++ b/services/core/java/com/android/server/wm/AppWindowToken.java @@ -1754,10 +1754,8 @@ class AppWindowToken extends WindowToken implements WindowManagerService.AppFree if (DEBUG_APP_TRANSITIONS || DEBUG_ANIM) Slog.i(TAG, "Creating animation bounds layer"); final SurfaceControl.Builder builder = makeAnimationLeash() .setParent(getAnimationLeashParent()) - .setName(getSurfaceControl() + " - animation-bounds") - .setSize(getSurfaceWidth(), getSurfaceHeight()); + .setName(getSurfaceControl() + " - animation-bounds"); final SurfaceControl boundsLayer = builder.build(); - t.setWindowCrop(boundsLayer, getSurfaceWidth(), getSurfaceHeight()); t.show(boundsLayer); return boundsLayer; } diff --git a/services/core/java/com/android/server/wm/BlackFrame.java b/services/core/java/com/android/server/wm/BlackFrame.java index 9633864ed77e..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,6 @@ public class BlackFrame { surface = dc.makeOverlay() .setName("BlackSurface") - .setSize(w, h) .setColorLayer(true) .setParent(null) // TODO: Work-around for b/69259549 .build(); diff --git a/services/core/java/com/android/server/wm/CircularDisplayMask.java b/services/core/java/com/android/server/wm/CircularDisplayMask.java index 2a216abbe4ac..c3d621124afc 100644 --- a/services/core/java/com/android/server/wm/CircularDisplayMask.java +++ b/services/core/java/com/android/server/wm/CircularDisplayMask.java @@ -69,7 +69,7 @@ class CircularDisplayMask { try { ctrl = dc.makeOverlay() .setName("CircularDisplayMask") - .setSize(mScreenSize.x, mScreenSize.y) // not a typo + .setBufferSize(mScreenSize.x, mScreenSize.y) // not a typo .setFormat(PixelFormat.TRANSLUCENT) .build(); diff --git a/services/core/java/com/android/server/wm/Dimmer.java b/services/core/java/com/android/server/wm/Dimmer.java index cc14afce7ff6..fa3c7ca29284 100644 --- a/services/core/java/com/android/server/wm/Dimmer.java +++ b/services/core/java/com/android/server/wm/Dimmer.java @@ -308,7 +308,6 @@ class Dimmer { return false; } else { // TODO: Once we use geometry from hierarchy this falls away. - t.setSize(mDimState.mDimLayer, bounds.width(), bounds.height()); t.setPosition(mDimState.mDimLayer, bounds.left, bounds.top); t.setWindowCrop(mDimState.mDimLayer, bounds.width(), bounds.height()); if (!mDimState.isVisible) { diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java index 478340d85d01..a834ef16f426 100644 --- a/services/core/java/com/android/server/wm/DisplayContent.java +++ b/services/core/java/com/android/server/wm/DisplayContent.java @@ -78,7 +78,6 @@ import static com.android.server.wm.DisplayContentProto.PINNED_STACK_CONTROLLER; import static com.android.server.wm.DisplayContentProto.ROTATION; import static com.android.server.wm.DisplayContentProto.SCREEN_ROTATION_ANIMATION; import static com.android.server.wm.DisplayContentProto.STACKS; -import static com.android.server.wm.DisplayContentProto.SURFACE_SIZE; import static com.android.server.wm.DisplayContentProto.WINDOW_CONTAINER; import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_ADD_REMOVE; import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_APP_TRANSITIONS; @@ -470,14 +469,6 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo private SurfaceControl mWindowingLayer; /** - * Specifies the size of the surfaces in {@link #mOverlayLayer} and {@link #mWindowingLayer}. - * <p> - * For these surfaces currently we use a surface based on the larger of width or height so we - * don't have to resize when rotating the display. - */ - private int mSurfaceSize; - - /** * Sequence number for the current layout pass. */ int mLayoutSeq = 0; @@ -884,18 +875,7 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo mDividerControllerLocked = new DockedStackDividerController(service, this); mPinnedStackControllerLocked = new PinnedStackController(service, this); - // We use this as our arbitrary surface size for buffer-less parents - // that don't impose cropping on their children. It may need to be larger - // than the display size because fullscreen windows can be shifted offscreen - // due to surfaceInsets. 2 times the largest display dimension feels like an - // appropriately arbitrary number. Eventually we would like to give SurfaceFlinger - // layers the ability to match their parent sizes and be able to skip - // such arbitrary size settings. - mSurfaceSize = Math.max(mBaseDisplayHeight, mBaseDisplayWidth) * 2; - - final SurfaceControl.Builder b = mService.makeSurfaceBuilder(mSession) - .setSize(mSurfaceSize, mSurfaceSize) - .setOpaque(true); + final SurfaceControl.Builder b = mService.makeSurfaceBuilder(mSession).setOpaque(true); mWindowingLayer = b.setName("Display Root").build(); mOverlayLayer = b.setName("Display Overlays").build(); @@ -2612,7 +2592,6 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo } mDisplayFrames.writeToProto(proto, DISPLAY_FRAMES); mAppTransition.writeToProto(proto, APP_TRANSITION); - proto.write(SURFACE_SIZE, mSurfaceSize); if (mFocusedApp != null) { mFocusedApp.writeNameToProto(proto, FOCUSED_APP); } @@ -3537,10 +3516,6 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo } } - int getSurfaceSize() { - return mSurfaceSize; - } - void performLayout(boolean initial, boolean updateInputWindows) { if (!isLayoutNeeded()) { return; @@ -4483,8 +4458,6 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo SurfaceControl.Builder makeChildSurface(WindowContainer child) { SurfaceSession s = child != null ? child.getSession() : getSession(); final SurfaceControl.Builder b = mService.makeSurfaceBuilder(s); - b.setSize(mSurfaceSize, mSurfaceSize); - 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 9832df6ff3a3..811b9282e434 100644 --- a/services/core/java/com/android/server/wm/DragState.java +++ b/services/core/java/com/android/server/wm/DragState.java @@ -155,7 +155,7 @@ class DragState { if (mInputSurface == null) { mInputSurface = mService.makeSurfaceBuilder(mService.mRoot.getDisplayContent(displayId) .getSession()).setContainerLayer(true) - .setName("Drag and Drop Input Consumer").setSize(1, 1).build(); + .setName("Drag and Drop Input Consumer").build(); } final InputWindowHandle h = getInputWindowHandle(); if (h == null) { diff --git a/services/core/java/com/android/server/wm/EmulatorDisplayOverlay.java b/services/core/java/com/android/server/wm/EmulatorDisplayOverlay.java index fddf6ca2a698..7cb4a43a9ede 100644 --- a/services/core/java/com/android/server/wm/EmulatorDisplayOverlay.java +++ b/services/core/java/com/android/server/wm/EmulatorDisplayOverlay.java @@ -16,7 +16,6 @@ package com.android.server.wm; - import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM; @@ -32,7 +31,6 @@ import android.view.Display; import android.view.Surface; import android.view.Surface.OutOfResourcesException; import android.view.SurfaceControl; -import android.view.SurfaceSession; class EmulatorDisplayOverlay { private static final String TAG = TAG_WITH_CLASS_NAME ? "EmulatorDisplayOverlay" : TAG_WM; @@ -59,7 +57,7 @@ class EmulatorDisplayOverlay { try { ctrl = dc.makeOverlay() .setName("EmulatorDisplayOverlay") - .setSize(mScreenSize.x, mScreenSize.y) + .setBufferSize(mScreenSize.x, mScreenSize.y) .setFormat(PixelFormat.TRANSLUCENT) .build(); ctrl.setLayer(zOrder); diff --git a/services/core/java/com/android/server/wm/InputConsumerImpl.java b/services/core/java/com/android/server/wm/InputConsumerImpl.java index 8140820871da..4df5a0b5ad9e 100644 --- a/services/core/java/com/android/server/wm/InputConsumerImpl.java +++ b/services/core/java/com/android/server/wm/InputConsumerImpl.java @@ -90,7 +90,6 @@ class InputConsumerImpl implements IBinder.DeathRecipient { mInputSurface = mService.makeSurfaceBuilder(mService.mRoot.getDisplayContent(displayId) .getSession()).setContainerLayer(true).setName("Input Consumer " + name) - .setSize(1, 1) .build(); } diff --git a/services/core/java/com/android/server/wm/Letterbox.java b/services/core/java/com/android/server/wm/Letterbox.java index b49d304cf9a8..1a2aa2f252e6 100644 --- a/services/core/java/com/android/server/wm/Letterbox.java +++ b/services/core/java/com/android/server/wm/Letterbox.java @@ -186,7 +186,6 @@ public class Letterbox { createSurface(); } t.setPosition(mSurface, mSurfaceFrame.left, mSurfaceFrame.top); - t.setSize(mSurface, mSurfaceFrame.width(), mSurfaceFrame.height()); t.setWindowCrop(mSurface, mSurfaceFrame.width(), mSurfaceFrame.height()); t.show(mSurface); } else if (mSurface != null) { diff --git a/services/core/java/com/android/server/wm/ScreenRotationAnimation.java b/services/core/java/com/android/server/wm/ScreenRotationAnimation.java index df97027da64f..ee0e89b24769 100644 --- a/services/core/java/com/android/server/wm/ScreenRotationAnimation.java +++ b/services/core/java/com/android/server/wm/ScreenRotationAnimation.java @@ -261,7 +261,7 @@ class ScreenRotationAnimation { try { mSurfaceControl = displayContent.makeOverlay() .setName("ScreenshotSurface") - .setSize(mWidth, mHeight) + .setBufferSize(mWidth, mHeight) .setSecure(isSecure) .build(); diff --git a/services/core/java/com/android/server/wm/StrictModeFlash.java b/services/core/java/com/android/server/wm/StrictModeFlash.java index e97b36683362..82f2ad89d407 100644 --- a/services/core/java/com/android/server/wm/StrictModeFlash.java +++ b/services/core/java/com/android/server/wm/StrictModeFlash.java @@ -16,7 +16,6 @@ package com.android.server.wm; - import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM; @@ -24,12 +23,9 @@ import android.graphics.Canvas; import android.graphics.Color; import android.graphics.PixelFormat; import android.graphics.Rect; -import android.graphics.Region; -import android.view.Display; -import android.view.Surface.OutOfResourcesException; import android.view.Surface; +import android.view.Surface.OutOfResourcesException; import android.view.SurfaceControl; -import android.view.SurfaceSession; class StrictModeFlash { private static final String TAG = TAG_WITH_CLASS_NAME ? "StrictModeFlash" : TAG_WM; @@ -46,7 +42,7 @@ class StrictModeFlash { try { ctrl = dc.makeOverlay() .setName("StrictModeFlash") - .setSize(1, 1) + .setBufferSize(1, 1) .setFormat(PixelFormat.TRANSLUCENT) .build(); ctrl.setLayer(WindowManagerService.TYPE_LAYER_MULTIPLIER * 101); // one more than Watermark? arbitrary. @@ -122,7 +118,7 @@ class StrictModeFlash { } mLastDW = dw; mLastDH = dh; - mSurfaceControl.setSize(dw, dh); + mSurfaceControl.setBufferSize(dw, dh); mDrawNeeded = true; } diff --git a/services/core/java/com/android/server/wm/SurfaceAnimator.java b/services/core/java/com/android/server/wm/SurfaceAnimator.java index 31c0c7f588c3..11068ce8bace 100644 --- a/services/core/java/com/android/server/wm/SurfaceAnimator.java +++ b/services/core/java/com/android/server/wm/SurfaceAnimator.java @@ -302,8 +302,7 @@ class SurfaceAnimator { if (DEBUG_ANIM) Slog.i(TAG, "Reparenting to leash"); final SurfaceControl.Builder builder = mAnimatable.makeAnimationLeash() .setParent(mAnimatable.getAnimationLeashParent()) - .setName(surface + " - animation-leash") - .setSize(width, height); + .setName(surface + " - animation-leash"); final SurfaceControl leash = builder.build(); t.setWindowCrop(leash, width, height); if (!hidden) { diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java index c9800f85cb22..6904ef58dc24 100644 --- a/services/core/java/com/android/server/wm/Task.java +++ b/services/core/java/com/android/server/wm/Task.java @@ -302,7 +302,6 @@ class Task extends WindowContainer<AppWindowToken> { @Override void onDisplayChanged(DisplayContent dc) { - updateSurfaceSize(dc); adjustBoundsForDisplayChangeIfNeeded(dc); super.onDisplayChanged(dc); } diff --git a/services/core/java/com/android/server/wm/TaskPositioningController.java b/services/core/java/com/android/server/wm/TaskPositioningController.java index 28bc039d6ee4..5a70325fbd87 100644 --- a/services/core/java/com/android/server/wm/TaskPositioningController.java +++ b/services/core/java/com/android/server/wm/TaskPositioningController.java @@ -82,7 +82,7 @@ class TaskPositioningController { if (mInputSurface == null) { mInputSurface = mService.makeSurfaceBuilder(dc.getSession()) .setContainerLayer(true) - .setName("Drag and Drop Input Consumer").setSize(1, 1).build(); + .setName("Drag and Drop Input Consumer").build(); } final InputWindowHandle h = getDragWindowHandleLocked(); diff --git a/services/core/java/com/android/server/wm/TaskSnapshotSurface.java b/services/core/java/com/android/server/wm/TaskSnapshotSurface.java index a7b0272d4b0d..8f02f8aa5dd9 100644 --- a/services/core/java/com/android/server/wm/TaskSnapshotSurface.java +++ b/services/core/java/com/android/server/wm/TaskSnapshotSurface.java @@ -32,6 +32,7 @@ import static android.view.WindowManager.LayoutParams.FLAG_SPLIT_TOUCH; import static android.view.WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH; import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_FORCE_DRAW_STATUS_BAR_BACKGROUND; import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_STARTING; + import static com.android.internal.policy.DecorView.NAVIGATION_BAR_COLOR_VIEW_ATTRIBUTES; import static com.android.internal.policy.DecorView.STATUS_BAR_COLOR_VIEW_ATTRIBUTES; import static com.android.internal.policy.DecorView.getColorViewLeftInset; @@ -312,7 +313,7 @@ class TaskSnapshotSurface implements StartingSurface { // Keep a reference to it such that it doesn't get destroyed when finalized. mChildSurfaceControl = new SurfaceControl.Builder(session) .setName(mTitle + " - task-snapshot-surface") - .setSize(buffer.getWidth(), buffer.getHeight()) + .setBufferSize(buffer.getWidth(), buffer.getHeight()) .setFormat(buffer.getFormat()) .build(); Surface surface = new Surface(); diff --git a/services/core/java/com/android/server/wm/TaskStack.java b/services/core/java/com/android/server/wm/TaskStack.java index 64f4ba5e24ab..5deb4f1ab7d4 100644 --- a/services/core/java/com/android/server/wm/TaskStack.java +++ b/services/core/java/com/android/server/wm/TaskStack.java @@ -248,7 +248,6 @@ public class TaskStack extends WindowContainer<Task> implements getRawBounds(mTmpRect); final Rect stackBounds = getBounds(); getPendingTransaction() - .setSize(mAnimationBackgroundSurface, mTmpRect.width(), mTmpRect.height()) .setWindowCrop(mAnimationBackgroundSurface, mTmpRect.width(), mTmpRect.height()) .setPosition(mAnimationBackgroundSurface, mTmpRect.left - stackBounds.left, mTmpRect.top - stackBounds.top); @@ -751,7 +750,6 @@ public class TaskStack extends WindowContainer<Task> implements if (width == mLastSurfaceSize.x && height == mLastSurfaceSize.y) { return; } - transaction.setSize(mSurfaceControl, width, height); transaction.setWindowCrop(mSurfaceControl, width, height); mLastSurfaceSize.set(width, height); } diff --git a/services/core/java/com/android/server/wm/Watermark.java b/services/core/java/com/android/server/wm/Watermark.java index 9216b66e5088..e6ac059d5e02 100644 --- a/services/core/java/com/android/server/wm/Watermark.java +++ b/services/core/java/com/android/server/wm/Watermark.java @@ -20,19 +20,18 @@ import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM; import android.graphics.Canvas; import android.graphics.Paint; +import android.graphics.Paint.FontMetricsInt; import android.graphics.PixelFormat; import android.graphics.PorterDuff; import android.graphics.Rect; import android.graphics.Typeface; -import android.graphics.Paint.FontMetricsInt; import android.util.DisplayMetrics; import android.util.Log; import android.util.TypedValue; import android.view.Display; -import android.view.Surface.OutOfResourcesException; import android.view.Surface; +import android.view.Surface.OutOfResourcesException; import android.view.SurfaceControl; -import android.view.SurfaceSession; /** * Displays a watermark on top of the window manager's windows. @@ -116,7 +115,7 @@ class Watermark { try { ctrl = dc.makeOverlay() .setName("WatermarkSurface") - .setSize(1, 1) + .setBufferSize(1, 1) .setFormat(PixelFormat.TRANSLUCENT) .build(); ctrl.setLayerStack(mDisplay.getLayerStack()); @@ -133,7 +132,7 @@ class Watermark { if (mLastDW != dw || mLastDH != dh) { mLastDW = dw; mLastDH = dh; - mSurfaceControl.setSize(dw, dh); + mSurfaceControl.setBufferSize(dw, dh); mDrawNeeded = true; } } diff --git a/services/core/java/com/android/server/wm/WindowContainer.java b/services/core/java/com/android/server/wm/WindowContainer.java index 266006db9987..7e4c62935e05 100644 --- a/services/core/java/com/android/server/wm/WindowContainer.java +++ b/services/core/java/com/android/server/wm/WindowContainer.java @@ -515,24 +515,6 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer< } } - /** - * Update the surface size when display changed in order to avoid children being bound by the - * old display size. - * - * Note that we don't want to apply this to all layers, but only limiting this to layers that - * don't set their own size ({@link Task}, {@link WindowState} and {@link WindowToken}). - */ - void updateSurfaceSize(DisplayContent dc) { - if (mSurfaceControl == null) { - return; - } - - final int newSurfaceSize = dc.getSurfaceSize(); - if (mSurfaceControl.getWidth() != newSurfaceSize) { - getPendingTransaction().setSize(mSurfaceControl, newSurfaceSize, newSurfaceSize); - } - } - void setWaitingForDrawnIfResizingChanged() { for (int i = mChildren.size() - 1; i >= 0; --i) { final WindowContainer wc = mChildren.get(i); diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index 9efaefefb192..91c328809adb 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -1261,7 +1261,6 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP @Override void onDisplayChanged(DisplayContent dc) { - updateSurfaceSize(dc); super.onDisplayChanged(dc); // Window was not laid out for this display yet, so make sure mLayoutSeq does not match. if (dc != null) { diff --git a/services/core/java/com/android/server/wm/WindowStateAnimator.java b/services/core/java/com/android/server/wm/WindowStateAnimator.java index e090cc5177ba..78a3fe5ac4ca 100644 --- a/services/core/java/com/android/server/wm/WindowStateAnimator.java +++ b/services/core/java/com/android/server/wm/WindowStateAnimator.java @@ -861,7 +861,7 @@ class WindowStateAnimator { // to find the surface size changed underneath it. final boolean relayout = !w.mRelayoutCalled || w.mInRelayout; if (relayout) { - mSurfaceResized = mSurfaceController.setSizeInTransaction( + mSurfaceResized = mSurfaceController.setBufferSizeInTransaction( mTmpSize.width(), mTmpSize.height(), recoveringMemory); } else { mSurfaceResized = false; diff --git a/services/core/java/com/android/server/wm/WindowSurfaceController.java b/services/core/java/com/android/server/wm/WindowSurfaceController.java index 6821e9486a78..ce627e23e6ee 100644 --- a/services/core/java/com/android/server/wm/WindowSurfaceController.java +++ b/services/core/java/com/android/server/wm/WindowSurfaceController.java @@ -19,34 +19,28 @@ package com.android.server.wm; import static android.os.Trace.TRACE_TAG_WINDOW_MANAGER; import static android.view.Surface.SCALING_MODE_SCALE_TO_WINDOW; +import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_VISIBILITY; +import static com.android.server.wm.WindowManagerDebugConfig.SHOW_LIGHT_TRANSACTIONS; import static com.android.server.wm.WindowManagerDebugConfig.SHOW_SURFACE_ALLOC; import static com.android.server.wm.WindowManagerDebugConfig.SHOW_TRANSACTIONS; -import static com.android.server.wm.WindowManagerDebugConfig.SHOW_LIGHT_TRANSACTIONS; -import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_VISIBILITY; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM; import static com.android.server.wm.WindowSurfaceControllerProto.LAYER; import static com.android.server.wm.WindowSurfaceControllerProto.SHOWN; -import android.graphics.Point; -import android.graphics.PointF; import android.graphics.Rect; import android.graphics.Region; -import android.os.IBinder; import android.os.Debug; +import android.os.IBinder; import android.os.Trace; +import android.util.Slog; import android.util.proto.ProtoOutputStream; import android.view.Surface; import android.view.SurfaceControl; import android.view.SurfaceSession; import android.view.WindowContentFrameStats; -import android.view.Surface.OutOfResourcesException; - -import android.util.Slog; -import java.io.FileDescriptor; import java.io.PrintWriter; -import java.util.ArrayList; class WindowSurfaceController { static final String TAG = TAG_WITH_CLASS_NAME ? "WindowSurfaceController" : TAG_WM; @@ -106,7 +100,7 @@ class WindowSurfaceController { final SurfaceControl.Builder b = win.makeSurface() .setParent(win.getSurfaceControl()) .setName(name) - .setSize(w, h) + .setBufferSize(w, h) .setFormat(format) .setFlags(flags) .setMetadata(windowType, ownerUid); @@ -303,7 +297,7 @@ class WindowSurfaceController { } } - boolean setSizeInTransaction(int width, int height, boolean recoveringMemory) { + boolean setBufferSizeInTransaction(int width, int height, boolean recoveringMemory) { final boolean surfaceResized = mSurfaceW != width || mSurfaceH != height; if (surfaceResized) { mSurfaceW = width; @@ -312,7 +306,7 @@ class WindowSurfaceController { try { if (SHOW_TRANSACTIONS) logSurface( "SIZE " + width + "x" + height, null); - mSurfaceControl.setSize(width, height); + mSurfaceControl.setBufferSize(width, height); } catch (RuntimeException e) { // If something goes wrong with the surface (such // as running out of memory), don't take down the diff --git a/services/core/java/com/android/server/wm/WindowToken.java b/services/core/java/com/android/server/wm/WindowToken.java index 0cf79b63e9dc..d8242f8a6daa 100644 --- a/services/core/java/com/android/server/wm/WindowToken.java +++ b/services/core/java/com/android/server/wm/WindowToken.java @@ -265,7 +265,6 @@ class WindowToken extends WindowContainer<WindowState> { // to another display before the window behind // it is ready. - updateSurfaceSize(dc); super.onDisplayChanged(dc); } diff --git a/services/tests/servicestests/src/com/android/server/wm/DimmerTests.java b/services/tests/servicestests/src/com/android/server/wm/DimmerTests.java index 991981f62d30..a6415d1f2b1f 100644 --- a/services/tests/servicestests/src/com/android/server/wm/DimmerTests.java +++ b/services/tests/servicestests/src/com/android/server/wm/DimmerTests.java @@ -145,7 +145,7 @@ public class DimmerTests extends WindowTestsBase { } @Test - public void testUpdateDimsAppliesSize() { + public void testUpdateDimsAppliesCrop() { mDimmer.dimAbove(mTransaction, 0.8f); int width = 100; @@ -153,7 +153,7 @@ public class DimmerTests extends WindowTestsBase { Rect bounds = new Rect(0, 0, width, height); mDimmer.updateDims(mTransaction, bounds); - verify(mTransaction).setSize(getDimLayer(), width, height); + verify(mTransaction).setWindowCrop(getDimLayer(), width, height); verify(mTransaction).show(getDimLayer()); } @@ -242,13 +242,13 @@ public class DimmerTests extends WindowTestsBase { SurfaceControl dimLayer = getDimLayer(); bounds.set(0, 0, 10, 10); mDimmer.updateDims(mTransaction, bounds); + verify(mTransaction).setWindowCrop(dimLayer, bounds.width(), bounds.height()); verify(mTransaction, times(1)).show(dimLayer); - verify(mTransaction).setSize(dimLayer, bounds.width(), bounds.height()); verify(mTransaction).setPosition(dimLayer, 0, 0); bounds.set(10, 10, 30, 30); mDimmer.updateDims(mTransaction, bounds); - verify(mTransaction).setSize(dimLayer, bounds.width(), bounds.height()); + verify(mTransaction).setWindowCrop(dimLayer, bounds.width(), bounds.height()); verify(mTransaction).setPosition(dimLayer, 10, 10); } diff --git a/services/tests/servicestests/src/com/android/server/wm/DragDropControllerTests.java b/services/tests/servicestests/src/com/android/server/wm/DragDropControllerTests.java index 55e766da09fc..ad293d963f3e 100644 --- a/services/tests/servicestests/src/com/android/server/wm/DragDropControllerTests.java +++ b/services/tests/servicestests/src/com/android/server/wm/DragDropControllerTests.java @@ -171,7 +171,7 @@ public class DragDropControllerTests extends WindowTestsBase { try { final SurfaceControl surface = new SurfaceControl.Builder(appSession) .setName("drag surface") - .setSize(100, 100) + .setBufferSize(100, 100) .setFormat(PixelFormat.TRANSLUCENT) .build(); diff --git a/services/tests/servicestests/src/com/android/server/wm/SurfaceAnimatorTest.java b/services/tests/servicestests/src/com/android/server/wm/SurfaceAnimatorTest.java index 6833dc5f0497..e638a6accf7c 100644 --- a/services/tests/servicestests/src/com/android/server/wm/SurfaceAnimatorTest.java +++ b/services/tests/servicestests/src/com/android/server/wm/SurfaceAnimatorTest.java @@ -225,11 +225,9 @@ public class SurfaceAnimatorTest extends WindowTestsBase { mTransaction = transaction; mParent = wm.makeSurfaceBuilder(mSession) .setName("test surface parent") - .setSize(3000, 3000) .build(); mSurface = wm.makeSurfaceBuilder(mSession) .setName("test surface") - .setSize(1, 1) .build(); mFinishedCallbackCalled = false; mLeash = null; |