Make onVirtualDisplayRemoved callback idempotent.
... by not throwing an exception if it's invoked multiple times / for already released display id. Bug: 292284597 Test: atest VirtualDisplayTest Change-Id: I151eafc1f4c2ea3fb5c8ed966965fe7efbd9cc56
This commit is contained in:
@@ -927,8 +927,9 @@ final class VirtualDeviceImpl extends IVirtualDevice.Stub
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (virtualDisplayWrapper == null) {
|
if (virtualDisplayWrapper == null) {
|
||||||
throw new IllegalStateException(
|
Slog.w(TAG, "Virtual device " + mDeviceId + " doesn't have a virtual display with ID "
|
||||||
"Virtual device doesn't have a virtual display with ID " + displayId);
|
+ displayId);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
final long ident = Binder.clearCallingIdentity();
|
final long ident = Binder.clearCallingIdentity();
|
||||||
|
|||||||
@@ -789,13 +789,6 @@ public class VirtualDeviceManagerServiceTest {
|
|||||||
nullable(String.class), eq(DISPLAY_ID_1), eq(null));
|
nullable(String.class), eq(DISPLAY_ID_1), eq(null));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
public void onVirtualDisplayRemovedLocked_unknownDisplayId_throwsException() {
|
|
||||||
final int unknownDisplayId = 999;
|
|
||||||
assertThrows(IllegalStateException.class,
|
|
||||||
() -> mDeviceImpl.onVirtualDisplayRemoved(unknownDisplayId));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onVirtualDisplayRemovedLocked_wakeLockIsReleased() throws RemoteException {
|
public void onVirtualDisplayRemovedLocked_wakeLockIsReleased() throws RemoteException {
|
||||||
addVirtualDisplay(mDeviceImpl, DISPLAY_ID_1);
|
addVirtualDisplay(mDeviceImpl, DISPLAY_ID_1);
|
||||||
|
|||||||
Reference in New Issue
Block a user