diff options
-rw-r--r-- | src/com/android/camera/AndroidCameraManagerImpl.java | 10 | ||||
-rw-r--r-- | src/com/android/camera/PhotoModule.java | 2 |
2 files changed, 9 insertions, 3 deletions
diff --git a/src/com/android/camera/AndroidCameraManagerImpl.java b/src/com/android/camera/AndroidCameraManagerImpl.java index ac9b7eb4e..e26b6a90e 100644 --- a/src/com/android/camera/AndroidCameraManagerImpl.java +++ b/src/com/android/camera/AndroidCameraManagerImpl.java @@ -329,8 +329,14 @@ class AndroidCameraManagerImpl implements CameraManager { } mCamera = null; } else if (mCamera == null) { - Log.w(TAG, "Cannot handle message, mCamera is null."); - return; + if (msg.what == OPEN_CAMERA) { + if (msg.obj != null) { + ((CameraOpenErrorCallback) msg.obj).onDeviceOpenFailure(msg.arg1); + } + } else { + Log.w(TAG, "Cannot handle message, mCamera is null."); + } + return; } throw e; } diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java index aeca3ddef..2d82b57a6 100644 --- a/src/com/android/camera/PhotoModule.java +++ b/src/com/android/camera/PhotoModule.java @@ -1466,7 +1466,7 @@ public class PhotoModule // This can only be called by UI Thread. private void startPreview() { - if (mPaused) { + if (mPaused || mCameraDevice == null) { return; } SurfaceTexture st = mUI.getSurfaceTexture(); |