summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/one
diff options
context:
space:
mode:
authorPuneet Lall <puneetl@google.com>2014-09-03 14:58:51 -0700
committerPuneet Lall <puneetl@google.com>2014-09-03 14:58:51 -0700
commit142b5bf5e10db858c2d2e69fd93d6565ba51363b (patch)
tree6cbcebd1c87eb12e5dc2cf12abbeb551674df840 /src/com/android/camera/one
parent4d6d676c368b70e8c0fcf462e51de1d59fe34028 (diff)
downloadandroid_packages_apps_Camera2-142b5bf5e10db858c2d2e69fd93d6565ba51363b.tar.gz
android_packages_apps_Camera2-142b5bf5e10db858c2d2e69fd93d6565ba51363b.tar.bz2
android_packages_apps_Camera2-142b5bf5e10db858c2d2e69fd93d6565ba51363b.zip
Re-enable shutter-button when switching between front and back cameras.
Bug: 16961251 Change-Id: Ie3075bf711ab44dfe5e6cdd6b3645dd6583708b5
Diffstat (limited to 'src/com/android/camera/one')
-rw-r--r--src/com/android/camera/one/v2/OneCameraZslImpl.java22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/com/android/camera/one/v2/OneCameraZslImpl.java b/src/com/android/camera/one/v2/OneCameraZslImpl.java
index 37c44f1cc..4d5fdef39 100644
--- a/src/com/android/camera/one/v2/OneCameraZslImpl.java
+++ b/src/com/android/camera/one/v2/OneCameraZslImpl.java
@@ -183,12 +183,15 @@ public class OneCameraZslImpl extends AbstractOneCamera {
private MeteringRectangle[] mAERegions = ZERO_WEIGHT_3A_REGION;
/**
- * Ready state depends on two things:<br>
+ * Ready state (typically displayed by the UI shutter-button) depends on two
+ * things:<br>
* <ol>
* <li>{@link #mCaptureManager} must be ready.</li>
* <li>We must not be in the process of capturing a single, high-quality,
* image.</li>
* </ol>
+ * See {@link ConjunctionListenerMux} and {@link #mReadyStateManager} for
+ * details of how this is managed.
*/
private static enum ReadyStateRequirement {
CAPTURE_MANAGER_READY,
@@ -201,7 +204,12 @@ public class OneCameraZslImpl extends AbstractOneCamera {
*/
private final ConjunctionListenerMux<ReadyStateRequirement>
mReadyStateManager = new ConjunctionListenerMux<ReadyStateRequirement>(
- ReadyStateRequirement.class);
+ ReadyStateRequirement.class, new ConjunctionListenerMux.OutputChangeListener() {
+ @Override
+ public void onOutputChange(boolean state) {
+ broadcastReadyState(state);
+ }
+ });
/**
* An {@link ImageCaptureListener} which will compress and save an image to
@@ -286,13 +294,6 @@ public class OneCameraZslImpl extends AbstractOneCamera {
}
});
- mReadyStateManager.addListener(new ConjunctionListenerMux.OutputChangeListener() {
- @Override
- public void onOutputChange(boolean state) {
- broadcastReadyState(state);
- }
- });
-
// Listen for changes to auto focus state and dispatch to
// mFocusStateListener.
mCaptureManager.addMetadataChangeListener(CaptureResult.CONTROL_AF_STATE,
@@ -644,6 +645,9 @@ public class OneCameraZslImpl extends AbstractOneCamera {
mCropRegion = cropRegionForZoom(mZoomValue);
boolean success = sendRepeatingCaptureRequest();
if (success) {
+ mReadyStateManager.setInput(ReadyStateRequirement.CAPTURE_NOT_IN_PROGRESS,
+ true);
+ mReadyStateManager.notifyListeners();
listener.onReadyForCapture();
} else {
listener.onSetupFailed();