summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/WideAnglePanoramaModule.java
diff options
context:
space:
mode:
authorlikaid <likaid@codeaurora.org>2015-03-21 09:42:17 +0800
committerGerrit - the friendly Code Review server <code-review@localhost>2015-04-03 12:55:27 -0700
commit9f0c71dbd6c9facac9ee352a0ba94bd7f100d923 (patch)
tree24dfb3d8f74d069b8d3843c481aae943caac352c /src/com/android/camera/WideAnglePanoramaModule.java
parent4fec96264ca29ee0917a9f020f536b9b01cad1f5 (diff)
downloadandroid_packages_apps_Snap-9f0c71dbd6c9facac9ee352a0ba94bd7f100d923.tar.gz
android_packages_apps_Snap-9f0c71dbd6c9facac9ee352a0ba94bd7f100d923.tar.bz2
android_packages_apps_Snap-9f0c71dbd6c9facac9ee352a0ba94bd7f100d923.zip
SnapdragonCamera: Stop panorama capture when move to opposite direction
In panorama capture mode, when user moved to the opposite from the original direction, stop the capture and save current picture. Change-Id: I716a08f2fc497301fb8a6c6a124211b855cd9a77 CRs-Fixed: 801022
Diffstat (limited to 'src/com/android/camera/WideAnglePanoramaModule.java')
-rw-r--r--src/com/android/camera/WideAnglePanoramaModule.java11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/com/android/camera/WideAnglePanoramaModule.java b/src/com/android/camera/WideAnglePanoramaModule.java
index e7025a1a7..21f55f36b 100644
--- a/src/com/android/camera/WideAnglePanoramaModule.java
+++ b/src/com/android/camera/WideAnglePanoramaModule.java
@@ -153,6 +153,8 @@ public class WideAnglePanoramaModule
private boolean mPreviewFocused = true;
private boolean mPreviewLayoutChanged = false;
+ private boolean mDirectionChanged = false;
+
@Override
public void onPreviewUIReady() {
configMosaicPreview();
@@ -225,9 +227,16 @@ public class WideAnglePanoramaModule
new PanoProgressBar.OnDirectionChangeListener() {
@Override
public void onDirectionChange(int direction) {
+ if (mDirectionChanged) {
+ stopCapture(false);
+ return;
+ }
if (mCaptureState == CAPTURE_STATE_MOSAIC) {
mUI.showDirectionIndicators(direction);
}
+ if (direction != PanoProgressBar.DIRECTION_NONE) {
+ mDirectionChanged = true;
+ }
}
});
@@ -583,6 +592,7 @@ public class WideAnglePanoramaModule
}
private void stopCapture(boolean aborted) {
+ mDirectionChanged = false;
mCaptureState = CAPTURE_STATE_VIEWFINDER;
mUI.onStopCapture();
Parameters parameters = mCameraDevice.getParameters();
@@ -758,6 +768,7 @@ public class WideAnglePanoramaModule
// This function will be called upon the first camera frame is available.
private void reset() {
mCaptureState = CAPTURE_STATE_VIEWFINDER;
+ mDirectionChanged = false;
mOrientationLocked = false;
mUI.setOrientation(mDeviceOrientation, true);