diff options
author | Jesse Hall <jessehall@google.com> | 2013-08-08 12:15:03 -0700 |
---|---|---|
committer | Jeff Brown <jeffbrown@google.com> | 2013-08-08 15:44:15 -0700 |
commit | 6a6bc216d15293886ad088bb0ca99aadb7df85dc (patch) | |
tree | 03aba49c0f6369ff9bb0ea4dc70a2b4805cbcd51 /services/java/com/android/server/display/OverlayDisplayAdapter.java | |
parent | 4104d3295203d8a1f2d15d572293fdc1171631c6 (diff) |
Use new ISurfaceComposer::destroyDisplay method
Bug: 10191053
Change-Id: I3ecc6880db4a4c77c6db4e8b50faa9b4021d17c6
Diffstat (limited to 'services/java/com/android/server/display/OverlayDisplayAdapter.java')
-rw-r--r-- | services/java/com/android/server/display/OverlayDisplayAdapter.java | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/services/java/com/android/server/display/OverlayDisplayAdapter.java b/services/java/com/android/server/display/OverlayDisplayAdapter.java index ce402a521162..007acf716598 100644 --- a/services/java/com/android/server/display/OverlayDisplayAdapter.java +++ b/services/java/com/android/server/display/OverlayDisplayAdapter.java @@ -211,11 +211,13 @@ final class OverlayDisplayAdapter extends DisplayAdapter { mSurfaceTexture = surfaceTexture; } - public void clearSurfaceTextureLocked() { - if (mSurfaceTexture != null) { - mSurfaceTexture = null; + public void destroyLocked() { + mSurfaceTexture = null; + if (mSurface != null) { + mSurface.release(); + mSurface = null; } - sendTraversalRequestLocked(); + SurfaceControl.destroyDisplay(getDisplayTokenLocked()); } @Override @@ -225,12 +227,6 @@ final class OverlayDisplayAdapter extends DisplayAdapter { mSurface = new Surface(mSurfaceTexture); } setSurfaceInTransactionLocked(mSurface); - } else { - setSurfaceInTransactionLocked(null); - if (mSurface != null) { - mSurface.destroy(); - mSurface = null; - } } } @@ -307,7 +303,7 @@ final class OverlayDisplayAdapter extends DisplayAdapter { public void onWindowDestroyed() { synchronized (getSyncRoot()) { if (mDevice != null) { - mDevice.clearSurfaceTextureLocked(); + mDevice.destroyLocked(); sendDisplayDeviceEventLocked(mDevice, DISPLAY_DEVICE_EVENT_REMOVED); } } |