summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAngus Kong <shkong@google.com>2013-06-25 11:12:16 -0700
committerAngus Kong <shkong@google.com>2013-06-25 11:12:16 -0700
commita346e5d7c9caa9a44431dcf1cfafe300768ab076 (patch)
tree5e86586f3b0baa93493420732b440dd9262dace3
parentb2f0ea99b6b388771e60b13bb8fd44faaa74ab43 (diff)
downloadandroid_packages_apps_Gallery2-a346e5d7c9caa9a44431dcf1cfafe300768ab076.tar.gz
android_packages_apps_Gallery2-a346e5d7c9caa9a44431dcf1cfafe300768ab076.tar.bz2
android_packages_apps_Gallery2-a346e5d7c9caa9a44431dcf1cfafe300768ab076.zip
Synchronize camera access in start preview thread.
Change-Id: Iba953fea3bd17ecb085d75fb3b2e350c0bf5d3b1
-rw-r--r--src/com/android/camera/VideoModule.java14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/com/android/camera/VideoModule.java b/src/com/android/camera/VideoModule.java
index 839037fc0..0daa67246 100644
--- a/src/com/android/camera/VideoModule.java
+++ b/src/com/android/camera/VideoModule.java
@@ -394,12 +394,6 @@ public class VideoModule implements CameraModule,
readVideoPreferences();
mUI.setPrefChangedListener(this);
- new Thread(new Runnable() {
- @Override
- public void run() {
- startPreview();
- }
- }).start();
mQuickCapture = mActivity.getIntent().getBooleanExtra(EXTRA_QUICK_CAPTURE, false);
mLocationManager = new LocationManager(mActivity, null);
@@ -761,7 +755,11 @@ public class VideoModule implements CameraModule,
new Thread(new Runnable() {
@Override
public void run() {
- startPreview();
+ synchronized (mCameraOpened) {
+ if (mCameraOpened) {
+ startPreview();
+ }
+ }
}
}).start();
} else {
@@ -931,8 +929,8 @@ public class VideoModule implements CameraModule,
CameraHolder.instance().release();
}
mCameraOpened = false;
+ mCameraDevice = null;
}
- mCameraDevice = null;
mPreviewing = false;
mSnapshotInProgress = false;
}