diff options
author | codeworkx <codeworkx@cyanogenmod.org> | 2016-01-09 11:52:01 +0100 |
---|---|---|
committer | Steve Kondik <steve@cyngn.com> | 2016-11-02 12:22:29 -0700 |
commit | 7e7267ea70d5f4682ce0861a652aed53056f29f6 (patch) | |
tree | a68c9855fb36a34daee89d2fdfb4ae50429c302d /src/com/android/camera | |
parent | d2fc03537902a6f5bb19645a35c4698d3cbfaf5f (diff) | |
download | android_packages_apps_Snap-7e7267ea70d5f4682ce0861a652aed53056f29f6.tar.gz android_packages_apps_Snap-7e7267ea70d5f4682ce0861a652aed53056f29f6.tar.bz2 android_packages_apps_Snap-7e7267ea70d5f4682ce0861a652aed53056f29f6.zip |
Snap: special handling of hdr-mode parameter for lge devices
Change-Id: Iefee1f15f5649c2f93c59fcbdedcf953e9e0bc54
Diffstat (limited to 'src/com/android/camera')
-rw-r--r-- | src/com/android/camera/CameraSettings.java | 3 | ||||
-rwxr-xr-x | 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 91567eb86..0d5908a8e 100644 --- a/src/com/android/camera/CameraSettings.java +++ b/src/com/android/camera/CameraSettings.java @@ -182,6 +182,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 250e66d6a..5b13b5e31 100755 --- a/src/com/android/camera/PhotoModule.java +++ b/src/com/android/camera/PhotoModule.java @@ -128,6 +128,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; @@ -253,7 +254,7 @@ public class PhotoModule private byte[] mLastJpegData; private int mLastJpegOrientation = 0; - private static Context mApplicationContext; + private static Context mApplicationContext = null; private Runnable mDoSnapRunnable = new Runnable() { @Override @@ -565,7 +566,6 @@ public class PhotoModule CameraSettings.upgradeGlobalPreferences(mPreferences.getGlobal(), activity); mCameraId = getPreferredCameraId(mPreferences); - mContentResolver = mActivity.getContentResolver(); mApplicationContext = CameraApp.getContext(); @@ -595,6 +595,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() { @@ -1189,6 +1194,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) @@ -1200,6 +1206,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"); @@ -1215,6 +1222,7 @@ public class PhotoModule @Override public void onPictureTaken(final byte [] jpegData, CameraProxy camera) { + Log.d(TAG, "LongshotPictureCallback: onPictureTaken()"); if (mPaused) { return; } @@ -1348,28 +1356,36 @@ public class PhotoModule && (mSnapshotMode != CameraInfo.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(); @@ -1699,7 +1715,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(); } @@ -3359,9 +3375,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); } @@ -3369,9 +3385,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); } @@ -3896,8 +3912,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; @@ -3910,7 +3926,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)); |