summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorWeijie Wang <weijiew@codeaurora.org>2017-07-20 20:03:18 +0800
committerWeijie Wang <weijiew@codeaurora.org>2017-07-26 14:38:49 +0800
commit1c674465eb440f02f87260d005891898d671af87 (patch)
tree5db0ed9d89a762e7f80b0fbaa3d7d4bc472e1564 /src
parent7a71e6b83009f259a52ef9b1b3360cab97d0d17b (diff)
downloadandroid_packages_apps_Snap-1c674465eb440f02f87260d005891898d671af87.tar.gz
android_packages_apps_Snap-1c674465eb440f02f87260d005891898d671af87.tar.bz2
android_packages_apps_Snap-1c674465eb440f02f87260d005891898d671af87.zip
SnapdragonCamera: Add ZSL in HAL mode
Add ZSL in HAL mode Change-Id: Ifa803c970cfc559723e3599821b74cc8584782a2
Diffstat (limited to 'src')
-rw-r--r--src/com/android/camera/CaptureModule.java72
-rwxr-xr-xsrc/com/android/camera/SettingsManager.java20
-rw-r--r--src/com/android/camera/imageprocessor/PostProcessor.java2
-rw-r--r--src/com/android/camera/util/PersistUtil.java6
4 files changed, 70 insertions, 30 deletions
diff --git a/src/com/android/camera/CaptureModule.java b/src/com/android/camera/CaptureModule.java
index c6e1e50d4..27d925002 100644
--- a/src/com/android/camera/CaptureModule.java
+++ b/src/com/android/camera/CaptureModule.java
@@ -1312,35 +1312,39 @@ public class CaptureModule implements CameraModule, PhotoController,
private void takePicture() {
Log.d(TAG, "takePicture");
mUI.enableShutter(false);
- if (isBackCamera()) {
- switch (getCameraMode()) {
- case DUAL_MODE:
- lockFocus(BAYER_ID);
- lockFocus(MONO_ID);
- break;
- case BAYER_MODE:
- if(takeZSLPicture(BAYER_ID)) {
- return;
- }
+ if (mSettingsManager.isZSLInHALEnabled()) {
+ takeZSLPictureInHAL();
+ } else {
+ if (isBackCamera()) {
+ switch (getCameraMode()) {
+ case DUAL_MODE:
+ lockFocus(BAYER_ID);
+ lockFocus(MONO_ID);
+ break;
+ case BAYER_MODE:
+ if (takeZSLPicture(BAYER_ID)) {
+ return;
+ }
/* take picture directly for now*/
- captureStillPicture(BAYER_ID);
- mState[BAYER_ID] = STATE_PICTURE_TAKEN;
+ captureStillPicture(BAYER_ID);
+ mState[BAYER_ID] = STATE_PICTURE_TAKEN;
//todo lockFocus(BAYER_ID);
- break;
- case MONO_MODE:
- lockFocus(MONO_ID);
- break;
- }
- } else {
- if(takeZSLPicture(FRONT_ID)) {
+ break;
+ case MONO_MODE:
+ lockFocus(MONO_ID);
+ break;
+ }
+ } else {
+ if (takeZSLPicture(FRONT_ID)) {
return;
- }
+ }
/* take picture directly for now*/
- captureStillPicture(FRONT_ID);
- mState[FRONT_ID] = STATE_PICTURE_TAKEN;
+ captureStillPicture(FRONT_ID);
+ mState[FRONT_ID] = STATE_PICTURE_TAKEN;
//todo lockFocus(FRONT_ID);
+ }
}
}
@@ -1353,6 +1357,28 @@ public class CaptureModule implements CameraModule, PhotoController,
return false;
}
+ private void takeZSLPictureInHAL() {
+ Log.d(TAG, "takeHALZSLPicture");
+ int cameraId = BAYER_ID;
+ if (isBackCamera()) {
+ switch (getCameraMode()) {
+ case DUAL_MODE:
+ captureStillPicture(BAYER_ID);
+ captureStillPicture(MONO_ID);
+ return;
+ case BAYER_MODE:
+ cameraId = BAYER_ID;
+ break;
+ case MONO_MODE:
+ cameraId = MONO_ID;
+ break;
+ }
+ } else {
+ cameraId = FRONT_ID;
+ }
+ captureStillPicture(cameraId);
+ }
+
public boolean isLongShotActive() {
return mLongshotActive;
}
@@ -1507,7 +1533,7 @@ public class CaptureModule implements CameraModule, PhotoController,
} else {
captureBuilder = mCameraDevice[id].createCaptureRequest(CameraDevice.TEMPLATE_STILL_CAPTURE);
}
- if (PersistUtil.getCameraHalZSLDisabled() == false) {
+ if(mSettingsManager.isZSLInHALEnabled()) {
Log.d(TAG, "CONTROL_ENABLE_ZSL is enabled.");
captureBuilder.set(CaptureRequest.CONTROL_ENABLE_ZSL, true);
} else {
diff --git a/src/com/android/camera/SettingsManager.java b/src/com/android/camera/SettingsManager.java
index 4ed4f5c18..4cccf8e94 100755
--- a/src/com/android/camera/SettingsManager.java
+++ b/src/com/android/camera/SettingsManager.java
@@ -1447,6 +1447,26 @@ public class SettingsManager implements ListMenu.SettingsListener {
return value != null && value.equals("enable");
}
+ public boolean isZSLInHALEnabled(){
+ String value = getValue(KEY_ZSL);
+ String halZSLValue = mContext.getString(R.string.pref_camera2_zsl_entryvalue_hal_zsl);
+ if ( value != null && value.equals(halZSLValue) ){
+ return true;
+ }else{
+ return false;
+ }
+ }
+
+ public boolean isZSLInAppEnabled(){
+ String value = getValue(KEY_ZSL);
+ String appZSLValue = mContext.getString(R.string.pref_camera2_zsl_entryvalue_app_zsl);
+ if ( value != null && value.equals(appZSLValue) ){
+ return true;
+ }else{
+ return false;
+ }
+ }
+
private boolean filterUnsupportedOptions(ListPreference pref, List<String> supported) {
// Remove the preference if the parameter is not supported
if (supported == null) {
diff --git a/src/com/android/camera/imageprocessor/PostProcessor.java b/src/com/android/camera/imageprocessor/PostProcessor.java
index 8dad89742..a9580711e 100644
--- a/src/com/android/camera/imageprocessor/PostProcessor.java
+++ b/src/com/android/camera/imageprocessor/PostProcessor.java
@@ -672,7 +672,7 @@ public class PostProcessor{
mImageHandlerTask = new ImageHandlerTask();
mSaveRaw = isSaveRaw;
if(setFilter(postFilterId) || isFlashModeOn || isTrackingFocusOn || isMakeupOn || isSelfieMirrorOn
- || "disable".equals(SettingsManager.getInstance().getValue(SettingsManager.KEY_ZSL))
+ || !SettingsManager.getInstance().isZSLInAppEnabled()
|| "enable".equals(
SettingsManager.getInstance().getValue(SettingsManager.KEY_AUTO_HDR))
|| SettingsManager.getInstance().isCamera2HDRSupport()
diff --git a/src/com/android/camera/util/PersistUtil.java b/src/com/android/camera/util/PersistUtil.java
index f622c1249..8c1b57e98 100644
--- a/src/com/android/camera/util/PersistUtil.java
+++ b/src/com/android/camera/util/PersistUtil.java
@@ -42,8 +42,6 @@ public class PersistUtil {
SystemProperties.getInt("persist.vendor.camera.preview.size", 0);
private static final boolean PERSIST_CAMERA_CAMERA2 =
SystemProperties.getBoolean("persist.vendor.camera.camera2", true);
- private static final boolean PERSIST_CAMERA_HAL_ZSL =
- SystemProperties.getBoolean("persist.vendor.camera.hal_zsl.disabled", true);
private static final int PERSIST_CAMERA2_DEBUG =
SystemProperties.getInt("persist.vendor.camera2.debug", 0);
private static final int PERSIST_CAMERA_CANCEL_TOUCHFOCUS_DELAY =
@@ -83,10 +81,6 @@ public class PersistUtil {
return PERSIST_CAMERA_CAMERA2;
}
- public static boolean getCameraHalZSLDisabled() {
- return PERSIST_CAMERA_HAL_ZSL;
- }
-
public static int getCamera2Debug() {
return PERSIST_CAMERA_DEBUG;
}