diff options
author | jt1134 <jt1134@gmail.com> | 2014-01-04 20:55:04 -0600 |
---|---|---|
committer | Arne Coucheron <arco68@gmail.com> | 2018-01-26 00:51:38 +0100 |
commit | 7cc55a352ff638ea109e557a01ffacfe562a55d9 (patch) | |
tree | 4bb6635edf3ff6dc7bd23e421a910e4ec0b6ea95 /src | |
parent | fd8d27a39153ee8c8ee976a69012b75bd7f0b226 (diff) | |
download | android_packages_apps_Snap-7cc55a352ff638ea109e557a01ffacfe562a55d9.tar.gz android_packages_apps_Snap-7cc55a352ff638ea109e557a01ffacfe562a55d9.tar.bz2 android_packages_apps_Snap-7cc55a352ff638ea109e557a01ffacfe562a55d9.zip |
Camera2: implement exposure compensation settings in video mode
Change-Id: I83a2675e109dc7924cdd9240b26051ac218f532a
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/camera/VideoMenu.java | 2 | ||||
-rw-r--r-- | src/com/android/camera/VideoModule.java | 22 | ||||
-rwxr-xr-x | src/com/android/camera/VideoUI.java | 2 |
3 files changed, 26 insertions, 0 deletions
diff --git a/src/com/android/camera/VideoMenu.java b/src/com/android/camera/VideoMenu.java index 971372bf8..330fa2ace 100644 --- a/src/com/android/camera/VideoMenu.java +++ b/src/com/android/camera/VideoMenu.java @@ -114,6 +114,7 @@ public class VideoMenu extends MenuController CameraSettings.KEY_VIDEO_QUALITY, CameraSettings.KEY_RECORD_LOCATION, CameraSettings.KEY_CAMERA_SAVEPATH, + CameraSettings.KEY_EXPOSURE, CameraSettings.KEY_WHITE_BALANCE, CameraSettings.KEY_VIDEO_HIGH_FRAME_RATE, CameraSettings.KEY_DIS @@ -123,6 +124,7 @@ public class VideoMenu extends MenuController CameraSettings.KEY_VIDEO_QUALITY, CameraSettings.KEY_RECORD_LOCATION, CameraSettings.KEY_CAMERA_SAVEPATH, + CameraSettings.KEY_EXPOSURE, CameraSettings.KEY_WHITE_BALANCE, CameraSettings.KEY_FACE_DETECTION, CameraSettings.KEY_VIDEO_HIGH_FRAME_RATE, diff --git a/src/com/android/camera/VideoModule.java b/src/com/android/camera/VideoModule.java index c827d0e00..fcf966ce6 100644 --- a/src/com/android/camera/VideoModule.java +++ b/src/com/android/camera/VideoModule.java @@ -501,6 +501,8 @@ public class VideoModule implements CameraModule, mPreferences.setLocalId(mActivity, mCameraId); CameraSettings.upgradeLocalPreferences(mPreferences.getLocal()); + // we need to reset exposure for the preview + resetExposureCompensation(); mOrientationManager = new OrientationManager(mActivity); @@ -1071,6 +1073,16 @@ public class VideoModule implements CameraModule, ". mDesiredPreviewHeight=" + mDesiredPreviewHeight); } + private void resetExposureCompensation() { + String value = mPreferences.getString(CameraSettings.KEY_EXPOSURE, + CameraSettings.EXPOSURE_DEFAULT_VALUE); + if (!CameraSettings.EXPOSURE_DEFAULT_VALUE.equals(value)) { + Editor editor = mPreferences.edit(); + editor.putString(CameraSettings.KEY_EXPOSURE, "0"); + editor.apply(); + } + } + void setPreviewFrameLayoutCameraOrientation(){ CameraInfo info = CameraHolder.instance().getCameraInfo()[mCameraId]; @@ -1124,6 +1136,7 @@ public class VideoModule implements CameraModule, if(mWasMute != mIsMute) { setMute(mIsMute, false); } + resetExposureCompensation(); showVideoSnapshotUI(false); installIntentFilter(); @@ -2707,6 +2720,15 @@ public class VideoModule implements CameraModule, if (CameraUtil.isSupported(mParameters, "video-size")) { mParameters.set("video-size", recordSize); } + // Set exposure compensation + int value = CameraSettings.readExposure(mPreferences); + int max = mParameters.getMaxExposureCompensation(); + int min = mParameters.getMinExposureCompensation(); + if (value >= min && value <= max) { + mParameters.setExposureCompensation(value); + } else { + Log.w(TAG, "invalid exposure range: " + value); + } // Set white balance parameter. String whiteBalance = mPreferences.getString( CameraSettings.KEY_WHITE_BALANCE, diff --git a/src/com/android/camera/VideoUI.java b/src/com/android/camera/VideoUI.java index 747999b60..3517372ed 100755 --- a/src/com/android/camera/VideoUI.java +++ b/src/com/android/camera/VideoUI.java @@ -718,6 +718,8 @@ public class VideoUI implements PieRenderer.PieListener, } public void updateOnScreenIndicators(Parameters param, ComboPreferences prefs) { + mOnScreenIndicators.updateExposureOnScreenIndicator(param, + CameraSettings.readExposure(prefs)); mOnScreenIndicators.updateFlashOnScreenIndicator(param.getFlashMode()); boolean location = RecordLocationPreference.get(prefs, CameraSettings.KEY_RECORD_LOCATION); mOnScreenIndicators.updateLocationIndicator(location); |