diff options
-rw-r--r-- | src/com/android/camera/CameraManager.java | 36 | ||||
-rw-r--r-- | src/com/android/camera/NewPhotoModule.java | 2 | ||||
-rw-r--r-- | src/com/android/camera/NewVideoModule.java | 2 | ||||
-rw-r--r-- | src/com/android/camera/PhotoModule.java | 2 | ||||
-rw-r--r-- | src/com/android/camera/VideoModule.java | 2 |
5 files changed, 19 insertions, 25 deletions
diff --git a/src/com/android/camera/CameraManager.java b/src/com/android/camera/CameraManager.java index af4b13f29..c7005cf54 100644 --- a/src/com/android/camera/CameraManager.java +++ b/src/com/android/camera/CameraManager.java @@ -68,15 +68,18 @@ public class CameraManager { private static final int SET_ERROR_CALLBACK = 18; private static final int SET_PARAMETERS = 19; private static final int GET_PARAMETERS = 20; - private static final int SET_PARAMETERS_ASYNC = 21; - private static final int SET_PREVIEW_DISPLAY_ASYNC = 22; - private static final int SET_PREVIEW_CALLBACK = 23; - private static final int ENABLE_SHUTTER_SOUND = 24; - private static final int REFRESH_PARAMETERS = 25; + private static final int SET_PREVIEW_DISPLAY_ASYNC = 21; + private static final int SET_PREVIEW_CALLBACK = 22; + private static final int ENABLE_SHUTTER_SOUND = 23; + private static final int REFRESH_PARAMETERS = 24; private Handler mCameraHandler; private android.hardware.Camera mCamera; + // Used to retain a copy of Parameters for setting parameters. + private Parameters mParamsToSet; + + // This holder is used when we need to pass the exception // back to the calling thread. SynchornousQueue doesn't // allow we to pass a null object thus a holder is needed. @@ -226,7 +229,8 @@ public class CameraManager { case SET_PARAMETERS: mParametersIsDirty = true; - mCamera.setParameters((Parameters) msg.obj); + mParamsToSet.unflatten((String) msg.obj); + mCamera.setParameters(mParamsToSet); return; case GET_PARAMETERS: @@ -236,10 +240,6 @@ public class CameraManager { } return; - case SET_PARAMETERS_ASYNC: - mCamera.setParameters((Parameters) msg.obj); - return; - case SET_PREVIEW_CALLBACK: mCamera.setPreviewCallback((PreviewCallback) msg.obj); return; @@ -287,6 +287,9 @@ public class CameraManager { mCamera = android.hardware.Camera.open(cameraId); if (mCamera != null) { mParametersIsDirty = true; + if (mParamsToSet == null) { + mParamsToSet = mCamera.getParameters(); + } return new CameraProxy(); } else { return null; @@ -432,17 +435,8 @@ public class CameraManager { Log.v(TAG, "null parameters in setParameters()"); return; } - mCameraHandler.obtainMessage(SET_PARAMETERS, params).sendToTarget(); - } - - public void setParametersAsync(Parameters params) { - // TODO: remove this. - if (params == null) { - Log.v(TAG, "null parameters in setParameters()"); - return; - } - mCameraHandler.removeMessages(SET_PARAMETERS_ASYNC); - mCameraHandler.obtainMessage(SET_PARAMETERS_ASYNC, params).sendToTarget(); + mCameraHandler.obtainMessage(SET_PARAMETERS, params.flatten()) + .sendToTarget(); } public Parameters getParameters() { diff --git a/src/com/android/camera/NewPhotoModule.java b/src/com/android/camera/NewPhotoModule.java index e9e60d8a9..659e2be19 100644 --- a/src/com/android/camera/NewPhotoModule.java +++ b/src/com/android/camera/NewPhotoModule.java @@ -1930,7 +1930,7 @@ public class NewPhotoModule if (mParameters == null || mCameraDevice == null) return index; // Set zoom parameters asynchronously mParameters.setZoom(mZoomValue); - mCameraDevice.setParametersAsync(mParameters); + mCameraDevice.setParameters(mParameters); Parameters p = mCameraDevice.getParameters(); if (p != null) return p.getZoom(); return index; diff --git a/src/com/android/camera/NewVideoModule.java b/src/com/android/camera/NewVideoModule.java index f8c36c526..6ff8bbf18 100644 --- a/src/com/android/camera/NewVideoModule.java +++ b/src/com/android/camera/NewVideoModule.java @@ -775,7 +775,7 @@ public class NewVideoModule implements NewCameraModule, if (mParameters == null || mCameraDevice == null) return index; // Set zoom parameters asynchronously mParameters.setZoom(mZoomValue); - mCameraDevice.setParametersAsync(mParameters); + mCameraDevice.setParameters(mParameters); Parameters p = mCameraDevice.getParameters(); if (p != null) return p.getZoom(); return index; diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java index 8759c19d9..1270364d6 100644 --- a/src/com/android/camera/PhotoModule.java +++ b/src/com/android/camera/PhotoModule.java @@ -2016,7 +2016,7 @@ public class PhotoModule if (mParameters == null || mCameraDevice == null) return index; // Set zoom parameters asynchronously mParameters.setZoom(mZoomValue); - mCameraDevice.setParametersAsync(mParameters); + mCameraDevice.setParameters(mParameters); Parameters p = mCameraDevice.getParameters(); if (p != null) return p.getZoom(); return index; diff --git a/src/com/android/camera/VideoModule.java b/src/com/android/camera/VideoModule.java index 2b30ba48f..d4be225a0 100644 --- a/src/com/android/camera/VideoModule.java +++ b/src/com/android/camera/VideoModule.java @@ -787,7 +787,7 @@ public class VideoModule implements CameraModule, if (mParameters == null || mActivity.mCameraDevice == null) return index; // Set zoom parameters asynchronously mParameters.setZoom(mZoomValue); - mActivity.mCameraDevice.setParametersAsync(mParameters); + mActivity.mCameraDevice.setParameters(mParameters); Parameters p = mActivity.mCameraDevice.getParameters(); if (p != null) return p.getZoom(); return index; |