summaryrefslogtreecommitdiffstats
path: root/core/java/android/hardware/Camera.java
diff options
context:
space:
mode:
authorWu-cheng Li <wuchengli@google.com>2011-11-17 20:12:23 +0800
committerWu-cheng Li <wuchengli@google.com>2011-11-18 15:21:47 +0800
commitb838d8d4a26c3cfea2e2a5ce831daebbb5653ae7 (patch)
tree869025700226d80bb4aa12310cff4e95f5560e61 /core/java/android/hardware/Camera.java
parentfead0e14b437e80b1c2b0578ec33fc5cbf910ddf (diff)
downloadframeworks_base-b838d8d4a26c3cfea2e2a5ce831daebbb5653ae7.zip
frameworks_base-b838d8d4a26c3cfea2e2a5ce831daebbb5653ae7.tar.gz
frameworks_base-b838d8d4a26c3cfea2e2a5ce831daebbb5653ae7.tar.bz2
Unlock camera AWB lock only when white-balance is changed.
bug:5633546 Change-Id: I90bb4b5b445daedf38a64e2f8fb980fc0f0aaa81
Diffstat (limited to 'core/java/android/hardware/Camera.java')
-rw-r--r--core/java/android/hardware/Camera.java11
1 files changed, 10 insertions, 1 deletions
diff --git a/core/java/android/hardware/Camera.java b/core/java/android/hardware/Camera.java
index c2a757f..4e38011 100644
--- a/core/java/android/hardware/Camera.java
+++ b/core/java/android/hardware/Camera.java
@@ -2512,13 +2512,16 @@ public class Camera {
/**
* Sets the white balance. Changing the setting will release the
- * auto-white balance lock.
+ * auto-white balance lock. It is recommended not to change white
+ * balance and AWB lock at the same time.
*
* @param value new white balance.
* @see #getWhiteBalance()
* @see #setAutoWhiteBalanceLock(boolean)
*/
public void setWhiteBalance(String value) {
+ String oldValue = get(KEY_WHITE_BALANCE);
+ if (same(value, oldValue)) return;
set(KEY_WHITE_BALANCE, value);
set(KEY_AUTO_WHITEBALANCE_LOCK, FALSE);
}
@@ -3493,6 +3496,12 @@ public class Camera {
return result;
}
+
+ private boolean same(String s1, String s2) {
+ if (s1 == null && s2 == null) return true;
+ if (s1 != null && s1.equals(s2)) return true;
+ return false;
+ }
};
/**