diff options
| author | Garik Badalyan <garikb@codeaurora.org> | 2014-01-03 13:45:56 -0800 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2014-02-02 16:35:03 -0800 |
| commit | 8ac17d846c30078db3ad8514c7761ead1b76ca9d (patch) | |
| tree | 5945784975321cf529665c9707c4daa5f673df91 /src | |
| parent | 3d28ee33ba2afe50d6e0ef3b35676c77590ffc5f (diff) | |
| download | packages_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.java | 6 | ||||
| -rw-r--r-- | src/com/android/incallui/ImsCamera.java | 26 |
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() { |
