summaryrefslogtreecommitdiff
path: root/services/java/com/android/server/display/WifiDisplayAdapter.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/WifiDisplayAdapter.java
parent4104d3295203d8a1f2d15d572293fdc1171631c6 (diff)
Use new ISurfaceComposer::destroyDisplay method
Bug: 10191053 Change-Id: I3ecc6880db4a4c77c6db4e8b50faa9b4021d17c6
Diffstat (limited to 'services/java/com/android/server/display/WifiDisplayAdapter.java')
-rw-r--r--services/java/com/android/server/display/WifiDisplayAdapter.java15
1 files changed, 10 insertions, 5 deletions
diff --git a/services/java/com/android/server/display/WifiDisplayAdapter.java b/services/java/com/android/server/display/WifiDisplayAdapter.java
index 11d38190faab..a9da30fee61b 100644
--- a/services/java/com/android/server/display/WifiDisplayAdapter.java
+++ b/services/java/com/android/server/display/WifiDisplayAdapter.java
@@ -374,7 +374,7 @@ final class WifiDisplayAdapter extends DisplayAdapter {
private void removeDisplayDeviceLocked() {
if (mDisplayDevice != null) {
- mDisplayDevice.clearSurfaceLocked();
+ mDisplayDevice.destroyLocked();
sendDisplayDeviceEventLocked(mDisplayDevice, DISPLAY_DEVICE_EVENT_REMOVED);
mDisplayDevice = null;
@@ -633,9 +633,12 @@ final class WifiDisplayAdapter extends DisplayAdapter {
mSurface = surface;
}
- public void clearSurfaceLocked() {
- mSurface = null;
- sendTraversalRequestLocked();
+ public void destroyLocked() {
+ if (mSurface != null) {
+ mSurface.release();
+ mSurface = null;
+ }
+ SurfaceControl.destroyDisplay(getDisplayTokenLocked());
}
public void setNameLocked(String name) {
@@ -645,7 +648,9 @@ final class WifiDisplayAdapter extends DisplayAdapter {
@Override
public void performTraversalInTransactionLocked() {
- setSurfaceInTransactionLocked(mSurface);
+ if (mSurface != null) {
+ setSurfaceInTransactionLocked(mSurface);
+ }
}
@Override