summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGabriel Nava <gnava@google.com>2015-05-27 20:50:21 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2015-05-27 20:50:21 +0000
commit84a379fffdc439e49623178e81b9535904de0030 (patch)
tree9f605fdb4124e0951fdbf045d8ba5342cd28d005
parentfefb025973e2bffcbeb02666339fb7797513d82e (diff)
parentd927492ade2e253ccc620effd5602582eaa6dd2d (diff)
downloadandroid_packages_apps_Camera2-84a379fffdc439e49623178e81b9535904de0030.tar.gz
android_packages_apps_Camera2-84a379fffdc439e49623178e81b9535904de0030.tar.bz2
android_packages_apps_Camera2-84a379fffdc439e49623178e81b9535904de0030.zip
am d927492a: Handling the GcamService timeout due to application in paused state (camera-Haleakala)
* commit 'd927492ade2e253ccc620effd5602582eaa6dd2d': Handling the GcamService timeout due to application in paused state (camera-Haleakala)
-rw-r--r--src/com/android/camera/CaptureModule.java14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/com/android/camera/CaptureModule.java b/src/com/android/camera/CaptureModule.java
index 1a0d33d9d..afc4a1492 100644
--- a/src/com/android/camera/CaptureModule.java
+++ b/src/com/android/camera/CaptureModule.java
@@ -1362,9 +1362,21 @@ public class CaptureModule extends CameraModule implements
@Override
public void onFailure() {
Log.e(TAG, "Could not open camera.");
+ // Sometimes the failure happens due to the controller
+ // being in paused state but mCamera is already
+ // initialized. In these cases we just need to close the
+ // camera device without showing the error dialog.
+ // Application will properly reopen the camera on the next
+ // resume operation (b/21025113).
+ boolean isControllerPaused = mAppController.isPaused();
+ if (mCamera != null) {
+ mCamera.close();
+ }
mCamera = null;
mCameraOpenCloseLock.release();
- mAppController.getFatalErrorHandler().onCameraOpenFailure();
+ if (!isControllerPaused) {
+ mAppController.getFatalErrorHandler().onCameraOpenFailure();
+ }
}
@Override