diff --git a/core/java/android/hardware/camera2/CameraManager.java b/core/java/android/hardware/camera2/CameraManager.java index 04e64af8c25e0..ffd9d8969e65c 100644 --- a/core/java/android/hardware/camera2/CameraManager.java +++ b/core/java/android/hardware/camera2/CameraManager.java @@ -1099,6 +1099,11 @@ public final class CameraManager { if (oldHandler == null) { updateCallbackLocked(callback, handler); } + + // If not connected to camera service, schedule a reconnect to camera service. + if (mCameraService == null) { + scheduleCameraServiceReconnectionLocked(); + } } } @@ -1123,6 +1128,11 @@ public final class CameraManager { if (oldHandler == null) { updateTorchCallbackLocked(callback, handler); } + + // If not connected to camera service, schedule a reconnect to camera service. + if (mCameraService == null) { + scheduleCameraServiceReconnectionLocked(); + } } }