diff options
| -rw-r--r-- | services/java/com/android/server/power/ElectronBeam.java | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/services/java/com/android/server/power/ElectronBeam.java b/services/java/com/android/server/power/ElectronBeam.java index 4a74149cdcf4..379e704ab1d9 100644 --- a/services/java/com/android/server/power/ElectronBeam.java +++ b/services/java/com/android/server/power/ElectronBeam.java @@ -389,10 +389,14 @@ final class ElectronBeam { mTexNamesGenerated = true; } - SurfaceTexture st = new SurfaceTexture(mTexNames[0]); - SurfaceControl.screenshot(SurfaceControl.getBuiltInDisplay( - SurfaceControl.BUILT_IN_DISPLAY_ID_MAIN), - new Surface(st)); + final SurfaceTexture st = new SurfaceTexture(mTexNames[0]); + final Surface s = new Surface(st); + try { + SurfaceControl.screenshot(SurfaceControl.getBuiltInDisplay( + SurfaceControl.BUILT_IN_DISPLAY_ID_MAIN), s); + } finally { + s.release(); + } st.updateTexImage(); st.getTransformMatrix(mTexMatrix); |