summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEmerson Pinter <dev@pinter.com.br>2012-11-27 09:40:35 -0200
committerGerrit Code Review <gerrit@review.cyanogenmod.com>2012-12-05 22:31:39 -0800
commit3a287a25c0b5e420383ef782a38e00effa165728 (patch)
treef7b699f31473df94a5d8c8d80fec66b48b88ed1a
parente67e588cab1a83a484e7302dead8c897b24c1166 (diff)
downloadandroid_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.txt5
-rw-r--r--core/java/android/hardware/Camera.java39
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.
*