Merge "CameraDeviceImpl: Follow through reporting device errors even if the remote device was never initialized." into tm-qpr-dev am: 585a299c9a

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20922063

Change-Id: Ib30424d4024af894ce321dad26ebd91e621c589a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Austin Borger
2023-01-11 22:16:28 +00:00
committed by Automerger Merge Worker

View File

@@ -87,6 +87,7 @@ public class CameraDeviceImpl extends CameraDevice
// TODO: guard every function with if (!mRemoteDevice) check (if it was closed)
private ICameraDeviceUserWrapper mRemoteDevice;
private boolean mRemoteDeviceInit = false;
// Lock to synchronize cross-thread access to device public interface
final Object mInterfaceLock = new Object(); // access from this class and Session only!
@@ -338,6 +339,8 @@ public class CameraDeviceImpl extends CameraDevice
mDeviceExecutor.execute(mCallOnOpened);
mDeviceExecutor.execute(mCallOnUnconfigured);
mRemoteDeviceInit = true;
}
}
@@ -1754,8 +1757,8 @@ public class CameraDeviceImpl extends CameraDevice
}
synchronized(mInterfaceLock) {
if (mRemoteDevice == null) {
return; // Camera already closed
if (mRemoteDevice == null && mRemoteDeviceInit) {
return; // Camera already closed, user is not interested in errors anymore.
}
// Redirect device callback to the offline session in case we are in the middle