summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGarik Badalyan <garikb@codeaurora.org>2014-01-03 13:45:56 -0800
committerGerrit - the friendly Code Review server <code-review@localhost>2014-02-02 16:35:03 -0800
commit8ac17d846c30078db3ad8514c7761ead1b76ca9d (patch)
tree5945784975321cf529665c9707c4daa5f673df91 /src
parent3d28ee33ba2afe50d6e0ef3b35676c77590ffc5f (diff)
downloadpackages_apps_InCallUI-8ac17d846c30078db3ad8514c7761ead1b76ca9d.tar.gz
packages_apps_InCallUI-8ac17d846c30078db3ad8514c7761ead1b76ca9d.tar.bz2
packages_apps_InCallUI-8ac17d846c30078db3ad8514c7761ead1b76ca9d.zip
IMS-VT: Pass package name to lib-imscamera.so library.
IMS Camera interface requires its clients to explicitly pass package name to open the camera. Pass package name to lib-imscamera.so library when open the camera. Change-Id: I55143d310012b961ac1616403abb7df5f2f4b9ab CRs-Fixed: 588960
Diffstat (limited to 'src')
-rw-r--r--src/com/android/incallui/CameraHandler.java6
-rw-r--r--src/com/android/incallui/ImsCamera.java26
2 files changed, 26 insertions, 6 deletions
diff --git a/src/com/android/incallui/CameraHandler.java b/src/com/android/incallui/CameraHandler.java
index 7c0a063e..b8414c1e 100644
--- a/src/com/android/incallui/CameraHandler.java
+++ b/src/com/android/incallui/CameraHandler.java
@@ -58,6 +58,7 @@ public class CameraHandler {
private CameraInfo[] mInfo;
private CameraState mCameraState = CameraState.CAMERA_CLOSED;
private Context mContext;
+ private String mPackageName;
// Use a singleton.
private static CameraHandler mInstance;
@@ -94,7 +95,10 @@ public class CameraHandler {
private CameraHandler(Context context) {
mContext = context;
mNumberOfCameras = android.hardware.Camera.getNumberOfCameras();
+ mPackageName = context.getPackageName();
+
log("Number of cameras supported is: " + mNumberOfCameras);
+ log("Package name: " + mPackageName);
mInfo = new CameraInfo[mNumberOfCameras];
for (int i = 0; i < mNumberOfCameras; i++) {
mInfo[i] = new CameraInfo();
@@ -151,7 +155,7 @@ public class CameraHandler {
if (mCameraDevice == null) {
try {
if (DBG) log("opening camera " + cameraId);
- mCameraDevice = ImsCamera.open(cameraId);
+ mCameraDevice = ImsCamera.open(cameraId, mPackageName);
mCameraId = cameraId;
} catch (Exception e) {
loge("fail to connect Camera" + e);
diff --git a/src/com/android/incallui/ImsCamera.java b/src/com/android/incallui/ImsCamera.java
index de8d9ee3..603f6734 100644
--- a/src/com/android/incallui/ImsCamera.java
+++ b/src/com/android/incallui/ImsCamera.java
@@ -47,8 +47,11 @@ public class ImsCamera {
System.loadLibrary("imscamera_jni");
}
+ // @deprecated Use overloaded variant and explicitly pass the package name.
public static native short native_open(int cameraId);
+ public static native short native_open(int cameraId, String packageName);
+
public native short native_release();
public native short native_startPreview();
@@ -73,15 +76,28 @@ public class ImsCamera {
public native short native_setPreviewFpsRange(short fps);
+ // @deprecated Use overloaded variant and explicitly pass the package name.
public static ImsCamera open(int cameraId) throws Exception {
Log.d(TAG, "open cameraId=" + cameraId);
- short error = native_open(cameraId);
- if (error != IMS_CAMERA_OPERATION_SUCCESS) {
- Log.e(TAG, "open cameraId=" + cameraId + " failed with error=" + error);
- throw new Exception();
- } else {
+ return openImpl(cameraId, null);
+ }
+
+ public static ImsCamera open(int cameraId, String packageName) throws Exception {
+ Log.d(TAG, "open cameraId=" + cameraId);
+ if (packageName == null) throw new IllegalArgumentException();
+ return openImpl(cameraId, packageName);
+ }
+
+ private static ImsCamera openImpl(int cameraId, String packageName) throws Exception {
+ final short error =
+ packageName == null ? native_open(cameraId) : native_open(cameraId, packageName);
+ if (error == IMS_CAMERA_OPERATION_SUCCESS) {
return new ImsCamera();
}
+
+ Log.e(TAG, "open cameraId=" + cameraId + " packageName=" + packageName
+ + " failed with error=" + error);
+ throw new Exception("Failed to open ImsCamera");
}
public short release() {