summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott Mertz <scott@cyngn.com>2016-05-12 16:52:42 -0700
committerSteve Kondik <steve@cyngn.com>2016-11-20 02:12:19 -0800
commit06b5459c8d13f9efc792e41f3cac69e48cc98f8d (patch)
tree8d7a93a0699228458a2f137acf371de23cc4f08f
parent379e3bde1c1797b02c3be7eea423e165e173eeeb (diff)
downloadandroid_packages_apps_Snap-06b5459c8d13f9efc792e41f3cac69e48cc98f8d.tar.gz
android_packages_apps_Snap-06b5459c8d13f9efc792e41f3cac69e48cc98f8d.tar.bz2
android_packages_apps_Snap-06b5459c8d13f9efc792e41f3cac69e48cc98f8d.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
-rw-r--r--src/com/android/camera/WideAnglePanoramaModule.java22
1 files changed, 15 insertions, 7 deletions
diff --git a/src/com/android/camera/WideAnglePanoramaModule.java b/src/com/android/camera/WideAnglePanoramaModule.java
index 17b3fe1a3..9c44f5c6d 100644
--- a/src/com/android/camera/WideAnglePanoramaModule.java
+++ b/src/com/android/camera/WideAnglePanoramaModule.java
@@ -701,13 +701,21 @@ public class WideAnglePanoramaModule extends BaseModule<WideAnglePanoramaUI> imp
} 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);
+ }
+ }
+ });
+ }
}
}
};