diff options
author | Angus Kong <shkong@google.com> | 2014-04-22 16:39:42 -0700 |
---|---|---|
committer | Angus Kong <shkong@google.com> | 2014-05-07 13:16:36 -0700 |
commit | 88289047ba6928e317d17f2e1d4b013693545c67 (patch) | |
tree | 908948ffda14b8a3733e019089289e7fe33dbd61 /src/com/android/camera/VideoModule.java | |
parent | 49cee87a04dd5f78bf7016043f5ba4ba787e53f3 (diff) | |
download | android_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.java | 12 |
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 { |