diff options
-rw-r--r-- | src/com/android/camera/CameraSettings.java | 12 | ||||
-rwxr-xr-x | src/com/android/camera/PhotoModule.java | 72 | ||||
-rw-r--r-- | src/com/android/camera/VideoModule.java | 4 | ||||
-rw-r--r-- | src/com/android/camera/util/CameraUtil.java | 8 |
4 files changed, 67 insertions, 29 deletions
diff --git a/src/com/android/camera/CameraSettings.java b/src/com/android/camera/CameraSettings.java index 50a7d4560..ee7e0a0d1 100644 --- a/src/com/android/camera/CameraSettings.java +++ b/src/com/android/camera/CameraSettings.java @@ -729,6 +729,18 @@ public class CameraSettings { selectableZoneAf, mParameters.getSupportedSelectableZoneAf()); } + if (saturation != null && !CameraUtil.isSupported(mParameters, "saturation")) { + removePreference(group, saturation.getKey()); + } + + if (contrast != null && !CameraUtil.isSupported(mParameters, "contrast")) { + removePreference(group, contrast.getKey()); + } + + if (sharpness != null && !CameraUtil.isSupported(mParameters, "sharpness")) { + removePreference(group, sharpness.getKey()); + } + if (mIso != null) { filterUnsupportedOptions(group, mIso, mParameters.getSupportedIsoValues()); diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java index b2c4050c6..61d9372b3 100755 --- a/src/com/android/camera/PhotoModule.java +++ b/src/com/android/camera/PhotoModule.java @@ -1324,7 +1324,11 @@ public class PhotoModule if(mSnapshotMode == CameraInfo.CAMERA_SUPPORT_MODE_ZSL) { Log.v(TAG, "JpegPictureCallback : in zslmode"); mParameters = mCameraDevice.getParameters(); - mBurstSnapNum = mParameters.getInt("num-snaps-per-shutter"); + if (CameraUtil.isBurstSupported(mParameters)) { + mBurstSnapNum = mParameters.getInt("num-snaps-per-shutter"); + } else { + mBurstSnapNum = 1; + } } Log.v(TAG, "JpegPictureCallback: Received = " + mReceivedSnapNum + "Burst count = " + mBurstSnapNum); @@ -1700,7 +1704,11 @@ public class PhotoModule mParameters = mCameraDevice.getParameters(); } - mBurstSnapNum = mParameters.getInt("num-snaps-per-shutter"); + if (CameraUtil.isBurstSupported(mParameters)) { + mBurstSnapNum = mParameters.getInt("num-snaps-per-shutter"); + } else { + mBurstSnapNum = 1; + } mReceivedSnapNum = 0; mPreviewRestartSupport = SystemProperties.getBoolean( PERSIST_PREVIEW_RESTART, false); @@ -2786,6 +2794,9 @@ public class PhotoModule } return true; case KeyEvent.KEYCODE_DPAD_LEFT: + if (!CameraUtil.isSupported(mParameters, "luma-adaptation")) { + break; + } if ( (mCameraState != PREVIEW_STOPPED) && (mFocusManager != null) && (mFocusManager.getCurrentFocusState() != mFocusManager.STATE_FOCUSING) && (mFocusManager.getCurrentFocusState() != mFocusManager.STATE_FOCUSING_SNAP_ON_FINISH) ) { @@ -2807,6 +2818,9 @@ public class PhotoModule } break; case KeyEvent.KEYCODE_DPAD_RIGHT: + if (!CameraUtil.isSupported(mParameters, "luma-adaptation")) { + break; + } if ( (mCameraState != PREVIEW_STOPPED) && (mFocusManager != null) && (mFocusManager.getCurrentFocusState() != mFocusManager.STATE_FOCUSING) && (mFocusManager.getCurrentFocusState() != mFocusManager.STATE_FOCUSING_SNAP_ON_FINISH) ) { @@ -3211,32 +3225,38 @@ public class PhotoModule } //Set Saturation - String saturationStr = mPreferences.getString( - CameraSettings.KEY_SATURATION, - mActivity.getString(R.string.pref_camera_saturation_default)); - int saturation = Integer.parseInt(saturationStr); - Log.v(TAG, "Saturation value =" + saturation); - if((0 <= saturation) && (saturation <= mParameters.getMaxSaturation())){ - mParameters.setSaturation(saturation); + if (CameraUtil.isSupported(mParameters, "saturation")) { + String saturationStr = mPreferences.getString( + CameraSettings.KEY_SATURATION, + mActivity.getString(R.string.pref_camera_saturation_default)); + int saturation = Integer.parseInt(saturationStr); + Log.v(TAG, "Saturation value =" + saturation); + if((0 <= saturation) && (saturation <= mParameters.getMaxSaturation())){ + mParameters.setSaturation(saturation); + } } // Set contrast parameter. - String contrastStr = mPreferences.getString( - CameraSettings.KEY_CONTRAST, - mActivity.getString(R.string.pref_camera_contrast_default)); - int contrast = Integer.parseInt(contrastStr); - Log.v(TAG, "Contrast value =" +contrast); - if((0 <= contrast) && (contrast <= mParameters.getMaxContrast())){ - mParameters.setContrast(contrast); + if (CameraUtil.isSupported(mParameters, "contrast")) { + String contrastStr = mPreferences.getString( + CameraSettings.KEY_CONTRAST, + mActivity.getString(R.string.pref_camera_contrast_default)); + int contrast = Integer.parseInt(contrastStr); + Log.v(TAG, "Contrast value =" + contrast); + if ((0 <= contrast) && (contrast <= mParameters.getMaxContrast())) { + mParameters.setContrast(contrast); + } } // Set sharpness parameter - String sharpnessStr = mPreferences.getString( - CameraSettings.KEY_SHARPNESS, - mActivity.getString(R.string.pref_camera_sharpness_default)); - int sharpness = Integer.parseInt(sharpnessStr) * - (mParameters.getMaxSharpness()/MAX_SHARPNESS_LEVEL); - Log.v(TAG, "Sharpness value =" + sharpness); - if((0 <= sharpness) && (sharpness <= mParameters.getMaxSharpness())){ - mParameters.setSharpness(sharpness); + if (CameraUtil.isSupported(mParameters, "sharpness")) { + String sharpnessStr = mPreferences.getString( + CameraSettings.KEY_SHARPNESS, + mActivity.getString(R.string.pref_camera_sharpness_default)); + int sharpness = Integer.parseInt(sharpnessStr) * + (mParameters.getMaxSharpness() / MAX_SHARPNESS_LEVEL); + Log.v(TAG, "Sharpness value =" + sharpness); + if ((0 <= sharpness) && (sharpness <= mParameters.getMaxSharpness())) { + mParameters.setSharpness(sharpness); + } } // Set Face Recognition String faceRC = mPreferences.getString( @@ -5013,8 +5033,6 @@ class GraphView extends View { private CameraManager.CameraProxy mGraphCameraDevice; private float scaled; private static final int STATS_SIZE = 256; - private static final String TAG = "GraphView"; - public GraphView(Context context, AttributeSet attrs) { super(context,attrs); @@ -5033,9 +5051,7 @@ class GraphView extends View { } @Override protected void onDraw(Canvas canvas) { - Log.v(TAG, "in Camera.java ondraw"); if(mPhotoModule == null || !mPhotoModule.mHiston ) { - Log.e(TAG, "returning as histogram is off "); return; } diff --git a/src/com/android/camera/VideoModule.java b/src/com/android/camera/VideoModule.java index 69f782629..63d863d1f 100644 --- a/src/com/android/camera/VideoModule.java +++ b/src/com/android/camera/VideoModule.java @@ -2635,7 +2635,9 @@ public class VideoModule implements CameraModule, Log.i(TAG,"NOTE: SetCameraParameters " + videoWidth + " x " + videoHeight); String recordSize = videoWidth + "x" + videoHeight; Log.e(TAG,"Video dimension in App->"+recordSize); - mParameters.set("video-size", recordSize); + if (CameraUtil.isSupported(mParameters, "video-size")) { + mParameters.set("video-size", recordSize); + } // Set white balance parameter. String whiteBalance = mPreferences.getString( CameraSettings.KEY_WHITE_BALANCE, diff --git a/src/com/android/camera/util/CameraUtil.java b/src/com/android/camera/util/CameraUtil.java index 987244214..705e94924 100644 --- a/src/com/android/camera/util/CameraUtil.java +++ b/src/com/android/camera/util/CameraUtil.java @@ -168,6 +168,14 @@ public class CameraUtil { params.getSupportedFocusModes())); } + public static boolean isSupported(Parameters params, String key) { + return (params.get(key) != null && !"null".equals(params.get(key))); + } + + public static boolean isBurstSupported(Parameters params) { + return isSupported(params, "num-snaps-per-shutter"); + } + // Private intent extras. Test only. private static final String EXTRAS_CAMERA_FACING = "android.intent.extras.CAMERA_FACING"; |