summaryrefslogtreecommitdiff
path: root/services/java/com/android/server/display/OverlayDisplayAdapter.java
diff options
context:
space:
mode:
authorJesse Hall <jessehall@google.com>2013-08-08 12:15:03 -0700
committerJeff Brown <jeffbrown@google.com>2013-08-08 15:44:15 -0700
commit6a6bc216d15293886ad088bb0ca99aadb7df85dc (patch)
tree03aba49c0f6369ff9bb0ea4dc70a2b4805cbcd51 /services/java/com/android/server/display/OverlayDisplayAdapter.java
parent4104d3295203d8a1f2d15d572293fdc1171631c6 (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.java18
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);
}
}