diff options
author | Emerson Pinter <dev@pinter.com.br> | 2012-11-27 09:40:35 -0200 |
---|---|---|
committer | Gerrit Code Review <gerrit@review.cyanogenmod.com> | 2012-12-05 22:31:39 -0800 |
commit | 3a287a25c0b5e420383ef782a38e00effa165728 (patch) | |
tree | f7b699f31473df94a5d8c8d80fec66b48b88ed1a | |
parent | e67e588cab1a83a484e7302dead8c897b24c1166 (diff) | |
download | android_frameworks_base-3a287a25c0b5e420383ef782a38e00effa165728.tar.gz android_frameworks_base-3a287a25c0b5e420383ef782a38e00effa165728.tar.bz2 android_frameworks_base-3a287a25c0b5e420383ef782a38e00effa165728.zip |
camera: add power mode support
Based on commit 7036d66bec7697160ba1b2e255f1e7fae0c8c435 from CAF,
branch ics_chocolate.
Change-Id: I8a60668b18980fd5e6f9dd341db5a8a63deb99d0
-rw-r--r-- | api/current.txt | 5 | ||||
-rw-r--r-- | core/java/android/hardware/Camera.java | 39 |
2 files changed, 43 insertions, 1 deletions
diff --git a/api/current.txt b/api/current.txt index 0b6d84c4af3..323e0d09f2b 100644 --- a/api/current.txt +++ b/api/current.txt @@ -9644,6 +9644,7 @@ package android.hardware { method public int getJpegQuality(); method public int getJpegThumbnailQuality(); method public android.hardware.Camera.Size getJpegThumbnailSize(); + method public java.lang.String getPowerMode(); method public int getMaxExposureCompensation(); method public int getMaxNumDetectedFaces(); method public int getMaxNumFocusAreas(); @@ -9680,6 +9681,7 @@ package android.hardware { method public java.util.List<java.lang.Integer> getZoomRatios(); method public boolean isAutoExposureLockSupported(); method public boolean isAutoWhiteBalanceLockSupported(); + method public boolean isPowerModeSupported(); method public boolean isSmoothZoomSupported(); method public boolean isVideoSnapshotSupported(); method public boolean isVideoStabilizationSupported(); @@ -9707,6 +9709,7 @@ package android.hardware { method public void setMeteringAreas(java.util.List<android.hardware.Camera.Area>); method public void setPictureFormat(int); method public void setPictureSize(int, int); + method public void setPowerMode(java.lang.String); method public void setPreviewFormat(int); method public void setPreviewFpsRange(int, int); method public deprecated void setPreviewFrameRate(int); @@ -9746,6 +9749,8 @@ package android.hardware { field public static final java.lang.String FOCUS_MODE_FIXED = "fixed"; field public static final java.lang.String FOCUS_MODE_INFINITY = "infinity"; field public static final java.lang.String FOCUS_MODE_MACRO = "macro"; + field public static final java.lang.String LOW_POWER = "Low_Power"; + field public static final java.lang.String NORMAL_POWER = "Normal_Power"; field public static final int PREVIEW_FPS_MAX_INDEX = 1; // 0x1 field public static final int PREVIEW_FPS_MIN_INDEX = 0; // 0x0 field public static final java.lang.String SCENE_MODE_ACTION = "action"; diff --git a/core/java/android/hardware/Camera.java b/core/java/android/hardware/Camera.java index 4efde56f5c7..37d15c820f8 100644 --- a/core/java/android/hardware/Camera.java +++ b/core/java/android/hardware/Camera.java @@ -1806,6 +1806,7 @@ public class Camera { private static final String KEY_RECORDING_HINT = "recording-hint"; private static final String KEY_VIDEO_SNAPSHOT_SUPPORTED = "video-snapshot-supported"; private static final String KEY_FULL_VIDEO_SNAP_SUPPORTED = "full-video-snap-supported"; + private static final String KEY_POWER_MODE_SUPPORTED = "power-mode-supported"; private static final String KEY_VIDEO_STABILIZATION = "video-stabilization"; private static final String KEY_VIDEO_STABILIZATION_SUPPORTED = "video-stabilization-supported"; private static final String KEY_SHARPNESS = "sharpness"; @@ -1819,11 +1820,13 @@ public class Camera { private static final String KEY_SELECTABLE_ZONE_AF = "selectable-zone-af"; private static final String KEY_FACE_DETECTION = "face-detection"; private static final String KEY_MEMORY_COLOR_ENHANCEMENT = "mce"; - private static final String KEY_REDEYE_REDUCTION = "redeye-reduction"; + private static final String KEY_REDEYE_REDUCTION = "redeye-reduction"; private static final String KEY_ZSL = "zsl"; private static final String KEY_CAMERA_MODE = "camera-mode"; private static final String KEY_VIDEO_HIGH_FRAME_RATE = "video-hfr"; + private static final String KEY_POWER_MODE = "power-mode"; + // Parameter key suffix for supported values. private static final String SUPPORTED_VALUES_SUFFIX = "-values"; @@ -1923,6 +1926,10 @@ public class Camera { /** @hide */ public static final String AE_BRACKET = "AE-Bracket"; + // Values for POWER MODE + public static final String LOW_POWER = "Low_Power"; + public static final String NORMAL_POWER = "Normal_Power"; + // Values for HFR settings. /** @hide */ public static final String VIDEO_HFR_OFF = "off"; @@ -3458,6 +3465,28 @@ public class Camera { } /** + * Sets the Power mode. + * + * @param value Power mode. + * @see #getPowerMode() + */ + public void setPowerMode(String value) { + set(KEY_POWER_MODE, value); + } + + /** + * Gets the current power mode setting. + * + * @return current power mode. null if power mode setting is not + * supported. + * @see #POWER_MODE_LOW + * @see #POWER_MODE_NORMAL + */ + public String getPowerMode() { + return get(KEY_POWER_MODE); + } + + /** * Gets the supported scene modes. * * @return a list of supported scene modes. null if scene mode setting @@ -4494,6 +4523,14 @@ public class Camera { } /** + * @return true if full size video snapshot is supported. + */ + public boolean isPowerModeSupported() { + String str = get(KEY_POWER_MODE_SUPPORTED); + return TRUE.equals(str); + } + + /** * @hide * Gets the current face detection setting. * |