diff options
author | Santhosh Kumar H E <skhara@codeaurora.org> | 2013-11-15 14:53:31 +0530 |
---|---|---|
committer | Santhosh Kumar H E <skhara@codeaurora.org> | 2013-11-15 15:01:32 +0530 |
commit | 680f13e18a818c5f3467739a8878762966bf2c1c (patch) | |
tree | 5ebb595ca9c15c9b719f6e8befd9487c7d8a2f5f /src/com/android/camera/WideAnglePanoramaModule.java | |
parent | 77fc9f7bd9c94ed673d847b71d681c14c3f07177 (diff) | |
download | android_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.java | 15 |
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 |