diff options
| author | 2024-12-23 14:34:59 +0000 | |
|---|---|---|
| committer | 2024-12-23 14:34:59 +0000 | |
| commit | 7d75ee7bdcfa326787c5ef29b56d16e173f3c9bc (patch) | |
| tree | ab486ea368855ac725ca72bf9303e698ab742b30 | |
| parent | 1f39ebe0f64c7236b3a6a8783095ac78dd1a9e76 (diff) | |
Fix NPE when display is not connected when onSecureWindowShown is called
Bug: 385377064
Test: atest ActivityManagementTest
Flag: EXEMPT minor NPE fix
Change-Id: I6791846c704eed70e5cb6c183e6bf32968a1eed4
| -rw-r--r-- | services/companion/java/com/android/server/companion/virtual/VirtualDeviceImpl.java | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/services/companion/java/com/android/server/companion/virtual/VirtualDeviceImpl.java b/services/companion/java/com/android/server/companion/virtual/VirtualDeviceImpl.java index a1d621d8dd1f..6bf60bf1ddf1 100644 --- a/services/companion/java/com/android/server/companion/virtual/VirtualDeviceImpl.java +++ b/services/companion/java/com/android/server/companion/virtual/VirtualDeviceImpl.java @@ -301,14 +301,19 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub // if the secure window is shown on a non-secure virtual display. DisplayManager displayManager = mContext.getSystemService(DisplayManager.class); Display display = displayManager.getDisplay(displayId); - if ((display.getFlags() & Display.FLAG_SECURE) == 0) { - showToastWhereUidIsRunning(activityInfo.applicationInfo.uid, - com.android.internal.R.string.vdm_secure_window, - Toast.LENGTH_LONG, mContext.getMainLooper()); - - Counter.logIncrementWithUid( - "virtual_devices.value_secure_window_blocked_count", - mAttributionSource.getUid()); + if (display != null) { + if ((display.getFlags() & Display.FLAG_SECURE) == 0) { + showToastWhereUidIsRunning(activityInfo.applicationInfo.uid, + com.android.internal.R.string.vdm_secure_window, + Toast.LENGTH_LONG, mContext.getMainLooper()); + + Counter.logIncrementWithUid( + "virtual_devices.value_secure_window_blocked_count", + mAttributionSource.getUid()); + } + } else { + Slog.e(TAG, "Calling onSecureWindowShown on a non existent/connected display: " + + displayId); } } |