summaryrefslogtreecommitdiffstats
path: root/core/jni/android_hardware_Camera.cpp
diff options
context:
space:
mode:
authorEino-Ville Talvala <etalvala@google.com>2013-02-15 18:30:15 -0800
committerEino-Ville Talvala <etalvala@google.com>2013-02-25 09:27:42 -0800
commit788717ca599c714d58b2cb5deea1d37b4a711c07 (patch)
tree6e13d87e3e3ac8ee9543715536fbe2d74a737e47 /core/jni/android_hardware_Camera.cpp
parentff4fcdb98c9575642c48f1daeafff4b257769e81 (diff)
downloadframeworks_base-788717ca599c714d58b2cb5deea1d37b4a711c07.zip
frameworks_base-788717ca599c714d58b2cb5deea1d37b4a711c07.tar.gz
frameworks_base-788717ca599c714d58b2cb5deea1d37b4a711c07.tar.bz2
Camera and MediaRecorder: Support AppOps
- Allow media processes to update AppOps state - Pass package name to media services Bug: 8181262 Change-Id: I115d39f0b306cb9eb7cd3d3e663c680b7322fd3f
Diffstat (limited to 'core/jni/android_hardware_Camera.cpp')
-rw-r--r--core/jni/android_hardware_Camera.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/core/jni/android_hardware_Camera.cpp b/core/jni/android_hardware_Camera.cpp
index c0e12da..362d9a4 100644
--- a/core/jni/android_hardware_Camera.cpp
+++ b/core/jni/android_hardware_Camera.cpp
@@ -465,9 +465,16 @@ static void android_hardware_Camera_getCameraInfo(JNIEnv *env, jobject thiz,
// connect to camera service
static void android_hardware_Camera_native_setup(JNIEnv *env, jobject thiz,
- jobject weak_this, jint cameraId)
+ jobject weak_this, jint cameraId, jstring clientPackageName)
{
- sp<Camera> camera = Camera::connect(cameraId);
+ // Convert jstring to String16
+ const char16_t *rawClientName = env->GetStringChars(clientPackageName, NULL);
+ jsize rawClientNameLen = env->GetStringLength(clientPackageName);
+ String16 clientName(rawClientName, rawClientNameLen);
+ env->ReleaseStringChars(clientPackageName, rawClientName);
+
+ sp<Camera> camera = Camera::connect(cameraId, clientName,
+ Camera::USE_CALLING_UID);
if (camera == NULL) {
jniThrowRuntimeException(env, "Fail to connect to camera service");
@@ -859,7 +866,7 @@ static JNINativeMethod camMethods[] = {
"(ILandroid/hardware/Camera$CameraInfo;)V",
(void*)android_hardware_Camera_getCameraInfo },
{ "native_setup",
- "(Ljava/lang/Object;I)V",
+ "(Ljava/lang/Object;ILjava/lang/String;)V",
(void*)android_hardware_Camera_native_setup },
{ "native_release",
"()V",