summaryrefslogtreecommitdiff
path: root/src/com/android/camera/CaptureModule.java
diff options
context:
space:
mode:
authorJack Yoo <jyoo@codeaurora.org>2016-09-12 12:48:28 -0700
committerJay Wang <jaywang@codeaurora.org>2016-09-27 15:54:56 -0700
commitc3a465da5ed9ba64512eda37597e96f6ab839fa8 (patch)
treea92a4655021e0be421f02f297f49e063c05b3526 /src/com/android/camera/CaptureModule.java
parent8f6566e427e0091e95974768596e29220c2f181b (diff)
SnapdragonCamera: Makeup feature
Makeup feature for camera preview and video Change-Id: Ia8cdb629372333c9dceef8aa474402553b7259f0 CRs-Fixed: 1067848
Diffstat (limited to 'src/com/android/camera/CaptureModule.java')
-rw-r--r--src/com/android/camera/CaptureModule.java63
1 files changed, 28 insertions, 35 deletions
diff --git a/src/com/android/camera/CaptureModule.java b/src/com/android/camera/CaptureModule.java
index d56824ac8..14789f128 100644
--- a/src/com/android/camera/CaptureModule.java
+++ b/src/com/android/camera/CaptureModule.java
@@ -443,14 +443,8 @@ public class CaptureModule implements CameraModule, PhotoController,
mFirstPreviewLoaded = true;
}
if (id == getMainCameraId()) {
- Face[] faces = result.get(CaptureResult.STATISTICS_FACES);
- mPreviewFaces = faces;
- if (faces != null && faces.length != 0) {
- mStickyFaces = faces;
- }
mPreviewCaptureResult = result;
}
-
updateCaptureStateMachine(id, result);
}
@@ -459,9 +453,11 @@ public class CaptureModule implements CameraModule, PhotoController,
CaptureRequest request,
CaptureResult partialResult) {
int id = (int) partialResult.getRequest().getTag();
- if (id == getMainCameraId()) updateFocusStateChange(partialResult);
- Face[] faces = partialResult.get(CaptureResult.STATISTICS_FACES);
- updateFaceView(faces);
+ if (id == getMainCameraId()) {
+ updateFocusStateChange(partialResult);
+ Face[] faces = partialResult.get(CaptureResult.STATISTICS_FACES);
+ updateFaceView(faces);
+ }
}
@Override
@@ -469,9 +465,11 @@ public class CaptureModule implements CameraModule, PhotoController,
CaptureRequest request,
TotalCaptureResult result) {
int id = (int) result.getRequest().getTag();
- if (id == getMainCameraId()) updateFocusStateChange(result);
- Face[] faces = result.get(CaptureResult.STATISTICS_FACES);
- updateFaceView(faces);
+ if (id == getMainCameraId()) {
+ updateFocusStateChange(result);
+ Face[] faces = result.get(CaptureResult.STATISTICS_FACES);
+ updateFaceView(faces);
+ }
processCaptureResult(result);
mPostProcessor.onMetaAvailable(result);
}
@@ -756,13 +754,6 @@ public class CaptureModule implements CameraModule, PhotoController,
}
}
- private void applyFaceDetect(CaptureRequest.Builder builder, int id) {
- if(id == getMainCameraId()) {
- builder.set(CaptureRequest.STATISTICS_FACE_DETECT_MODE,
- CameraMetadata.STATISTICS_FACE_DETECT_MODE_SIMPLE);
- }
- }
-
private void createSessions() {
if (mPaused || !mCamerasOpened || !mSurfaceReady) return;
if (isBackCamera()) {
@@ -1608,7 +1599,6 @@ public class CaptureModule implements CameraModule, PhotoController,
applyAFRegions(builder, id);
applyAERegions(builder, id);
applyCommonSettings(builder, id);
- applyFaceDetect(builder, id);
applyFlash(builder, id);
}
@@ -1624,7 +1614,6 @@ public class CaptureModule implements CameraModule, PhotoController,
CaptureRequest.CONTROL_AE_PRECAPTURE_TRIGGER_START);
applyCommonSettings(builder, id);
applyFlash(builder, id);
- applyFaceDetect(builder, id);
}
private void applySettingsForLockExposure(CaptureRequest.Builder builder, int id) {
@@ -1639,7 +1628,6 @@ public class CaptureModule implements CameraModule, PhotoController,
builder.set(CaptureRequest.CONTROL_AF_TRIGGER,
CaptureRequest.CONTROL_AF_TRIGGER_CANCEL);
applyCommonSettings(builder, id);
- applyFaceDetect(builder, id);
}
private void applySettingsForAutoFocus(CaptureRequest.Builder builder, int id) {
@@ -1648,7 +1636,6 @@ public class CaptureModule implements CameraModule, PhotoController,
applyAFRegions(builder, id);
applyAERegions(builder, id);
applyCommonSettings(builder, id);
- applyFaceDetect(builder, id);
}
private void applyVideoSnapshot(CaptureRequest.Builder builder, int id) {
@@ -1806,7 +1793,7 @@ public class CaptureModule implements CameraModule, PhotoController,
ArrayList<Integer> filters = new ArrayList<Integer>();
String scene = mSettingsManager.getValue(SettingsManager.KEY_MAKEUP);
- if(scene != null && scene.equalsIgnoreCase("on")) {
+ if(scene != null && !scene.equalsIgnoreCase("0")) {
filters.add(FrameProcessor.FILTER_MAKEUP);
}
String trackingFocus = mSettingsManager.getValue(SettingsManager.KEY_TRACKINGFOCUS);
@@ -1853,10 +1840,14 @@ public class CaptureModule implements CameraModule, PhotoController,
updateMaxVideoDuration();
}
- private void updatePreviewSize() {
+ private void updatePreviewSize(int[] dependencySize) {
int preview_resolution = PersistUtil.getCameraPreviewSize();
int width = mPreviewSize.getWidth();
int height = mPreviewSize.getHeight();
+ if(dependencySize != null) {
+ width = dependencySize[0];
+ height = dependencySize[1];
+ }
switch (preview_resolution) {
case 1: {
width = 640;
@@ -1895,7 +1886,8 @@ public class CaptureModule implements CameraModule, PhotoController,
public void onResumeAfterSuper() {
Log.d(TAG, "onResume " + getCameraMode());
initializeValues();
- updatePreviewSize();
+ int[] size = checkMakeupDependency();
+ updatePreviewSize(size);
mUI.showSurfaceView();
mCameraIdList = new ArrayList<>();
@@ -2156,7 +2148,11 @@ public class CaptureModule implements CameraModule, PhotoController,
}
private void updateFaceView(final Face[] faces) {
+ mPreviewFaces = faces;
if (faces != null) {
+ if (faces.length != 0) {
+ mStickyFaces = faces;
+ }
mHandler.post(new Runnable() {
@Override
public void run() {
@@ -2992,7 +2988,6 @@ public class CaptureModule implements CameraModule, PhotoController,
mPreviewRequestBuilder[id].set(CaptureRequest.CONTROL_AF_TRIGGER, CaptureRequest
.CONTROL_AF_TRIGGER_IDLE);
applyCommonSettings(mPreviewRequestBuilder[id], id);
- applyFaceDetect(mPreviewRequestBuilder[id], id);
}
public float getZoomValue() {
@@ -3042,7 +3037,7 @@ public class CaptureModule implements CameraModule, PhotoController,
break;
case SettingsManager.KEY_FACE_DETECTION:
updatePreview = true;
- applyFaceDetect(mPreviewRequestBuilder[cameraId], cameraId);
+ applyFaceDetection(mPreviewRequestBuilder[cameraId]);
break;
}
return updatePreview;
@@ -3289,9 +3284,9 @@ public class CaptureModule implements CameraModule, PhotoController,
mDisplayOrientation = CameraUtil.getDisplayOrientation(mDisplayRotation, getMainCameraId());
}
- private void checkVideoSizeDependency() {
+ private int[] checkMakeupDependency() {
String makeup = mSettingsManager.getValue(SettingsManager.KEY_MAKEUP);
- if(makeup.equalsIgnoreCase("on")) {
+ if(makeup != null && !makeup.equalsIgnoreCase("0")) {
if(mVideoSize.getWidth() > 640 || mVideoSize.getHeight() > 480) {
mActivity.runOnUiThread(new Runnable() {
public void run() {
@@ -3301,8 +3296,10 @@ public class CaptureModule implements CameraModule, PhotoController,
mSettingsManager.setValue(mSettingsManager.KEY_VIDEO_QUALITY, "640x480");
}
mSettingsManager.updateVideoQualityMenu(getMainCameraId(), 640, 480);
+ return new int[]{640, 480};
} else {
mSettingsManager.updateVideoQualityMenu(getMainCameraId(), -1, -1);
+ return null;
}
}
@@ -3352,10 +3349,6 @@ public class CaptureModule implements CameraModule, PhotoController,
case SettingsManager.KEY_MONO_PREVIEW:
if (count == 0) restart();
return;
- case SettingsManager.KEY_MAKEUP:
- if (count == 0) restart();
- checkVideoSizeDependency();
- return;
case SettingsManager.KEY_TRACKINGFOCUS:
if (count == 0) restart();
return;
@@ -3460,7 +3453,7 @@ public class CaptureModule implements CameraModule, PhotoController,
return false;
}
- private void restart() {
+ public void restart() {
reinit();
onPauseBeforeSuper();
onPauseAfterSuper();