diff options
author | Zhijun He <zhijunhe@google.com> | 2013-09-25 10:05:59 -0700 |
---|---|---|
committer | Zhijun He <zhijunhe@google.com> | 2013-09-25 13:54:25 -0700 |
commit | 2001188be30649198972a3199a4322d6f7f5f93d (patch) | |
tree | f8a55ac2b29871615942c357442200abb6888b0c /core/java/android/hardware | |
parent | 6a1e32efb686bd5606f62076c70f399ff3bdc37d (diff) | |
download | frameworks_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.aidl | 3 | ||||
-rw-r--r-- | core/java/android/hardware/camera2/CameraManager.java | 13 |
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); } /** |