diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/camera/CameraSettings.java | 3 | ||||
-rw-r--r-- | src/com/android/camera/PhotoModule.java | 54 |
2 files changed, 41 insertions, 16 deletions
diff --git a/src/com/android/camera/CameraSettings.java b/src/com/android/camera/CameraSettings.java index d19923542..a810ebc0e 100644 --- a/src/com/android/camera/CameraSettings.java +++ b/src/com/android/camera/CameraSettings.java @@ -191,6 +191,9 @@ public class CameraSettings { public static final String LUMINANCE_CONITION_LOW = "low"; public static final String LUMINANCE_CONITION_HIGH = "high"; + public static final String LGE_HDR_MODE_OFF = "0"; + public static final String LGE_HDR_MODE_ON = "1"; + public static final String KEY_INTERNAL_PREVIEW_RESTART = "internal-restart"; public static final String KEY_QC_ZSL_HDR_SUPPORTED = "zsl-hdr-supported"; public static final String KEY_QC_LONGSHOT_SUPPORTED = "longshot-supported"; diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java index fa5cbbe39..b38464e30 100644 --- a/src/com/android/camera/PhotoModule.java +++ b/src/com/android/camera/PhotoModule.java @@ -140,6 +140,7 @@ public class PhotoModule private int mBurstSnapNum = 1; private int mReceivedSnapNum = 0; public boolean mFaceDetectionEnabled = false; + private boolean mLgeHdrMode = false; private DrawAutoHDR mDrawAutoHDR; /*Histogram variables*/ private GraphView mGraphView; @@ -274,7 +275,7 @@ public class PhotoModule private byte[] mLastJpegData; private int mLastJpegOrientation = 0; - private static Context mApplicationContext; + private static Context mApplicationContext = null; private boolean mIsBokehMode = false; private TextView mBokehTipText; @@ -591,7 +592,6 @@ public class PhotoModule CameraSettings.upgradeGlobalPreferences(mPreferences.getGlobal(), activity); mCameraId = getPreferredCameraId(mPreferences); - mContentResolver = mActivity.getContentResolver(); mApplicationContext = CameraApp.getContext(); @@ -623,6 +623,11 @@ public class PhotoModule Storage.setSaveSDCard( mPreferences.getString(CameraSettings.KEY_CAMERA_SAVEPATH, "0").equals("1")); + + // LGE HDR mode + if (mApplicationContext != null) { + mLgeHdrMode = mApplicationContext.getResources().getBoolean(R.bool.lge_hdr_mode); + } } private void initializeControlByIntent() { @@ -1267,6 +1272,7 @@ public class PhotoModule implements CameraPictureCallback { @Override public void onPictureTaken(byte [] data, CameraProxy camera) { + Log.d(TAG, "PostViewPictureCallback: onPictureTaken()"); mPostViewPictureCallbackTime = System.currentTimeMillis(); Log.v(TAG, "mShutterToPostViewCallbackTime = " + (mPostViewPictureCallbackTime - mShutterCallbackTime) @@ -1278,6 +1284,7 @@ public class PhotoModule implements CameraPictureCallback { @Override public void onPictureTaken(byte [] rawData, CameraProxy camera) { + Log.d(TAG, "RawPictureCallback: onPictureTaken()"); mRawPictureCallbackTime = System.currentTimeMillis(); Log.v(TAG, "mShutterToRawCallbackTime = " + (mRawPictureCallbackTime - mShutterCallbackTime) + "ms"); @@ -1293,6 +1300,7 @@ public class PhotoModule @Override public void onPictureTaken(final byte [] jpegData, CameraProxy camera) { + Log.d(TAG, "LongshotPictureCallback: onPictureTaken()"); if (mPaused) { return; } @@ -1464,28 +1472,36 @@ public class PhotoModule && (mSnapshotMode != CameraInfoWrapper.CAMERA_SUPPORT_MODE_ZSL) && (mReceivedSnapNum == mBurstSnapNum); - boolean backCameraRestartPreviewOnPictureTaken = - mApplicationContext.getResources().getBoolean(R.bool.back_camera_restart_preview_onPictureTaken); - boolean frontCameraRestartPreviewOnPictureTaken = - mApplicationContext.getResources().getBoolean(R.bool.front_camera_restart_preview_onPictureTaken); + needRestartPreview |= mLgeHdrMode; + + boolean backCameraRestartPreviewOnPictureTaken = false; + boolean frontCameraRestartPreviewOnPictureTaken = false; + if (mApplicationContext != null) { + backCameraRestartPreviewOnPictureTaken = + mApplicationContext.getResources().getBoolean(R.bool.back_camera_restart_preview_onPictureTaken); + frontCameraRestartPreviewOnPictureTaken = + mApplicationContext.getResources().getBoolean(R.bool.front_camera_restart_preview_onPictureTaken); + } CameraInfo info = CameraHolder.instance().getCameraInfo()[mCameraId]; - if ((info.facing == CameraInfo.CAMERA_FACING_BACK && backCameraRestartPreviewOnPictureTaken) - || (info.facing == CameraInfo.CAMERA_FACING_FRONT && frontCameraRestartPreviewOnPictureTaken)) { + if ((info.facing == CameraInfo.CAMERA_FACING_BACK + && backCameraRestartPreviewOnPictureTaken) + || (info.facing == CameraInfo.CAMERA_FACING_FRONT + && frontCameraRestartPreviewOnPictureTaken)) { needRestartPreview = true; } if (needRestartPreview) { setupPreview(); - if (CameraUtil.FOCUS_MODE_CONTINUOUS_PICTURE.equals(mFocusManager.getFocusMode()) || - CameraUtil.FOCUS_MODE_MW_CONTINUOUS_PICTURE.equals(mFocusManager.getFocusMode())) { + if (CameraUtil.FOCUS_MODE_CONTINUOUS_PICTURE.equals(mFocusManager.getFocusMode()) + || CameraUtil.FOCUS_MODE_MW_CONTINUOUS_PICTURE.equals(mFocusManager.getFocusMode())) { mCameraDevice.cancelAutoFocus(); } } else if ((mReceivedSnapNum == mBurstSnapNum) && (mCameraState != LONGSHOT)){ mFocusManager.resetTouchFocus(); - if (CameraUtil.FOCUS_MODE_CONTINUOUS_PICTURE.equals(mFocusManager.getFocusMode()) || - CameraUtil.FOCUS_MODE_MW_CONTINUOUS_PICTURE.equals(mFocusManager.getFocusMode())) { + if (CameraUtil.FOCUS_MODE_CONTINUOUS_PICTURE.equals(mFocusManager.getFocusMode()) + || CameraUtil.FOCUS_MODE_MW_CONTINUOUS_PICTURE.equals(mFocusManager.getFocusMode())) { mCameraDevice.cancelAutoFocus(); } mUI.resumeFaceDetection(); @@ -1863,7 +1879,7 @@ public class PhotoModule // LGE G4: Disable hdr if luminance is low and flash get's used if (CameraUtil.isLowLuminance(mParameters)) { - mParameters.set(CameraSettings.KEY_SNAPCAM_HDR_MODE, "0"); + mParameters.set(CameraSettings.KEY_SNAPCAM_HDR_MODE, CameraSettings.LGE_HDR_MODE_OFF); mCameraDevice.setParameters(mParameters); mParameters = mCameraDevice.getParameters(); } @@ -3572,9 +3588,9 @@ public class PhotoModule String hdrMode = mPreferences.getString( CameraSettings.KEY_HDR_MODE, mActivity.getString(R.string.pref_camera_hdr_mode_default)); - Log.v(TAG, "HDR Mode value =" + hdrMode); if (CameraUtil.isSupported(hdrMode, CameraSettings.getSupportedHDRModes(mParameters))) { + Log.v(TAG, "HDR Mode value =" + hdrMode); mParameters.set(CameraSettings.KEY_SNAPCAM_HDR_MODE, hdrMode); } @@ -3582,9 +3598,9 @@ public class PhotoModule String hdrNeed1x = mPreferences.getString( CameraSettings.KEY_HDR_NEED_1X, mActivity.getString(R.string.pref_camera_hdr_need_1x_default)); - Log.v(TAG, "HDR need 1x value =" + hdrNeed1x); if (CameraUtil.isSupported(hdrNeed1x, CameraSettings.getSupportedHDRNeed1x(mParameters))) { + Log.v(TAG, "HDR need 1x value =" + hdrNeed1x); mParameters.set(CameraSettings.KEY_SNAPCAM_HDR_NEED_1X, hdrNeed1x); } @@ -4205,8 +4221,8 @@ public class PhotoModule mActivity.getString(R.string.pref_camera_hdr_plus_default)); boolean hdrOn = onValue.equals(hdr); boolean hdrPlusOn = onValue.equals(hdrPlus); - boolean doGcamModeSwitch = false; + if (hdrPlusOn && GcamHelper.hasGcamCapture()) { // Kick off mode switch to gcam. doGcamModeSwitch = true; @@ -4219,7 +4235,13 @@ public class PhotoModule mCameraDevice.setParameters(mParameters); mParameters = mCameraDevice.getParameters(); } + if (mLgeHdrMode) { + mParameters.set(CameraSettings.KEY_SNAPCAM_HDR_MODE, CameraSettings.LGE_HDR_MODE_ON); + } } else { + if (mLgeHdrMode) { + mParameters.set(CameraSettings.KEY_SNAPCAM_HDR_MODE, CameraSettings.LGE_HDR_MODE_OFF); + } mSceneMode = mPreferences.getString( CameraSettings.KEY_SCENE_MODE, mActivity.getString(R.string.pref_camera_scenemode_default)); |