diff options
Diffstat (limited to 'src/com/android/camera/CaptureModule.java')
-rw-r--r-- | src/com/android/camera/CaptureModule.java | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/com/android/camera/CaptureModule.java b/src/com/android/camera/CaptureModule.java index 574fe4daf..c31658ae8 100644 --- a/src/com/android/camera/CaptureModule.java +++ b/src/com/android/camera/CaptureModule.java @@ -960,6 +960,8 @@ public class CaptureModule implements CameraModule, PhotoController, builder.set(CaptureRequest.CONTROL_MODE, CaptureRequest.CONTROL_MODE_AUTO); builder.set(CaptureRequest.CONTROL_AF_MODE, mControlAFMode); applyWhiteBalance(builder); + applyExposure(builder); + applyIso(builder); applyColorEffect(builder); applySceneMode(builder); applyZoom(builder, id); @@ -1431,6 +1433,10 @@ public class CaptureModule implements CameraModule, PhotoController, updatePreview = true; applySceneMode(mPreviewRequestBuilder[cameraId]); break; + case SettingsManager.KEY_EXPOSURE: + updatePreview = true; + applyExposure(mPreviewRequestBuilder[cameraId]); + break; } return updatePreview; } @@ -1469,6 +1475,21 @@ public class CaptureModule implements CameraModule, PhotoController, } } + private void applyExposure(CaptureRequest.Builder request) { + String value = mSettingsManager.getValue(SettingsManager.KEY_EXPOSURE); + if (value == null) return; + int intValue = Integer.parseInt(value); + request.set(CaptureRequest.CONTROL_AE_EXPOSURE_COMPENSATION, intValue); + } + + private void applyIso(CaptureRequest.Builder request) { + String value = mSettingsManager.getValue(SettingsManager.KEY_ISO); + if (value == null) return; + if (value.equals("auto")) return; + int intValue = Integer.parseInt(value); + request.set(CaptureRequest.SENSOR_SENSITIVITY, intValue); + } + private void applyColorEffect(CaptureRequest.Builder request) { String value = mSettingsManager.getValue(SettingsManager.KEY_COLOR_EFFECT); if (value == null) return; |