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) {