diff options
author | Scott Mertz <scott@cyngn.com> | 2016-05-12 16:52:42 -0700 |
---|---|---|
committer | Arne Coucheron <arco68@gmail.com> | 2018-01-26 01:09:11 +0100 |
commit | 372d35465d762a3b1538fd17f81e1021aafda562 (patch) | |
tree | 54ff931f723b47ea8e201bff825c22aca5e4998d /src/com | |
parent | 962062894af8252ac5a5f24a0a7b0d0cc720343d (diff) | |
download | android_packages_apps_Snap-372d35465d762a3b1538fd17f81e1021aafda562.tar.gz android_packages_apps_Snap-372d35465d762a3b1538fd17f81e1021aafda562.tar.bz2 android_packages_apps_Snap-372d35465d762a3b1538fd17f81e1021aafda562.zip |
CameraNext: stop updating the pano progress bar on pause
Fixes a NPE if a panorama is rendering when the user pauses the activity,
then launches the camera from the lockscreen and enters panorama mode.
With this patch, the user is shown a message "previous panorama is
rendering" instead of the progress bar.
FEIJ-533
Change-Id: I3247e4bd96aa3aa67e9b1ff75d747d8be0c3c633
Diffstat (limited to 'src/com')
-rw-r--r-- | src/com/android/camera/WideAnglePanoramaModule.java | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/src/com/android/camera/WideAnglePanoramaModule.java b/src/com/android/camera/WideAnglePanoramaModule.java index 9abfbe3e9..945a7dccb 100644 --- a/src/com/android/camera/WideAnglePanoramaModule.java +++ b/src/com/android/camera/WideAnglePanoramaModule.java @@ -707,13 +707,21 @@ public class WideAnglePanoramaModule } catch (InterruptedException e) { throw new RuntimeException("Panorama reportProgress failed", e); } - // Update the progress bar - mActivity.runOnUiThread(new Runnable() { - @Override - public void run() { - mUI.updateSavingProgress(progress); - } - }); + // Update the progress bar if we haven't paused. In the case where + // we pause the UI, then launch the camera from the lockscreen with + // this thread still running, a new WideAnglePanoramaModule is + // created, but this thread is left running to finish the task (and + // mPaused continues to be true for that instance. + if (!mPaused) { + mActivity.runOnUiThread(new Runnable() { + @Override + public void run() { + if (!mPaused) { + mUI.updateSavingProgress(progress); + } + } + }); + } } } }; |