commit | 77b2f96affab647dfba14976af6a4799ce4a7483 | [log] [tgz] |
---|---|---|
author | Xi Zhang <xizh@google.com> | Mon May 04 15:29:38 2020 -0700 |
committer | Xi Zhang <xizh@google.com> | Mon May 04 15:39:14 2020 -0700 |
tree | cfb315a1e8bf0f8ac6baa390c23420792de6b63a | |
parent | 71f5fc1bd18b964446890401a42b1a30162772ed [diff] |
Bugfix: do not perform click in CameraView if use cases are not bound. Root cause: user click-to-focus before Preview is ready. Fix: no-op if use cases are not bound. Bug: 155028301 Test: manual test and ./gradlew bOS Change-Id: I9032fdcc540aaabe2ba3a09b81cd096976b01758
diff --git a/camera/camera-view/src/main/java/androidx/camera/view/CameraView.java b/camera/camera-view/src/main/java/androidx/camera/view/CameraView.java index 4b2853c..4059cc1 100644 --- a/camera/camera-view/src/main/java/androidx/camera/view/CameraView.java +++ b/camera/camera-view/src/main/java/androidx/camera/view/CameraView.java
@@ -546,7 +546,8 @@ mDownEventTimestamp = System.currentTimeMillis(); break; case MotionEvent.ACTION_UP: - if (delta() < ViewConfiguration.getLongPressTimeout()) { + if (delta() < ViewConfiguration.getLongPressTimeout() + && mCameraModule.isBoundToLifecycle()) { mUpEvent = event; performClick(); }
diff --git a/camera/camera-view/src/main/java/androidx/camera/view/CameraXModule.java b/camera/camera-view/src/main/java/androidx/camera/view/CameraXModule.java index 69191ed..1fb7252 100644 --- a/camera/camera-view/src/main/java/androidx/camera/view/CameraXModule.java +++ b/camera/camera-view/src/main/java/androidx/camera/view/CameraXModule.java
@@ -456,6 +456,10 @@ } } + boolean isBoundToLifecycle() { + return mCamera != null; + } + int getRelativeCameraOrientation(boolean compensateForMirroring) { int rotationDegrees = 0; if (mCamera != null) {