diff options
| -rw-r--r-- | services/core/java/com/android/server/display/VirtualDisplayAdapter.java | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/services/core/java/com/android/server/display/VirtualDisplayAdapter.java b/services/core/java/com/android/server/display/VirtualDisplayAdapter.java index 74e025d205b5..514993380564 100644 --- a/services/core/java/com/android/server/display/VirtualDisplayAdapter.java +++ b/services/core/java/com/android/server/display/VirtualDisplayAdapter.java @@ -149,13 +149,7 @@ final class VirtualDisplayAdapter extends DisplayAdapter { } private void handleBinderDiedLocked(IBinder appToken) { - VirtualDisplayDevice device = mVirtualDisplayDevices.remove(appToken); - if (device != null) { - Slog.i(TAG, "Virtual display device released because application token died: " - + device.mOwnerPackageName); - device.destroyLocked(false); - sendDisplayDeviceEventLocked(device, DISPLAY_DEVICE_EVENT_REMOVED); - } + mVirtualDisplayDevices.remove(appToken); } private void handleMediaProjectionStoppedLocked(IBinder appToken) { @@ -216,6 +210,10 @@ final class VirtualDisplayAdapter extends DisplayAdapter { public void binderDied() { synchronized (getSyncRoot()) { handleBinderDiedLocked(mAppToken); + Slog.i(TAG, "Virtual display device released because application token died: " + + mOwnerPackageName); + destroyLocked(false); + sendDisplayDeviceEventLocked(this, DISPLAY_DEVICE_EVENT_REMOVED); } } |