summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/PhotoModule.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/camera/PhotoModule.java')
-rw-r--r--src/com/android/camera/PhotoModule.java92
1 files changed, 88 insertions, 4 deletions
diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java
index a9c3aaeaf..bba073f68 100644
--- a/src/com/android/camera/PhotoModule.java
+++ b/src/com/android/camera/PhotoModule.java
@@ -66,6 +66,7 @@ import com.android.camera.CameraManager.CameraPictureCallback;
import com.android.camera.CameraManager.CameraProxy;
import com.android.camera.CameraManager.CameraShutterCallback;
import com.android.camera.PhotoModule.NamedImages.NamedEntity;
+import com.android.camera.TsMakeupManager.MakeupLevelListener;
import com.android.camera.exif.ExifInterface;
import com.android.camera.exif.ExifTag;
import com.android.camera.exif.Rational;
@@ -82,6 +83,7 @@ import android.widget.EditText;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.text.InputType;
+import android.text.TextUtils;
import com.android.internal.util.MemInfoReader;
import android.app.ActivityManager;
@@ -110,7 +112,7 @@ public class PhotoModule
ShutterButton.OnShutterButtonListener,
MediaSaveService.Listener,
OnCountDownFinishedListener,
- SensorEventListener {
+ SensorEventListener, MakeupLevelListener {
private static final String TAG = "CAM_PhotoModule";
@@ -692,7 +694,7 @@ public class PhotoModule
private void openCameraCommon() {
loadCameraPreferences();
- mUI.onCameraOpened(mPreferenceGroup, mPreferences, mParameters, this);
+ mUI.onCameraOpened(mPreferenceGroup, mPreferences, mParameters, this, this);
if (mIsImageCaptureIntent) {
mUI.overrideSettings(CameraSettings.KEY_CAMERA_HDR_PLUS,
mActivity.getString(R.string.setting_off_value));
@@ -1865,8 +1867,7 @@ public class PhotoModule
if (orientation == OrientationEventListener.ORIENTATION_UNKNOWN) return;
int oldOrientation = mOrientation;
mOrientation = CameraUtil.roundOrientation(orientation, mOrientation);
- if (oldOrientation != mOrientation &&
- oldOrientation != OrientationEventListener.ORIENTATION_UNKNOWN) {
+ if (oldOrientation != mOrientation) {
Log.v(TAG, "onOrientationChanged, update parameters");
if (mParameters != null && mCameraDevice != null) {
setFlipValue();
@@ -2619,6 +2620,7 @@ public class PhotoModule
Log.w(TAG, "startPreview: parameters for preview are not ready.");
return;
}
+ mErrorCallback.setActivity(mActivity);
mCameraDevice.setErrorCallback(mErrorCallback);
// ICS camera frameworks has a bug. Face detection state is not cleared 1589
// after taking a picture. Stop the preview to work around it. The bug
@@ -3544,6 +3546,21 @@ public class PhotoModule
if (mContinuousFocusSupported && ApiHelper.HAS_AUTO_FOCUS_MOVE_CALLBACK) {
updateAutoFocusMoveCallback();
}
+
+ String makeupParamValue = mPreferences.getString(CameraSettings.KEY_TS_MAKEUP_UILABLE,
+ mActivity.getString(R.string.pref_camera_tsmakeup_default));
+ mParameters.set(CameraSettings.KEY_TS_MAKEUP_PARAM, makeupParamValue);
+ Log.v(TAG,"updateCameraParametersPreference(): TSMakeup " + CameraSettings.KEY_TS_MAKEUP_PARAM +" value = " + makeupParamValue);
+
+ if(TsMakeupManager.MAKEUP_ON.equals(makeupParamValue)) {
+ String makeupWhitenValue = mPreferences.getString(CameraSettings.KEY_TS_MAKEUP_LEVEL_WHITEN,
+ mActivity.getString(R.string.pref_camera_tsmakeup_level_default));
+ String makeupCleanValue = mPreferences.getString(CameraSettings.KEY_TS_MAKEUP_LEVEL_CLEAN,
+ mActivity.getString(R.string.pref_camera_tsmakeup_level_default));
+ mParameters.set(CameraSettings.KEY_TS_MAKEUP_PARAM_WHITEN, makeupWhitenValue);
+ mParameters.set(CameraSettings.KEY_TS_MAKEUP_PARAM_CLEAN, makeupCleanValue);
+ }
+
//QCom related parameters updated here.
qcomUpdateCameraParametersPreference();
return doGcamModeSwitch;
@@ -4343,6 +4360,73 @@ public class PhotoModule
}
}
}
+
+ @Override
+ public void onMakeupLevel(String key, String value) {
+ Log.d(TAG, "PhotoModule.onMakeupLevel(): key is " + key + ", value is " + value);
+
+ if(TextUtils.isEmpty(value)) {
+ return;
+ }
+
+ String prefValue = TsMakeupManager.MAKEUP_ON;
+ if(TsMakeupManager.MAKEUP_OFF.equals(value)) {
+ prefValue = TsMakeupManager.MAKEUP_OFF;
+ }
+
+ Log.d(TAG, "onMakeupLevel(): prefValue is " + prefValue);
+ mParameters.set(CameraSettings.KEY_TS_MAKEUP_PARAM, prefValue);
+
+ if(!TextUtils.isDigitsOnly(value)) {
+ if(TsMakeupManager.MAKEUP_NONE.equals(value)) {
+ ListPreference pref = mPreferenceGroup.findPreference(CameraSettings.KEY_TS_MAKEUP_LEVEL_WHITEN);
+ if(pref != null) {
+ String whitenValue = pref.getValue();
+ if(TextUtils.isEmpty(whitenValue)) {
+ whitenValue = mActivity.getString(R.string.pref_camera_tsmakeup_level_default);
+ }
+ pref.setMakeupSeekBarValue(whitenValue);
+ mParameters.set(CameraSettings.KEY_TS_MAKEUP_PARAM_WHITEN, Integer.parseInt(whitenValue));
+ }
+
+ pref = mPreferenceGroup.findPreference(CameraSettings.KEY_TS_MAKEUP_LEVEL_CLEAN);
+ if(pref != null) {
+ String cleanValue = pref.getValue();
+ if(TextUtils.isEmpty(cleanValue)) {
+ cleanValue = mActivity.getString(R.string.pref_camera_tsmakeup_level_default);
+ }
+ pref.setMakeupSeekBarValue(cleanValue);
+ mParameters.set(CameraSettings.KEY_TS_MAKEUP_PARAM_CLEAN, Integer.parseInt(cleanValue));
+ }
+ }
+ } else {
+ if(CameraSettings.KEY_TS_MAKEUP_LEVEL.equals(key)) {
+ if(mParameters != null) {
+ mParameters.set(CameraSettings.KEY_TS_MAKEUP_PARAM_WHITEN, Integer.parseInt(value));
+ mParameters.set(CameraSettings.KEY_TS_MAKEUP_PARAM_CLEAN, Integer.parseInt(value));
+ }
+ ListPreference pref = mPreferenceGroup.findPreference(CameraSettings.KEY_TS_MAKEUP_LEVEL_WHITEN);
+ if(pref != null) {
+ pref.setMakeupSeekBarValue(value);
+ }
+ pref = mPreferenceGroup.findPreference(CameraSettings.KEY_TS_MAKEUP_LEVEL_CLEAN);
+ if(pref != null) {
+ pref.setMakeupSeekBarValue(value);
+ }
+ } else if(CameraSettings.KEY_TS_MAKEUP_LEVEL_WHITEN.equals(key)) {
+ if(mParameters != null) {
+ mParameters.set(CameraSettings.KEY_TS_MAKEUP_PARAM_WHITEN, Integer.parseInt(value));
+ }
+ } else if(CameraSettings.KEY_TS_MAKEUP_LEVEL_CLEAN.equals(key)) {
+ if(mParameters != null) {
+ mParameters.set(CameraSettings.KEY_TS_MAKEUP_PARAM_CLEAN, Integer.parseInt(value));
+ }
+ }
+ }
+
+ mCameraDevice.setParameters(mParameters);
+ mParameters = mCameraDevice.getParameters();
+ }
}
/* Below is no longer needed, except to get rid of compile error