diff --git a/api/current.txt b/api/current.txt index 02d2f4bbd844..7c41939cf7f4 100644 --- a/api/current.txt +++ b/api/current.txt @@ -9804,6 +9804,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(); @@ -9840,6 +9841,7 @@ package android.hardware { method public java.util.List 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(); @@ -9867,6 +9869,7 @@ package android.hardware { method public void setMeteringAreas(java.util.List); 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); @@ -9906,6 +9909,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 a30077641f2c..748f15accc4b 100644 --- a/core/java/android/hardware/Camera.java +++ b/core/java/android/hardware/Camera.java @@ -1715,6 +1715,9 @@ public class Parameters { private static final String KEY_VIDEO_SNAPSHOT_SUPPORTED = "video-snapshot-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_POWER_MODE_SUPPORTED = "power-mode-supported"; + + private static final String KEY_POWER_MODE = "power-mode"; // Parameter key suffix for supported values. private static final String SUPPORTED_VALUES_SUFFIX = "-values"; @@ -1749,6 +1752,10 @@ public class Parameters { public static final String ANTIBANDING_60HZ = "60hz"; public static final String ANTIBANDING_OFF = "off"; + // Values for POWER MODE + public static final String LOW_POWER = "Low_Power"; + public static final String NORMAL_POWER = "Normal_Power"; + // Values for flash mode settings. /** * Flash will not be fired. @@ -2943,6 +2950,28 @@ public List getSupportedFlashModes() { return split(str); } + /** + * 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 current focus mode setting. * @@ -3526,6 +3555,14 @@ public boolean isVideoSnapshotSupported() { 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); + } + /** *

Enables and disables video stabilization. Use * {@link #isVideoStabilizationSupported} to determine if calling this