summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSpike Sprague <spikuru@google.com>2014-09-18 19:44:07 -0700
committerThe Android Automerger <android-build@google.com>2014-09-19 08:17:05 -0700
commitbdba0dc07cc6a0a0ba08aeb5903b7b00b6cfc1ef (patch)
treeb5c74d7bfd3130de40fd2a042cd4cf35a756247c
parentd74c99e0936fe71cd657a9ce114bb5d1e5b3fcae (diff)
downloadandroid_packages_apps_Camera2-bdba0dc07cc6a0a0ba08aeb5903b7b00b6cfc1ef.tar.gz
android_packages_apps_Camera2-bdba0dc07cc6a0a0ba08aeb5903b7b00b6cfc1ef.tar.bz2
android_packages_apps_Camera2-bdba0dc07cc6a0a0ba08aeb5903b7b00b6cfc1ef.zip
portability layer doesn't work well with startPreviewWithCallback()
here's a dirty dirty workaround. bug: 17576554 Change-Id: Ief40b65ce49712153f6ef604a3513348e493d4d9
-rw-r--r--src/com/android/camera/PhotoModule.java31
1 files changed, 20 insertions, 11 deletions
diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java
index cbaa01b99..ffa5601c8 100644
--- a/src/com/android/camera/PhotoModule.java
+++ b/src/com/android/camera/PhotoModule.java
@@ -1992,18 +1992,27 @@ public class PhotoModule
mCameraDevice.setPreviewTexture(mActivity.getCameraAppUI().getSurfaceTexture());
Log.i(TAG, "startPreview");
- mCameraDevice.startPreviewWithCallback(new Handler(Looper.getMainLooper()),
- new CameraAgent.CameraStartPreviewCallback() {
- @Override
- public void onPreviewStarted() {
- mFocusManager.onPreviewStarted();
- PhotoModule.this.onPreviewStarted();
- SessionStatsCollector.instance().previewActive(true);
- if (mSnapshotOnIdle) {
- mHandler.post(mDoSnapRunnable);
+ // If we're using API2 in portability layers, don't use startPreviewWithCallback()
+ // b/17576554
+ CameraAgent.CameraStartPreviewCallback startPreviewCallback =
+ new CameraAgent.CameraStartPreviewCallback() {
+ @Override
+ public void onPreviewStarted() {
+ mFocusManager.onPreviewStarted();
+ PhotoModule.this.onPreviewStarted();
+ SessionStatsCollector.instance().previewActive(true);
+ if (mSnapshotOnIdle) {
+ mHandler.post(mDoSnapRunnable);
+ }
}
- }
- });
+ };
+ if (GservicesHelper.useCamera2ApiThroughPortabilityLayer(mActivity)) {
+ mCameraDevice.startPreview();
+ startPreviewCallback.onPreviewStarted();
+ } else {
+ mCameraDevice.startPreviewWithCallback(new Handler(Looper.getMainLooper()),
+ startPreviewCallback);
+ }
} finally {
mStartPreviewLock = false;
}