summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/java/com/android/server/power/ElectronBeam.java12
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);