From b44864e76b56006298e574f8ce5539a1c9e1750f Mon Sep 17 00:00:00 2001 From: Ruben Brunk Date: Fri, 12 Jun 2015 14:39:12 -0700 Subject: [PATCH] Fix legacy disconnect callback. Bug: 21708377 Change-Id: I17e9fe0fda77e8f4cb00578d5d9658dc24cab543 --- .../camera2/legacy/RequestThreadManager.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/core/java/android/hardware/camera2/legacy/RequestThreadManager.java b/core/java/android/hardware/camera2/legacy/RequestThreadManager.java index f935b6dc2dda8..d93fb741f073f 100644 --- a/core/java/android/hardware/camera2/legacy/RequestThreadManager.java +++ b/core/java/android/hardware/camera2/legacy/RequestThreadManager.java @@ -188,8 +188,18 @@ public class RequestThreadManager { private final Camera.ErrorCallback mErrorCallback = new Camera.ErrorCallback() { @Override public void onError(int i, Camera camera) { - Log.e(TAG, "Received error " + i + " from the Camera1 ErrorCallback"); - mDeviceState.setError(CameraDeviceImpl.CameraDeviceCallbacks.ERROR_CAMERA_DEVICE); + switch(i) { + case Camera.CAMERA_ERROR_EVICTED: { + flush(); + mDeviceState.setError( + CameraDeviceImpl.CameraDeviceCallbacks.ERROR_CAMERA_DISCONNECTED); + } break; + default: { + Log.e(TAG, "Received error " + i + " from the Camera1 ErrorCallback"); + mDeviceState.setError( + CameraDeviceImpl.CameraDeviceCallbacks.ERROR_CAMERA_DEVICE); + } break; + } } };