diff options
| author | Jorim Jaggi <jjaggi@google.com> | 2020-06-19 00:49:51 +0200 |
|---|---|---|
| committer | Jorim Jaggi <jjaggi@google.com> | 2020-06-26 13:40:07 +0000 |
| commit | 543db32125c004dca7d406a3498db6f87da01641 (patch) | |
| tree | 24397d109f54d364ca499db21e2360779197a341 /core/java/android/view/WindowlessWindowManager.java | |
| parent | 939ec99700d09341364593ad6d10213274036250 (diff) | |
Pass in callsite of SurfaceControl constructor explicitly (1/3)
Creating a new Throwable (and filling in the stack trace) can take
up to 150us. Since we do this on the critical path when sending
over SurfaceControl via binder multiple times, this is too much.
Instead, add an option to pass in callsite manually.
Bug: 159056748
Change-Id: I46c339c15a07192d61c4c546e46f260684a47120
Exempt-From-Owner-Approval: Large scale refactor
Diffstat (limited to 'core/java/android/view/WindowlessWindowManager.java')
| -rw-r--r-- | core/java/android/view/WindowlessWindowManager.java | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/core/java/android/view/WindowlessWindowManager.java b/core/java/android/view/WindowlessWindowManager.java index 7bdc8f162614..060311ec3da8 100644 --- a/core/java/android/view/WindowlessWindowManager.java +++ b/core/java/android/view/WindowlessWindowManager.java @@ -137,7 +137,8 @@ public class WindowlessWindowManager implements IWindowSession { .setParent(mRootSurface) .setFormat(attrs.format) .setBufferSize(getSurfaceWidth(attrs), getSurfaceHeight(attrs)) - .setName(attrs.getTitle().toString()); + .setName(attrs.getTitle().toString()) + .setCallsite("WindowlessWindowManager.addToDisplay"); final SurfaceControl sc = b.build(); if (((attrs.inputFeatures & @@ -249,7 +250,7 @@ public class WindowlessWindowManager implements IWindowSession { if (viewFlags == View.VISIBLE) { t.setBufferSize(sc, getSurfaceWidth(attrs), getSurfaceHeight(attrs)) .setOpaque(sc, isOpaque(attrs)).show(sc).apply(); - outSurfaceControl.copyFrom(sc); + outSurfaceControl.copyFrom(sc, "WindowlessWindowManager.relayout"); } else { t.hide(sc).apply(); outSurfaceControl.release(); |
