diff options
author | Linux Build Service Account <lnxbuild@localhost> | 2019-08-22 07:42:16 -0700 |
---|---|---|
committer | Linux Build Service Account <lnxbuild@localhost> | 2019-08-22 07:42:16 -0700 |
commit | 248a776b5bf13d1768d1c1f51f74d9b5db1e0db0 (patch) | |
tree | f8c6fa7e2778904a4d4025f1d8ec3cd7b3630215 | |
parent | 00b119ed5bd7f435845b2b140dca5a2889ee9fa3 (diff) | |
parent | 8ea15e18847a5223ca52cb15a510aa4cf8ff923c (diff) | |
download | android_packages_apps_Snap-248a776b5bf13d1768d1c1f51f74d9b5db1e0db0.tar.gz android_packages_apps_Snap-248a776b5bf13d1768d1c1f51f74d9b5db1e0db0.tar.bz2 android_packages_apps_Snap-248a776b5bf13d1768d1c1f51f74d9b5db1e0db0.zip |
Merge 8ea15e18847a5223ca52cb15a510aa4cf8ff923c on remote branch
Change-Id: I89983c60930cccd5ac9108839676e5328a399ffc
-rwxr-xr-x[-rw-r--r--] | src/com/android/camera/CaptureModule.java | 57 | ||||
-rwxr-xr-x | src/com/android/camera/SettingsManager.java | 3 | ||||
-rwxr-xr-x | src/com/android/camera/util/PersistUtil.java | 8 | ||||
-rwxr-xr-x | version.mk | 2 |
4 files changed, 55 insertions, 15 deletions
diff --git a/src/com/android/camera/CaptureModule.java b/src/com/android/camera/CaptureModule.java index 76f48a6d8..1d5c4680d 100644..100755 --- a/src/com/android/camera/CaptureModule.java +++ b/src/com/android/camera/CaptureModule.java @@ -243,6 +243,7 @@ public class CaptureModule implements CameraModule, PhotoController, private float mBGain = -1.0f; private float mCctAWB = -1.0f; private float[] mAWBDecisionAfterTC = new float[2]; + private float[] mAECSensitivity = new float[3]; /** Add for EIS and FOVC Configuration */ private int mStreamConfigOptMode = 0; @@ -377,6 +378,13 @@ public class CaptureModule implements CameraModule, PhotoController, private static final CaptureRequest.Key<Float[]> awbWarmStart_decision_after_tc = new CaptureRequest.Key<>("org.quic.camera2.statsconfigs.AWBDecisionAfterTC", Float[].class); + //AEC warm start + private static final CaptureResult.Key<float[]> aec_sensitivity = + new CaptureResult.Key<>("org.quic.camera2.statsconfigs.AECSensitivity", float[].class); + + private static final CaptureRequest.Key<Float[]> aec_start_up_sensitivity = + new CaptureRequest.Key<>("org.quic.camera2.statsconfigs.AECStartUpSensitivity", Float[].class); + public static final CaptureRequest.Key<Integer> sharpness_control = new CaptureRequest.Key<>( "org.codeaurora.qcamera3.sharpness.strength", Integer.class); public static final CaptureRequest.Key<Integer> exposure_metering = new CaptureRequest.Key<>( @@ -456,6 +464,7 @@ public class CaptureModule implements CameraModule, PhotoController, boolean mUnsupportedResolution = false; private boolean mExistAWBVendorTag = true; + private boolean mExistAECWarmTag = true; private static final long SDCARD_SIZE_LIMIT = 4000 * 1024 * 1024L; private static final String sTempCropFilename = "crop-temp"; @@ -466,6 +475,8 @@ public class CaptureModule implements CameraModule, PhotoController, private ParcelFileDescriptor mVideoFileDescriptor; private Uri mSaveUri; private boolean mQuickCapture; + private boolean mUseFrontCamera; + private int mTimer; private byte[] mJpegImageData; private boolean mSaveRaw = false; private boolean mSupportZoomCapture = true; @@ -1205,6 +1216,7 @@ public class CaptureModule implements CameraModule, PhotoController, } public boolean isBackCamera() { + if (mUseFrontCamera)return false; String switchValue = mSettingsManager.getValue(SettingsManager.KEY_SWITCH_CAMERA); if (switchValue != null && !switchValue.equals("-1") ) { CharSequence[] value = mSettingsManager.getEntryValues(SettingsManager.KEY_SWITCH_CAMERA); @@ -1862,6 +1874,9 @@ public class CaptureModule implements CameraModule, PhotoController, if (myExtras != null) { mSaveUri = (Uri) myExtras.getParcelable(MediaStore.EXTRA_OUTPUT); mCropValue = myExtras.getString("crop"); + mUseFrontCamera = myExtras.getBoolean("android.intent.extra.USE_FRONT_CAMERA", false); + mTimer = myExtras.getInt("android.intent.extra.TIMER_DURATION_SECONDS", 0); + Log.d(TAG, "mUseFrontCamera :" + mUseFrontCamera + ", mTimer :" + mTimer); } } @@ -2432,9 +2447,9 @@ public class CaptureModule implements CameraModule, PhotoController, private void captureStillPictureForLongshot(CaptureRequest.Builder captureBuilder, int id) throws CameraAccessException{ List<CaptureRequest> burstList = new ArrayList<>(); - boolean isBurstShotFpsEnable = PersistUtil.isBurstShotFpsEnabled(); + int burstShotFpsNums = PersistUtil.isBurstShotFpsNums(); for (int i = 0; i < PersistUtil.getLongshotShotLimit(); i++) { - if (isBurstShotFpsEnable) { + for (int j = 0; j < burstShotFpsNums; j++) { mPreviewRequestBuilder[id].setTag("preview"); burstList.add(mPreviewRequestBuilder[id].build()); } @@ -5695,6 +5710,7 @@ public class CaptureModule implements CameraModule, PhotoController, String timer = mSettingsManager.getValue(SettingsManager.KEY_TIMER); int seconds = Integer.parseInt(timer); + if (mTimer > 0) seconds = mTimer; // When shutter button is pressed, check whether the previous countdown is // finished. If not, cancel the previous countdown and start a new one. if (mUI.isCountingDown()) { @@ -6432,6 +6448,9 @@ public class CaptureModule implements CameraModule, PhotoController, float cct = pref.getFloat(SettingsManager.KEY_AWB_CCT_VALUE, awbDefault); float tc0 = pref.getFloat(SettingsManager.KEY_AWB_DECISION_AFTER_TC_0, awbDefault); float tc1 = pref.getFloat(SettingsManager.KEY_AWB_DECISION_AFTER_TC_1, awbDefault); + float aec0 = pref.getFloat(SettingsManager.KEY_AEC_SENSITIVITY_0, awbDefault); + float aec1 = pref.getFloat(SettingsManager.KEY_AEC_SENSITIVITY_1, awbDefault); + float aec2 = pref.getFloat(SettingsManager.KEY_AEC_SENSITIVITY_2, awbDefault); if (rGain != awbDefault && gGain != awbDefault && gGain != bGain) { Float[] awbGains = {rGain, gGain, bGain}; Float[] tcs = {tc0, tc1}; @@ -6446,23 +6465,38 @@ public class CaptureModule implements CameraModule, PhotoController, e.printStackTrace(); } } + if (aec0 != awbDefault && aec1 != awbDefault && aec2 != awbDefault) { + Float[] aecGains = {aec0, aec1, aec2}; + try { + request.set(CaptureModule.aec_start_up_sensitivity, aecGains); + result = true; + } catch (IllegalArgumentException e) { + e.printStackTrace(); + } + } else { + Log.v(TAG, " applyAWBCCTAndAgain aec0 :" + aec0 + " " + aec1 + " " + aec2); + } return result; } - private boolean updateAWBCCTAndgains(CaptureResult awbResult) { + private boolean updateAWBCCTAndgains(CaptureResult captureResult) { boolean result = false; - if (awbResult != null) { + if (captureResult != null) { try { if (mExistAWBVendorTag) { - mRGain = awbResult.get(CaptureModule.awbFrame_control_rgain); - mGGain = awbResult.get(CaptureModule.awbFrame_control_ggain); - mBGain = awbResult.get(CaptureModule.awbFrame_control_bgain); - mCctAWB = awbResult.get(CaptureModule.awbFrame_control_cct); - mAWBDecisionAfterTC = awbResult.get(CaptureModule.awbFrame_decision_after_tc); - result = true; + mRGain = captureResult.get(CaptureModule.awbFrame_control_rgain); + mGGain = captureResult.get(CaptureModule.awbFrame_control_ggain); + mBGain = captureResult.get(CaptureModule.awbFrame_control_bgain); + mCctAWB = captureResult.get(CaptureModule.awbFrame_control_cct); + mAWBDecisionAfterTC = captureResult.get(CaptureModule.awbFrame_decision_after_tc); } + if (mExistAECWarmTag) { + mAECSensitivity = captureResult.get(CaptureModule.aec_sensitivity); + } + result = true; } catch (IllegalArgumentException e) { mExistAWBVendorTag = false; + mExistAECWarmTag = false; e.printStackTrace(); } catch(NullPointerException e) { } @@ -6481,6 +6515,9 @@ public class CaptureModule implements CameraModule, PhotoController, editor.putFloat(SettingsManager.KEY_AWB_CCT_VALUE, mCctAWB); editor.putFloat(SettingsManager.KEY_AWB_DECISION_AFTER_TC_0, mAWBDecisionAfterTC[0]); editor.putFloat(SettingsManager.KEY_AWB_DECISION_AFTER_TC_1, mAWBDecisionAfterTC[1]); + editor.putFloat(SettingsManager.KEY_AEC_SENSITIVITY_0, mAECSensitivity[0]); + editor.putFloat(SettingsManager.KEY_AEC_SENSITIVITY_1, mAECSensitivity[1]); + editor.putFloat(SettingsManager.KEY_AEC_SENSITIVITY_2, mAECSensitivity[2]); editor.apply(); } diff --git a/src/com/android/camera/SettingsManager.java b/src/com/android/camera/SettingsManager.java index 6e301b51f..97d856947 100755 --- a/src/com/android/camera/SettingsManager.java +++ b/src/com/android/camera/SettingsManager.java @@ -204,6 +204,9 @@ public class SettingsManager implements ListMenu.SettingsListener { public static final String KEY_AWB_CCT_VALUE = "pref_camera2_awb_cct_key"; public static final String KEY_AWB_DECISION_AFTER_TC_0 = "pref_camera2_awb_decision_after_tc_0"; public static final String KEY_AWB_DECISION_AFTER_TC_1 = "pref_camera2_awb_decision_after_tc_1"; + public static final String KEY_AEC_SENSITIVITY_0 = "pref_camera2_aec_sensitivity_0"; + public static final String KEY_AEC_SENSITIVITY_1 = "pref_camera2_aec_sensitivity_1"; + public static final String KEY_AEC_SENSITIVITY_2 = "pref_camera2_aec_sensitivity_2"; public static final String KEY_STATS_VISUALIZER_VALUE = "pref_camera2_stats_visualizer_key"; public static final HashMap<String, Integer> KEY_ISO_INDEX = new HashMap<String, Integer>(); diff --git a/src/com/android/camera/util/PersistUtil.java b/src/com/android/camera/util/PersistUtil.java index b14394717..647082995 100755 --- a/src/com/android/camera/util/PersistUtil.java +++ b/src/com/android/camera/util/PersistUtil.java @@ -125,8 +125,8 @@ public class PersistUtil { SystemProperties.get("persist.sys.camera.display.umax", ""); private static final String PERSIST_DISPLAY_LMAX = SystemProperties.get("persist.sys.camera.display.lmax", ""); - private static final boolean PERSIST_BURST_SHOT_FPS_ENABLED = - SystemProperties.getBoolean("persist.sys.camera.burst.shot.fps", false); + private static final int PERSIST_BURST_PREVIEW_REQUEST_NUMS = + SystemProperties.getInt("persist.sys.camera.burst.preview.nums", 0); public static int getMemoryLimit() { return PERSIST_MEMORY_LIMIT; @@ -325,7 +325,7 @@ public class PersistUtil { return PERSIST_DISPLAY_LMAX; } - public static boolean isBurstShotFpsEnabled() { - return PERSIST_BURST_SHOT_FPS_ENABLED; + public static int isBurstShotFpsNums() { + return PERSIST_BURST_PREVIEW_REQUEST_NUMS; } } diff --git a/version.mk b/version.mk index 17953e460..e64719dee 100755 --- a/version.mk +++ b/version.mk @@ -40,7 +40,7 @@ # base_version_build is 3 digits and auto-increment for fixing CR. base_version_major := 2 base_version_minor := 02 -base_version_build := 032 +base_version_build := 033 ##################################################### ##################################################### |