diff options
author | Puneet Lall <puneetl@google.com> | 2014-09-03 14:58:51 -0700 |
---|---|---|
committer | Puneet Lall <puneetl@google.com> | 2014-09-03 14:58:51 -0700 |
commit | 142b5bf5e10db858c2d2e69fd93d6565ba51363b (patch) | |
tree | 6cbcebd1c87eb12e5dc2cf12abbeb551674df840 /src/com/android/camera/one | |
parent | 4d6d676c368b70e8c0fcf462e51de1d59fe34028 (diff) | |
download | android_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.java | 22 |
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(); |