diff options
author | Xin Li <delphij@google.com> | 2023-10-05 15:41:12 -0700 |
---|---|---|
committer | Xin Li <delphij@google.com> | 2023-10-05 15:41:12 -0700 |
commit | 5d241fcb2e86a6a36ba1906894064550e45a0e80 (patch) | |
tree | d9fcf894623a722156bf9425ec22399dea661f53 /src/com/android/camera/one/v2/Camera2OneCameraManagerImpl.java | |
parent | a525a15cda3bdf56e443bfabfa17db88346abd35 (diff) | |
parent | 84671535a80b9e539bce8b2f84021f1da2dafa2d (diff) | |
download | Camera2-5d241fcb2e86a6a36ba1906894064550e45a0e80.tar.gz |
Merge Android 14
Bug: 298295554
Merged-In: I7263ccf3eadc6521a30c12fe90034e5e05b8dbad
Change-Id: I241ec2a64d9fe30ba880bd42c15c04dd3b090a54
Diffstat (limited to 'src/com/android/camera/one/v2/Camera2OneCameraManagerImpl.java')
-rw-r--r-- | src/com/android/camera/one/v2/Camera2OneCameraManagerImpl.java | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/com/android/camera/one/v2/Camera2OneCameraManagerImpl.java b/src/com/android/camera/one/v2/Camera2OneCameraManagerImpl.java index d1e0b5b8d..be5ddc93c 100644 --- a/src/com/android/camera/one/v2/Camera2OneCameraManagerImpl.java +++ b/src/com/android/camera/one/v2/Camera2OneCameraManagerImpl.java @@ -22,6 +22,7 @@ import android.hardware.camera2.CameraAccessException; import android.hardware.camera2.CameraCharacteristics; import android.hardware.camera2.CameraManager; import android.os.Build.VERSION_CODES; +import android.os.Handler; import com.android.camera.debug.Log; import com.android.camera.debug.Log.Tag; @@ -42,7 +43,8 @@ import javax.annotation.Nonnull; * Pick camera ids from a list of devices based on defined characteristics. */ @TargetApi(VERSION_CODES.LOLLIPOP) -public class Camera2OneCameraManagerImpl implements OneCameraManager { +public class Camera2OneCameraManagerImpl extends CameraManager.AvailabilityCallback + implements OneCameraManager { private static final Tag TAG = new Tag("Camera2OneCamMgr"); /** * Create a new camera2 api hardware manager. @@ -65,6 +67,7 @@ public class Camera2OneCameraManagerImpl implements OneCameraManager { private final CameraManager mCameraManager; private Hashtable<Facing, String> mCameraFacingCache = new Hashtable<Facing, String>(); + private AvailabilityCallback mAvailabilityCallback; public Camera2OneCameraManagerImpl(CameraManager cameraManger) { mCameraManager = cameraManger; @@ -122,6 +125,12 @@ public class Camera2OneCameraManagerImpl implements OneCameraManager { return new OneCameraCharacteristicsImpl(getCameraCharacteristics(key)); } + @Override + public void setAvailabilityCallback(AvailabilityCallback callback, Handler handler) { + mAvailabilityCallback = callback; + mCameraManager.registerAvailabilityCallback(this, handler); + } + public CameraCharacteristics getCameraCharacteristics( @Nonnull CameraId key) throws OneCameraAccessException { @@ -132,6 +141,13 @@ public class Camera2OneCameraManagerImpl implements OneCameraManager { } } + @Override + public void onCameraAccessPrioritiesChanged() { + if (mAvailabilityCallback != null) { + mAvailabilityCallback.onCameraAccessPrioritiesChanged(); + } + } + /** Returns the ID of the first camera facing the given direction. */ private String findCameraId(Facing facing) { String id = mCameraFacingCache.get(facing); |