summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2020-05-26 20:41:22 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2020-05-26 20:41:22 +0000
commit58c7846f6a9dd1a7ce14df1c895fc183b6fc0009 (patch)
tree39919febc0b40ec3e73c85c05f8d8b2635cad189
parent40d3143c8a2e5d4cf01cc8e6596737fb63518da4 (diff)
parent5d9d2ddca2d84f9614a6ccb0b7441d80c4f1e728 (diff)
Merge "WindowlessWindowManager: Set size when creating surface" into rvc-dev
-rw-r--r--core/java/android/view/WindowlessWindowManager.java21
-rw-r--r--services/core/java/com/android/server/wm/ShellRoot.java1
2 files changed, 14 insertions, 8 deletions
diff --git a/core/java/android/view/WindowlessWindowManager.java b/core/java/android/view/WindowlessWindowManager.java
index d20ffb3a6ec1..9b5b8824b0e6 100644
--- a/core/java/android/view/WindowlessWindowManager.java
+++ b/core/java/android/view/WindowlessWindowManager.java
@@ -136,6 +136,7 @@ public class WindowlessWindowManager implements IWindowSession {
final SurfaceControl.Builder b = new SurfaceControl.Builder(mSurfaceSession)
.setParent(mRootSurface)
.setFormat(attrs.format)
+ .setBufferSize(getSurfaceWidth(attrs), getSurfaceHeight(attrs))
.setName(attrs.getTitle().toString());
final SurfaceControl sc = b.build();
@@ -242,13 +243,8 @@ public class WindowlessWindowManager implements IWindowSession {
WindowManager.LayoutParams attrs = state.mParams;
if (viewFlags == View.VISIBLE) {
- final Rect surfaceInsets = attrs.surfaceInsets;
- int width = surfaceInsets != null
- ? attrs.width + surfaceInsets.left + surfaceInsets.right : attrs.width;
- int height = surfaceInsets != null
- ? attrs.height + surfaceInsets.top + surfaceInsets.bottom : attrs.height;
-
- t.setBufferSize(sc, width, height).setOpaque(sc, isOpaque(attrs)).show(sc).apply();
+ t.setBufferSize(sc, getSurfaceWidth(attrs), getSurfaceHeight(attrs))
+ .setOpaque(sc, isOpaque(attrs)).show(sc).apply();
outSurfaceControl.copyFrom(sc);
} else {
t.hide(sc).apply();
@@ -444,4 +440,15 @@ public class WindowlessWindowManager implements IWindowSession {
public android.os.IBinder asBinder() {
return null;
}
+
+ private int getSurfaceWidth(WindowManager.LayoutParams attrs) {
+ final Rect surfaceInsets = attrs.surfaceInsets;
+ return surfaceInsets != null
+ ? attrs.width + surfaceInsets.left + surfaceInsets.right : attrs.width;
+ }
+ private int getSurfaceHeight(WindowManager.LayoutParams attrs) {
+ final Rect surfaceInsets = attrs.surfaceInsets;
+ return surfaceInsets != null
+ ? attrs.height + surfaceInsets.top + surfaceInsets.bottom : attrs.height;
+ }
}
diff --git a/services/core/java/com/android/server/wm/ShellRoot.java b/services/core/java/com/android/server/wm/ShellRoot.java
index 99f710bd8bd4..7a38bb65f73b 100644
--- a/services/core/java/com/android/server/wm/ShellRoot.java
+++ b/services/core/java/com/android/server/wm/ShellRoot.java
@@ -156,4 +156,3 @@ public class ShellRoot {
}
}
}
-