summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2019-08-22 07:42:16 -0700
committerLinux Build Service Account <lnxbuild@localhost>2019-08-22 07:42:16 -0700
commit248a776b5bf13d1768d1c1f51f74d9b5db1e0db0 (patch)
treef8c6fa7e2778904a4d4025f1d8ec3cd7b3630215
parent00b119ed5bd7f435845b2b140dca5a2889ee9fa3 (diff)
parent8ea15e18847a5223ca52cb15a510aa4cf8ff923c (diff)
downloadandroid_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.java57
-rwxr-xr-xsrc/com/android/camera/SettingsManager.java3
-rwxr-xr-xsrc/com/android/camera/util/PersistUtil.java8
-rwxr-xr-xversion.mk2
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
#####################################################
#####################################################