summaryrefslogtreecommitdiffstats
path: root/core/java/android/hardware
diff options
context:
space:
mode:
authorZhijun He <zhijunhe@google.com>2013-09-25 10:05:59 -0700
committerZhijun He <zhijunhe@google.com>2013-09-25 13:54:25 -0700
commit2001188be30649198972a3199a4322d6f7f5f93d (patch)
treef8a55ac2b29871615942c357442200abb6888b0c /core/java/android/hardware
parent6a1e32efb686bd5606f62076c70f399ff3bdc37d (diff)
downloadframeworks_base-2001188be30649198972a3199a4322d6f7f5f93d.zip
frameworks_base-2001188be30649198972a3199a4322d6f7f5f93d.tar.gz
frameworks_base-2001188be30649198972a3199a4322d6f7f5f93d.tar.bz2
Camera2: Implement CameraManager#getCameraCharacteristics
Bug: 10904541 Bug: 10360518 Change-Id: I1da0b0319703fda46789f15a232e56ed1d928bc3
Diffstat (limited to 'core/java/android/hardware')
-rw-r--r--core/java/android/hardware/ICameraService.aidl3
-rw-r--r--core/java/android/hardware/camera2/CameraManager.java13
2 files changed, 13 insertions, 3 deletions
diff --git a/core/java/android/hardware/ICameraService.aidl b/core/java/android/hardware/ICameraService.aidl
index fc54828..542af6a 100644
--- a/core/java/android/hardware/ICameraService.aidl
+++ b/core/java/android/hardware/ICameraService.aidl
@@ -22,6 +22,7 @@ import android.hardware.IProCameraUser;
import android.hardware.IProCameraCallbacks;
import android.hardware.camera2.ICameraDeviceUser;
import android.hardware.camera2.ICameraDeviceCallbacks;
+import android.hardware.camera2.impl.CameraMetadataNative;
import android.hardware.camera2.utils.BinderHolder;
import android.hardware.ICameraServiceListener;
import android.hardware.CameraInfo;
@@ -58,4 +59,6 @@ interface ICameraService
int addListener(ICameraServiceListener listener);
int removeListener(ICameraServiceListener listener);
+
+ int getCameraCharacteristics(int cameraId, out CameraMetadataNative info);
}
diff --git a/core/java/android/hardware/camera2/CameraManager.java b/core/java/android/hardware/camera2/CameraManager.java
index af0512e..798ad7b 100644
--- a/core/java/android/hardware/camera2/CameraManager.java
+++ b/core/java/android/hardware/camera2/CameraManager.java
@@ -176,10 +176,17 @@ public final class CameraManager {
}
}
- // TODO: implement and call a service function to get the capabilities on C++ side
+ CameraMetadataNative info = new CameraMetadataNative();
+ try {
+ mCameraService.getCameraCharacteristics(Integer.valueOf(cameraId), info);
+ } catch(CameraRuntimeException e) {
+ throw e.asChecked();
+ } catch(RemoteException e) {
+ // impossible
+ return null;
+ }
- // TODO: get properties from service
- return new CameraCharacteristics(new CameraMetadataNative());
+ return new CameraCharacteristics(info);
}
/**