summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/WideAnglePanoramaModule.java
diff options
context:
space:
mode:
authorSanthosh Kumar H E <skhara@codeaurora.org>2013-11-15 14:53:31 +0530
committerSanthosh Kumar H E <skhara@codeaurora.org>2013-11-15 15:01:32 +0530
commit680f13e18a818c5f3467739a8878762966bf2c1c (patch)
tree5ebb595ca9c15c9b719f6e8befd9487c7d8a2f5f /src/com/android/camera/WideAnglePanoramaModule.java
parent77fc9f7bd9c94ed673d847b71d681c14c3f07177 (diff)
downloadandroid_packages_apps_Snap-680f13e18a818c5f3467739a8878762966bf2c1c.tar.gz
android_packages_apps_Snap-680f13e18a818c5f3467739a8878762966bf2c1c.tar.bz2
android_packages_apps_Snap-680f13e18a818c5f3467739a8878762966bf2c1c.zip
Panorama: Restart take picture call after layout changes.
In reverse landscape and reverse portrait panorama modes, layout change callback is received when shutter key is pressed for the first time. It looks like the layout change call is because of navigation panel getting rendered on top of the screen. Due to this camera application resets the preview window dimensions and changes the status from capture to view finder. This change restart the start picture call after layout changes. Its done through hanlder because reset configMosaicPreview() posts a message to reset on a handler. Change-Id: Ic42a6929198eff52d659468f1df7170bdbdf6a38 CRs-Fixed: 573570
Diffstat (limited to 'src/com/android/camera/WideAnglePanoramaModule.java')
-rw-r--r--src/com/android/camera/WideAnglePanoramaModule.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/com/android/camera/WideAnglePanoramaModule.java b/src/com/android/camera/WideAnglePanoramaModule.java
index 6f872ea07..3d0ae65ed 100644
--- a/src/com/android/camera/WideAnglePanoramaModule.java
+++ b/src/com/android/camera/WideAnglePanoramaModule.java
@@ -482,9 +482,24 @@ public class WideAnglePanoramaModule
@Override
public void onPreviewUILayoutChange(int l, int t, int r, int b) {
Log.d(TAG, "layout change: " + (r - l) + "/" + (b - t));
+ boolean capturePending = false;
+ if (mCaptureState == CAPTURE_STATE_MOSAIC){
+ capturePending = true;
+ }
mPreviewUIWidth = r - l;
mPreviewUIHeight = b - t;
configMosaicPreview();
+ if (capturePending == true){
+ mMainHandler.post(new Runnable() {
+ @Override
+ public void run() {
+ if (!mPaused){
+ mMainHandler.removeMessages(MSG_RESET_TO_PREVIEW);
+ startCapture();
+ }
+ }
+ });
+ }
}
@Override