Merge "DO NOT MERGE - Shutter button left handed support" into gb-ub-photos-denali
diff --git a/src/com/android/camera/VideoModule.java b/src/com/android/camera/VideoModule.java
index a95336f..23a9f5b 100644
--- a/src/com/android/camera/VideoModule.java
+++ b/src/com/android/camera/VideoModule.java
@@ -372,7 +372,13 @@
 
     @Override
     public void onSingleTapUp(View view, int x, int y) {
-        if (mMediaRecorderRecording || mPaused || mCameraDevice == null) {
+        if (mPaused || mCameraDevice == null) {
+            return;
+        }
+        if (mMediaRecorderRecording) {
+            if (!mSnapshotInProgress) {
+                takeASnapshot();
+            }
             return;
         }
         // Check if metering area or focus area is supported.
@@ -387,7 +393,7 @@
         // Only take snapshots if video snapshot is supported by device
         if (CameraUtil.isVideoSnapshotSupported(mParameters) && !mIsVideoCaptureIntent) {
             if (!mMediaRecorderRecording || mPaused || mSnapshotInProgress
-                    || mAppController.isShutterEnabled()) {
+                    || !mAppController.isShutterEnabled()) {
                 return;
             }
 
@@ -399,7 +405,7 @@
             CameraUtil.setGpsParameters(mParameters, loc);
             mCameraDevice.setParameters(mParameters);
 
-            Log.v(TAG, "Video snapshot start");
+            Log.i(TAG, "Video snapshot start");
             mCameraDevice.takePicture(mHandler,
                     null, null, null, new JpegPictureCallback(loc));
             showVideoSnapshotUI(true);
@@ -1764,7 +1770,7 @@
 
         @Override
         public void onPictureTaken(byte [] jpegData, CameraProxy camera) {
-            Log.v(TAG, "onPictureTaken");
+            Log.i(TAG, "Video snapshot taken.");
             mSnapshotInProgress = false;
             showVideoSnapshotUI(false);
             storeImage(jpegData, mLocation);
diff --git a/src/com/android/camera/app/AndroidCameraManagerImpl.java b/src/com/android/camera/app/AndroidCameraManagerImpl.java
index 2385bc1..3c72cfb 100644
--- a/src/com/android/camera/app/AndroidCameraManagerImpl.java
+++ b/src/com/android/camera/app/AndroidCameraManagerImpl.java
@@ -963,7 +963,7 @@
             mDispatchThread.runJob(new Runnable() {
                 @Override
                 public void run() {
-                    mCameraState.waitForStates(CAMERA_IDLE);
+                    mCameraState.waitForStates(CAMERA_IDLE | CAMERA_UNLOCKED);
                     mCameraHandler.requestTakePicture(ShutterCallbackForward
                             .getNewInstance(handler, AndroidCameraProxyImpl.this, shutter),
                             PictureCallbackForward