Lines Matching defs:env

47     static String8 getStringValue(JNIEnv* env, jobject object, const char* fieldName);
50 JNIEnv* env, jobject object, const char* fieldName, int* dataLength);
53 JNIEnv* env, jbyteArray byteArray, int* dataLength);
55 static String8 getStringValue(JNIEnv* env, jstring string);
57 static int getIntValue(JNIEnv* env, jobject object, const char* fieldName);
60 String8 Utility::getStringValue(JNIEnv* env, jobject object, const char* fieldName) {
63 = env->GetFieldID(env->GetObjectClass(object), fieldName , "Ljava/lang/String;");
66 jstring valueString = (jstring) env->GetObjectField(object, fieldID);
67 return Utility::getStringValue(env, valueString);
74 String8 Utility::getStringValue(JNIEnv* env, jstring string) {
77 if (NULL != string && string != env->NewStringUTF("")) {
78 char* bytes = const_cast< char* > (env->GetStringUTFChars(string, NULL));
85 env->ReleaseStringUTFChars(string, bytes);
92 JNIEnv* env, jobject object, const char* fieldName, int* dataLength) {
96 jfieldID fieldID = env->GetFieldID(env->GetObjectClass(object), fieldName , "[B");
99 jbyteArray byteArray = (jbyteArray) env->GetObjectField(object, fieldID);
100 return Utility::getByteArrayValue(env, byteArray, dataLength);
105 char* Utility::getByteArrayValue(JNIEnv* env, jbyteArray byteArray, int* dataLength) {
108 jint length = env->GetArrayLength(byteArray);
113 env->GetByteArrayRegion(byteArray, (jint)0, length, (jbyte *) data);
119 int Utility::getIntValue(JNIEnv* env, jobject object, const char* fieldName) {
124 jclass clazz = env->GetObjectClass(object);
126 fieldID = env->GetFieldID(clazz, fieldName , "I");
129 intValue = (int) env->GetIntField(object, fieldID);
137 JNIOnInfoListener(JNIEnv* env, jobject thiz, jobject weak_thiz);
148 JNIOnInfoListener::JNIOnInfoListener(JNIEnv* env, jobject thiz, jobject weak_thiz) {
149 jclass clazz = env->GetObjectClass(thiz);
153 jniThrowException(env, "java/lang/Exception", NULL);
156 mClass = (jclass)env->NewGlobalRef(clazz);
157 mObject = env->NewGlobalRef(weak_thiz);
161 JNIEnv *env = AndroidRuntime::getJNIEnv();
162 env->DeleteGlobalRef(mObject);
163 env->DeleteGlobalRef(mClass);
169 JNIEnv *env = AndroidRuntime::getJNIEnv();
170 jstring message = env->NewStringUTF(event.getMessage().string());
173 env->CallStaticVoidMethod(
175 env->GetStaticMethodID(mClass, "notify", "(Ljava/lang/Object;IILjava/lang/String;)V"),
182 JNIEnv* env, jobject thiz, const sp<DrmManagerClientImpl>& client) {
184 jclass clazz = env->FindClass("android/drm/DrmManagerClient");
185 jfieldID fieldId = env->GetFieldID(clazz, "mNativeContext", "J");
187 jlong oldHandle = env->GetLongField(thiz, fieldId);
195 env->SetLongField(thiz, fieldId, reinterpret_cast<jlong>(client.get()));
199 static sp<DrmManagerClientImpl> getDrmManagerClientImpl(JNIEnv* env, jobject thiz) {
201 jclass clazz = env->FindClass("android/drm/DrmManagerClient");
202 jfieldID fieldId = env->GetFieldID(clazz, "mNativeContext", "J");
204 jlong clientHandle = env->GetLongField(thiz, fieldId);
210 JNIEnv* env, jobject thiz) {
217 setDrmManagerClientImpl(env, thiz, drmManager);
223 JNIEnv* env, jobject thiz, jint uniqueId, jobject weak_thiz) {
227 sp<DrmManagerClient::OnInfoListener> listener = new JNIOnInfoListener(env, thiz, weak_thiz);
228 getDrmManagerClientImpl(env, thiz)->setOnInfoListener(uniqueId, listener);
234 JNIEnv* env, jobject thiz, jint uniqueId) {
236 getDrmManagerClientImpl(env, thiz)->remove(uniqueId);
237 getDrmManagerClientImpl(env, thiz)->setOnInfoListener(uniqueId, NULL);
239 sp<DrmManagerClientImpl> oldClient = setDrmManagerClientImpl(env, thiz, NULL);
248 JNIEnv* env, jobject thiz, jint uniqueId, jstring jpath, jint usage) {
251 const String8 pathString = Utility::getStringValue(env, jpath);
253 = getDrmManagerClientImpl(env, thiz)->getConstraints(uniqueId, &pathString, usage);
255 jclass localRef = env->FindClass("android/content/ContentValues");
257 env->GetMethodID(localRef, "put", "(Ljava/lang/String;[B)V");
259 env->GetMethodID(localRef, "put", "(Ljava/lang/String;Ljava/lang/String;)V");
260 jmethodID ContentValues_constructor = env->GetMethodID(localRef, "<init>", "()V");
265 constraints = env->NewObject(localRef, ContentValues_constructor);
275 ScopedLocalRef<jbyteArray> dataArray(env, env->NewByteArray(strlen(value)));
276 ScopedLocalRef<jstring> keyString(env, env->NewStringUTF(key.string()));
277 env->SetByteArrayRegion(dataArray.get(), 0, strlen(value), (jbyte*)value);
278 env->CallVoidMethod(constraints, ContentValues_putByteArray,
283 ScopedLocalRef<jstring> keyString(env, env->NewStringUTF(key.string()));
284 ScopedLocalRef<jstring> valueString(env, env->NewStringUTF(value.string()));
285 env->CallVoidMethod(constraints, ContentValues_putString,
297 JNIEnv* env, jobject thiz, jint uniqueId, jstring jpath) {
299 const String8 pathString = Utility::getStringValue(env, jpath);
301 getDrmManagerClientImpl(env, thiz)->getMetadata(uniqueId, &pathString);
305 jclass localRef = env->FindClass("android/content/ContentValues");
307 env->GetMethodID(localRef, "put", "(Ljava/lang/String;Ljava/lang/String;)V");
312 constructorId = env->GetMethodID(localRef, "<init>", "()V");
315 metadata = env->NewObject(localRef, constructorId);
323 ScopedLocalRef<jstring> keyString(env, env->NewStringUTF(key.string()));
324 ScopedLocalRef<jstring> valueString(env, env->NewStringUTF(value.string()));
325 env->CallVoidMethod(metadata, ContentValues_putString,
337 JNIEnv* env, jobject thiz, jint uniqueId) {
342 getDrmManagerClientImpl(env, thiz)->getAllSupportInfo(uniqueId, &length, &drmSupportInfoArray);
344 jclass clazz = env->FindClass("android/drm/DrmSupportInfo");
346 jobjectArray array = (jobjectArray)env->NewObjectArray(length, clazz, NULL);
351 jobject drmSupportInfo = env->NewObject(clazz, env->GetMethodID(clazz, "<init>", "()V"));
354 = env->GetMethodID(clazz, "addMimeType", "(Ljava/lang/String;)V");
356 = env->GetMethodID(clazz, "addFileSuffix", "(Ljava/lang/String;)V");
358 env->CallVoidMethod(
359 drmSupportInfo, env->GetMethodID(clazz, "setDescription", "(Ljava/lang/String;)V"),
360 env->NewStringUTF(info.getDescription().string()));
365 env->CallVoidMethod(drmSupportInfo, addMimeTypeId, env->NewStringUTF(value.string()));
371 env->CallVoidMethod(
372 drmSupportInfo, addFileSuffixId, env->NewStringUTF(value.string()));
375 env->SetObjectArrayElement(array, i, drmSupportInfo);
384 JNIEnv* /* env */, jobject /* thiz */, jint /* uniqueId */,
387 //getDrmManagerClient(env, thiz)
388 // ->installDrmEngine(uniqueId, Utility::getStringValue(env, engineFilePath));
393 JNIEnv* env, jobject thiz, jint uniqueId,
398 char* mData = Utility::getByteArrayValue(env, drmRights, "mData", &dataLength);
402 Utility::getStringValue(env, drmRights, "mMimeType"),
403 Utility::getStringValue(env, drmRights, "mAccountId"),
404 Utility::getStringValue(env, drmRights, "mSubscriptionId"));
405 result = getDrmManagerClientImpl(env, thiz)
406 ->saveRights(uniqueId, rights, Utility::getStringValue(env, rightsPath),
407 Utility::getStringValue(env, contentPath));
416 JNIEnv* env, jobject thiz, jint uniqueId, jstring path, jstring mimeType) {
419 = getDrmManagerClientImpl(env, thiz)
420 ->canHandle(uniqueId, Utility::getStringValue(env, path),
421 Utility::getStringValue(env, mimeType));
427 JNIEnv* env, jobject thiz, jint uniqueId, jobject drmInfoObject) {
430 const String8 mMimeType = Utility::getStringValue(env, drmInfoObject, "mMimeType");
431 char* mData = Utility::getByteArrayValue(env, drmInfoObject, "mData", &dataLength);
432 int mInfoType = Utility::getIntValue(env, drmInfoObject, "mInfoType");
437 jclass clazz = env->FindClass("android/drm/DrmInfo");
438 jmethodID DrmInfo_get = env->GetMethodID(clazz, "get", "(Ljava/lang/String;)Ljava/lang/Object;");
440 = env->CallObjectMethod(drmInfoObject,
441 env->GetMethodID(clazz, "keyIterator", "()Ljava/util/Iterator;"));
443 jclass Iterator_class = env->FindClass("java/util/Iterator");
444 jmethodID Iterator_hasNext = env->GetMethodID(Iterator_class, "hasNext", "()Z");
445 jmethodID Iterator_next = env->GetMethodID(Iterator_class, "next", "()Ljava/lang/Object;");
447 jclass Object_class = env->FindClass("java/lang/Object");
448 jmethodID Object_toString = env->GetMethodID(Object_class, "toString", "()Ljava/lang/String;");
450 while (env->CallBooleanMethod(keyIterator, Iterator_hasNext)) {
451 ScopedLocalRef<jstring> key(env,
452 (jstring) env->CallObjectMethod(keyIterator, Iterator_next));
453 ScopedLocalRef<jobject> valueObject(env,
454 env->CallObjectMethod(drmInfoObject, DrmInfo_get, key.get()));
455 ScopedLocalRef<jstring> valString(env, NULL);
457 valString.reset((jstring) env->CallObjectMethod(valueObject.get(), Object_toString));
460 String8 keyString = Utility::getStringValue(env, key.get());
461 String8 valueString = Utility::getStringValue(env, valString.get());
468 = getDrmManagerClientImpl(env, thiz)->processDrmInfo(uniqueId, &drmInfo);
470 jclass localRef = env->FindClass("android/drm/DrmInfoStatus");
480 dataArray = env->NewByteArray(length);
481 env->SetByteArrayRegion(
487 jclass clazz = env->FindClass("android/drm/ProcessedData");
489 = env->GetMethodID(clazz, "<init>", "([BLjava/lang/String;Ljava/lang/String;)V");
490 jobject processedData = env->NewObject(clazz, constructorId, dataArray,
491 env->NewStringUTF((drmInfo.get(DrmInfoRequest::ACCOUNT_ID)).string()),
492 env->NewStringUTF((drmInfo.get(DrmInfoRequest::SUBSCRIPTION_ID)).string()));
495 = env->GetMethodID(localRef,
498 drmInfoStatus = env->NewObject(localRef, constructorId, statusCode, infoType,
499 processedData, env->NewStringUTF(pDrmInfoStatus->mimeType.string()));
510 JNIEnv* env, jobject thiz, jint uniqueId, jobject drmInfoRequest) {
512 const String8 mMimeType = Utility::getStringValue(env, drmInfoRequest, "mMimeType");
513 int mInfoType = Utility::getIntValue(env, drmInfoRequest, "mInfoType");
517 jclass clazz = env->FindClass("android/drm/DrmInfoRequest");
519 = env->CallObjectMethod(drmInfoRequest,
520 env->GetMethodID(clazz, "keyIterator", "()Ljava/util/Iterator;"));
521 jmethodID DrmInfoRequest_get = env->GetMethodID(clazz,
524 jclass Iterator_class = env->FindClass("java/util/Iterator");
525 jmethodID Iterator_hasNext = env->GetMethodID(Iterator_class, "hasNext", "()Z");
526 jmethodID Iterator_next = env->GetMethodID(Iterator_class, "next", "()Ljava/lang/Object;");
528 while (env->CallBooleanMethod(keyIterator, Iterator_hasNext)) {
529 ScopedLocalRef<jstring> key(env,
530 (jstring) env->CallObjectMethod(keyIterator, Iterator_next));
531 ScopedLocalRef<jstring> value(env,
532 (jstring) env->CallObjectMethod(drmInfoRequest, DrmInfoRequest_get, key.get()));
534 String8 keyString = Utility::getStringValue(env, key.get());
535 String8 valueString = Utility::getStringValue(env, value.get());
541 DrmInfo* pDrmInfo = getDrmManagerClientImpl(env, thiz)->acquireDrmInfo(uniqueId, &drmInfoReq);
546 jclass localRef = env->FindClass("android/drm/DrmInfo");
551 jbyteArray dataArray = env->NewByteArray(length);
552 env->SetByteArrayRegion(dataArray, 0, length, (jbyte*)pDrmInfo->getData().data);
555 = env->NewObject(localRef,
556 env->GetMethodID(localRef, "<init>", "(I[BLjava/lang/String;)V"),
557 mInfoType, dataArray, env->NewStringUTF(pDrmInfo->getMimeType().string()));
561 = env->GetMethodID(localRef, "put", "(Ljava/lang/String;Ljava/lang/Object;)V");
566 ScopedLocalRef<jstring> keyString(env, env->NewStringUTF(key.string()));
567 ScopedLocalRef<jstring> valueString(env, env->NewStringUTF(value.string()));
568 env->CallVoidMethod(drmInfoObject, putMethodId,
582 JNIEnv* env, jobject thiz, jint uniqueId, jstring path, jstring mimeType) {
585 = getDrmManagerClientImpl(env, thiz)
586 ->getDrmObjectType(uniqueId, Utility::getStringValue(env, path),
587 Utility::getStringValue(env, mimeType));
593 JNIEnv* env, jobject thiz, jint uniqueId, jstring path, jobject fileDescriptor) {
598 : jniGetFDFromFileDescriptor(env, fileDescriptor);
601 = getDrmManagerClientImpl(env, thiz)
603 Utility::getStringValue(env, path), fd);
605 return env->NewStringUTF(mimeType.string());
609 JNIEnv* env, jobject thiz, jint uniqueId, jstring path, int action) {
612 = getDrmManagerClientImpl(env, thiz)
613 ->checkRightsStatus(uniqueId, Utility::getStringValue(env, path), action);
619 JNIEnv* env, jobject thiz, jint uniqueId, jstring path) {
621 return static_cast<jint>(getDrmManagerClientImpl(env, thiz)
622 ->removeRights(uniqueId, Utility::getStringValue(env, path)));
626 JNIEnv* env, jobject thiz, jint uniqueId) {
628 return static_cast<jint>(getDrmManagerClientImpl(env, thiz)
633 JNIEnv* env, jobject thiz, jint uniqueId, jstring mimeType) {
636 = getDrmManagerClientImpl(env, thiz)
637 ->openConvertSession(uniqueId, Utility::getStringValue(env, mimeType));
642 static jobject GetConvertedStatus(JNIEnv* env, DrmConvertedStatus* pDrmConvertedStatus) {
644 jclass localRef = env->FindClass("android/drm/DrmConvertedStatus");
654 dataArray = env->NewByteArray(length);
655 env->SetByteArrayRegion(
661 jmethodID constructorId = env->GetMethodID(localRef, "<init>", "(I[BI)V");
663 = env->NewObject(localRef, constructorId,
674 JNIEnv* env, jobject thiz, jint uniqueId, jint convertId, jbyteArray inputData) {
678 char* mData = Utility::getByteArrayValue(env, inputData, &dataLength);
682 = getDrmManagerClientImpl(env, thiz)->convertData(uniqueId, convertId, &buffer);
683 jobject status = GetConvertedStatus(env, pDrmConvertedStatus);
693 JNIEnv* env, jobject thiz, jint uniqueId, jint convertId) {
698 = getDrmManagerClientImpl(env, thiz)->closeConvertSession(uniqueId, convertId);
699 jobject status = GetConvertedStatus(env, pDrmConvertedStatus);
765 static int registerNativeMethods(JNIEnv* env) {
769 jclass clazz = env->FindClass("android/drm/DrmManagerClient");
772 if (env->RegisterNatives(clazz, nativeMethods, sizeof(nativeMethods)
781 JNIEnv* env = NULL;
784 if (vm->GetEnv((void**) &env, JNI_VERSION_1_4) == JNI_OK) {
785 if (NULL != env && registerNativeMethods(env) == 0) {