summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Wei Huang <weih@google.com> 2011-11-18 15:23:17 -0800
committer Android Git Automerger <android-git-automerger@android.com> 2011-11-18 15:23:17 -0800
commit2e5f5c973fac75da03dd17196a79481e206cc32c (patch)
treec0eb661931008e30fc637adde8163016346ea087
parented94e3dbcf55a5a3b496c3882352b01d621636de (diff)
parentbcedde3cd614e2a241f4c4dad626b840fd9c2424 (diff)
am bcedde3c: am c2fff5ea: Merge "Unlock camera AWB lock only when white-balance is changed." into ics-mr1
* commit 'bcedde3cd614e2a241f4c4dad626b840fd9c2424': Unlock camera AWB lock only when white-balance is changed.
-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 c2a757f06808..4e3801141467 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;
+ }
};
/**