diff options
| author | Shuzhen Wang <shuzhenwang@google.com> | 2022-08-30 13:29:01 -0700 |
|---|---|---|
| committer | Shuzhen Wang <shuzhenwang@google.com> | 2022-09-01 11:21:16 -0700 |
| commit | d216f25f6b0743e2ca5a4d138d8763fd60924358 (patch) | |
| tree | d3e17d7820bc5d5a741a4c43033517b8191a9678 /core/java/android | |
| parent | 16219f2ea4ca3e1164d6de44a8c3e6e7ec30c119 (diff) | |
Camera: Clarify doc for onPhysicalCameraUnavailable
Clarify that no physical camera availability callbacks will be called
if the parent logical camera becomes unavailable.
Test: Build doc
Bug: 243738805
Change-Id: I339b7cedf1df10f89aa6ead0c67ed9f2bda9ed0c
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/hardware/camera2/CameraManager.java | 37 |
1 files changed, 32 insertions, 5 deletions
diff --git a/core/java/android/hardware/camera2/CameraManager.java b/core/java/android/hardware/camera2/CameraManager.java index d6d3a97687b5..dff2f7ed1cf3 100644 --- a/core/java/android/hardware/camera2/CameraManager.java +++ b/core/java/android/hardware/camera2/CameraManager.java @@ -1204,6 +1204,20 @@ public final class CameraManager { * to begin with, {@link #onPhysicalCameraUnavailable} may be invoked after * {@link #onCameraAvailable}.</p> * + * <p>Limitation: Opening a logical camera disables the {@link #onPhysicalCameraAvailable} + * and {@link #onPhysicalCameraUnavailable} callbacks for its physical cameras. For example, + * if app A opens the camera device:</p> + * + * <ul> + * + * <li>All apps subscribing to ActivityCallback get {@link #onCameraUnavailable}.</li> + * + * <li>No app (including app A) subscribing to ActivityCallback gets + * {@link #onPhysicalCameraAvailable} or {@link #onPhysicalCameraUnavailable}, because + * the logical camera is unavailable (some app is using it).</li> + * + * </ul> + * * <p>The default implementation of this method does nothing.</p> * * @param cameraId The unique identifier of the logical multi-camera. @@ -1221,11 +1235,24 @@ public final class CameraManager { * A previously-available physical camera has become unavailable for use. * * <p>By default, all of the physical cameras of a logical multi-camera are - * available, so {@link #onPhysicalCameraAvailable} is not called for any of the physical - * cameras of a logical multi-camera, when {@link #onCameraAvailable} for the logical - * multi-camera is invoked. If some specific physical cameras are unavailable - * to begin with, {@link #onPhysicalCameraUnavailable} may be invoked after - * {@link #onCameraAvailable}.</p> + * unavailable if the logical camera itself is unavailable. + * No availability callbacks will be called for any of the physical + * cameras of its parent logical multi-camera, when {@link #onCameraUnavailable} for + * the logical multi-camera is invoked.</p> + * + * <p>Limitation: Opening a logical camera disables the {@link #onPhysicalCameraAvailable} + * and {@link #onPhysicalCameraUnavailable} callbacks for its physical cameras. For example, + * if app A opens the camera device:</p> + * + * <ul> + * + * <li>All apps subscribing to ActivityCallback get {@link #onCameraUnavailable}.</li> + * + * <li>No app (including app A) subscribing to ActivityCallback gets + * {@link #onPhysicalCameraAvailable} or {@link #onPhysicalCameraUnavailable}, because + * the logical camera is unavailable (some app is using it).</li> + * + * </ul> * * <p>The default implementation of this method does nothing.</p> * |
