diff options
Diffstat (limited to 'src/com/android/incallui/ImsCamera.java')
| -rw-r--r-- | src/com/android/incallui/ImsCamera.java | 26 |
1 files changed, 21 insertions, 5 deletions
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() { |
