Skip to content

Commit

Permalink
camera: add power mode support
Browse files Browse the repository at this point in the history
Based on commit 7036d66bec7697160ba1b2e255f1e7fae0c8c435 from CAF,
branch ics_chocolate.

Change-Id: I8a60668b18980fd5e6f9dd341db5a8a63deb99d0
  • Loading branch information
epinter authored and Gerrit Code Review committed Dec 6, 2012
1 parent e67e588 commit 3a287a2
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 1 deletion.
5 changes: 5 additions & 0 deletions api/current.txt
Expand Up @@ -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();
Expand Down Expand Up @@ -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();
Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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";
Expand Down
39 changes: 38 additions & 1 deletion core/java/android/hardware/Camera.java
Expand Up @@ -1806,6 +1806,7 @@ public class Parameters {
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";
Expand All @@ -1819,11 +1820,13 @@ public class Parameters {
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";

Expand Down Expand Up @@ -1923,6 +1926,10 @@ public class Parameters {
/** @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";
Expand Down Expand Up @@ -3457,6 +3464,28 @@ public void setSceneMode(String value) {
set(KEY_SCENE_MODE, value);
}

/**
* 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.
*
Expand Down Expand Up @@ -4493,6 +4522,14 @@ public boolean isFullsizeVideoSnapSupported() {
return TRUE.equals(str);
}

/**
* @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.
Expand Down

0 comments on commit 3a287a2

Please sign in to comment.