summaryrefslogtreecommitdiff
path: root/src/com/android/camera/one/v2/Camera2OneCameraManagerImpl.java
diff options
context:
space:
mode:
authorXin Li <delphij@google.com>2023-10-05 15:41:12 -0700
committerXin Li <delphij@google.com>2023-10-05 15:41:12 -0700
commit5d241fcb2e86a6a36ba1906894064550e45a0e80 (patch)
treed9fcf894623a722156bf9425ec22399dea661f53 /src/com/android/camera/one/v2/Camera2OneCameraManagerImpl.java
parenta525a15cda3bdf56e443bfabfa17db88346abd35 (diff)
parent84671535a80b9e539bce8b2f84021f1da2dafa2d (diff)
downloadCamera2-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.java18
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);