diff options
Diffstat (limited to 'src/com/android/camera/CaptureModule.java')
-rwxr-xr-x | src/com/android/camera/CaptureModule.java | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/com/android/camera/CaptureModule.java b/src/com/android/camera/CaptureModule.java index e4c162a5b..7b959beb2 100755 --- a/src/com/android/camera/CaptureModule.java +++ b/src/com/android/camera/CaptureModule.java @@ -376,6 +376,8 @@ public class CaptureModule implements CameraModule, PhotoController, private Size mSupportedMaxPictureSize; private Size mSupportedRawPictureSize; + private long mIsoExposureTime; + private int mIsoSensitivity; private class SelfieThread extends Thread { public void run() { @@ -4043,10 +4045,24 @@ public class CaptureModule implements CameraModule, PhotoController, if (value.equals("auto")) { request.set(SELECT_PRIORITY, 0); request.set(ISO_EXP, 0L); + if (request.get(CaptureRequest.SENSOR_EXPOSURE_TIME) == null) { + request.set(CaptureRequest.SENSOR_EXPOSURE_TIME, mIsoExposureTime); + } + if (request.get(CaptureRequest.SENSOR_SENSITIVITY) == null) { + request.set(CaptureRequest.SENSOR_SENSITIVITY, mIsoSensitivity); + } } else { long intValue = SettingsManager.KEY_ISO_INDEX.get(value); request.set(SELECT_PRIORITY, 0); request.set(ISO_EXP, intValue); + if (request.get(CaptureRequest.SENSOR_EXPOSURE_TIME) != null) { + mIsoExposureTime = request.get(CaptureRequest.SENSOR_EXPOSURE_TIME); + } + if (request.get(CaptureRequest.SENSOR_SENSITIVITY) != null) { + mIsoSensitivity = request.get(CaptureRequest.SENSOR_SENSITIVITY); + } + request.set(CaptureRequest.SENSOR_EXPOSURE_TIME, null); + request.set(CaptureRequest.SENSOR_SENSITIVITY, null); } } |