OSDN Git Service

Reset aspect ratio on pause
[android-x86/packages-apps-Camera2.git] / src / com / android / camera / PhotoModule.java
index c8a78e4..f0998a0 100644 (file)
@@ -80,6 +80,7 @@ import com.android.ex.camera2.portability.CameraAgent.CameraAFMoveCallback;
 import com.android.ex.camera2.portability.CameraAgent.CameraPictureCallback;
 import com.android.ex.camera2.portability.CameraAgent.CameraProxy;
 import com.android.ex.camera2.portability.CameraAgent.CameraShutterCallback;
 import com.android.ex.camera2.portability.CameraAgent.CameraPictureCallback;
 import com.android.ex.camera2.portability.CameraAgent.CameraProxy;
 import com.android.ex.camera2.portability.CameraAgent.CameraShutterCallback;
+import com.android.ex.camera2.portability.CameraAgent.CameraStartPreviewCallback;
 import com.android.ex.camera2.portability.CameraCapabilities;
 import com.android.ex.camera2.portability.CameraDeviceInfo.Characteristics;
 import com.android.ex.camera2.portability.CameraSettings;
 import com.android.ex.camera2.portability.CameraCapabilities;
 import com.android.ex.camera2.portability.CameraDeviceInfo.Characteristics;
 import com.android.ex.camera2.portability.CameraSettings;
@@ -484,6 +485,7 @@ public class PhotoModule
 
     private void onPreviewStarted() {
         mAppController.onPreviewStarted();
 
     private void onPreviewStarted() {
         mAppController.onPreviewStarted();
+        mAppController.setShutterEnabled(true);
         setCameraState(IDLE);
         startFaceDetection();
         settingsFirstRun();
         setCameraState(IDLE);
         startFaceDetection();
         settingsFirstRun();
@@ -1964,10 +1966,14 @@ public class PhotoModule
         mCameraDevice.setPreviewTexture(mActivity.getCameraAppUI().getSurfaceTexture());
 
         Log.i(TAG, "startPreview");
         mCameraDevice.setPreviewTexture(mActivity.getCameraAppUI().getSurfaceTexture());
 
         Log.i(TAG, "startPreview");
-        mCameraDevice.startPreview();
+        mCameraDevice.startPreviewWithCallback(mHandler, new CameraStartPreviewCallback() {
+                @Override
+                public void onPreviewStarted() {
+                    mFocusManager.onPreviewStarted();
+                    PhotoModule.this.onPreviewStarted();
+                }
+        });
 
 
-        mFocusManager.onPreviewStarted();
-        onPreviewStarted();
         SessionStatsCollector.instance().previewActive(true);
         if (mSnapshotOnIdle) {
             mHandler.post(mDoSnapRunnable);
         SessionStatsCollector.instance().previewActive(true);
         if (mSnapshotOnIdle) {
             mHandler.post(mDoSnapRunnable);
@@ -2130,6 +2136,7 @@ public class PhotoModule
                 (double) size.width() / size.height());
         Size original = mCameraSettings.getCurrentPreviewSize();
         if (!optimalSize.equals(original)) {
                 (double) size.width() / size.height());
         Size original = mCameraSettings.getCurrentPreviewSize();
         if (!optimalSize.equals(original)) {
+            Log.v(TAG, "setting preview size");
             mCameraSettings.setPreviewSize(optimalSize);
 
             // Zoom related settings will be changed for different preview
             mCameraSettings.setPreviewSize(optimalSize);
 
             // Zoom related settings will be changed for different preview
@@ -2144,10 +2151,11 @@ public class PhotoModule
         }
 
         if (optimalSize.width() != 0 && optimalSize.height() != 0) {
         }
 
         if (optimalSize.width() != 0 && optimalSize.height() != 0) {
+            Log.v(TAG, "updating aspect ratio");
             mUI.updatePreviewAspectRatio((float) optimalSize.width()
                     / (float) optimalSize.height());
         }
             mUI.updatePreviewAspectRatio((float) optimalSize.width()
                     / (float) optimalSize.height());
         }
-        Log.i(TAG, "Preview size is " + optimalSize);
+        Log.d(TAG, "Preview size is " + optimalSize);
     }
 
     private void updateParametersPictureQuality() {
     }
 
     private void updateParametersPictureQuality() {