summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/VideoModule.java
diff options
context:
space:
mode:
authorAngus Kong <shkong@google.com>2014-04-22 16:39:42 -0700
committerAngus Kong <shkong@google.com>2014-05-07 13:16:36 -0700
commit88289047ba6928e317d17f2e1d4b013693545c67 (patch)
tree908948ffda14b8a3733e019089289e7fe33dbd61 /src/com/android/camera/VideoModule.java
parent49cee87a04dd5f78bf7016043f5ba4ba787e53f3 (diff)
downloadandroid_packages_apps_Camera2-88289047ba6928e317d17f2e1d4b013693545c67.tar.gz
android_packages_apps_Camera2-88289047ba6928e317d17f2e1d4b013693545c67.tar.bz2
android_packages_apps_Camera2-88289047ba6928e317d17f2e1d4b013693545c67.zip
First Step: CameraCapabilities intead of Parameter
To get rid of Camera.Parameters, we need to provide our own interfaces. Camera.Parameters actually consists of 2 parts: capabilities and settings. We'll provide two interfaces and will just use Camera.Parameters inside of CameraManager implementations. Change-Id: I53922b6d740835412d74365374a6a0382129564e
Diffstat (limited to 'src/com/android/camera/VideoModule.java')
-rw-r--r--src/com/android/camera/VideoModule.java12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/com/android/camera/VideoModule.java b/src/com/android/camera/VideoModule.java
index bb3125dc4..64e7ad8b5 100644
--- a/src/com/android/camera/VideoModule.java
+++ b/src/com/android/camera/VideoModule.java
@@ -56,6 +56,7 @@ import com.android.camera.app.LocationManager;
import com.android.camera.app.MediaSaver;
import com.android.camera.app.MemoryManager;
import com.android.camera.app.MemoryManager.MemoryListener;
+import com.android.camera.cameradevice.CameraCapabilities;
import com.android.camera.cameradevice.CameraManager;
import com.android.camera.cameradevice.CameraManager.CameraPictureCallback;
import com.android.camera.cameradevice.CameraManager.CameraProxy;
@@ -116,6 +117,7 @@ public class VideoModule extends CameraModule
private int mCameraId;
private Parameters mParameters;
+ private CameraCapabilities mCameraCapabilities;
private boolean mIsInReviewMode;
private boolean mSnapshotInProgress = false;
@@ -393,7 +395,7 @@ public class VideoModule extends CameraModule
private void takeASnapshot() {
// Only take snapshots if video snapshot is supported by device
- if(!mParameters.isVideoSnapshotSupported()) {
+ if(!mCameraCapabilities.supports(CameraCapabilities.Feature.VIDEO_SNAPSHOT)) {
Log.w(TAG, "Cannot take a video snapshot - not supported by hardware");
return;
}
@@ -561,6 +563,7 @@ public class VideoModule extends CameraModule
public void onCameraAvailable(CameraProxy cameraProxy) {
mCameraDevice = cameraProxy;
mInitialParams = mCameraDevice.getParameters();
+ mCameraCapabilities = mCameraDevice.getCapabilities();
mFocusAreaSupported = CameraUtil.isFocusAreaSupported(mInitialParams);
mMeteringAreaSupported = CameraUtil.isMeteringAreaSupported(mInitialParams);
readVideoPreferences();
@@ -569,7 +572,7 @@ public class VideoModule extends CameraModule
// TODO: Having focus overlay manager caching the parameters is prone to error,
// we should consider passing the parameters to focus overlay to ensure the
// parameters are up to date.
- mFocusManager.setParameters(mInitialParams);
+ mFocusManager.setParameters(mInitialParams, mCameraCapabilities);
startPreview();
initializeVideoSnapshot();
@@ -1535,7 +1538,7 @@ public class VideoModule extends CameraModule
enableTorchMode(settingsManager.isCameraBackFacing());
// Set zoom.
- if (mParameters.isZoomSupported()) {
+ if (mCameraCapabilities.supports(CameraCapabilities.Feature.ZOOM)) {
mParameters.setZoom(mZoomValue);
}
updateFocusParameters();
@@ -1729,7 +1732,8 @@ public class VideoModule extends CameraModule
if (mParameters == null) {
return;
}
- if (CameraUtil.isVideoSnapshotSupported(mParameters) && !mIsVideoCaptureIntent) {
+ if (mCameraCapabilities.supports(CameraCapabilities.Feature.VIDEO_SNAPSHOT) &&
+ !mIsVideoCaptureIntent) {
if (enabled) {
mUI.animateFlash();
} else {