diff options
| author | 2022-09-02 17:11:45 +0000 | |
|---|---|---|
| committer | 2022-09-02 17:11:45 +0000 | |
| commit | e766e4e525583cfe6e76100141af019af5c6f14d (patch) | |
| tree | 8079f73f052e062620276da1127091596b2a4e28 | |
| parent | e53ffab69a3d0004fe178cb7d84c19ba79ddb698 (diff) | |
| parent | 0a9fbfe94c4722c11fc72c5a2bfc0373c00ec060 (diff) | |
Merge "Camera: Clarify doc for onPhysicalCameraUnavailable" into tm-qpr-dev am: 0a9fbfe94c
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19784829
Change-Id: I3c8f2c3162bf1bb68e4e7b9e2fb355e97e76fa6f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| -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> * |